KDEPrint Information
Presentation
Download a KPresenter presentation giving an overview of KDEPrint. This can also be viewed online in HTML format.
A quick overview: KDEPrint -- what it is
KDEPrint Description- Different Modules for Different Print Systems
- Flexible and Configurable
- Successor to KUPS and QtCUPS
- Special Printers
- Filtering your Print Data
- Using KDEPrint outside KDE
- Using KDEPrint in GNOME
KDEPrint Description
KDEPrint does not implement the basic functionality of a printing system itself. Rather it is an intermediate layer between KDE (or other) applications that want to print and the selected (and installed) print subsystem of your OS (operating system).
Although KDEPrint has added a few features of its own for your convenience, basically it is "only" the graphical frontend to your printer daemon's features. Depending on what you have installed as your printing system, you will get a very different set of features with KDEPrint.
Different Modules for Different Print Systems
It should be noted that both, the developer of KDEPrint, and the author of the KDEPrint documentation, are most familiar with CUPS as a printing system. At the present time, CUPS is the best supported printing subsystem, and it is the best documented one.
KDEPrint realizes its support for different print subsystems by a pluggable, modular software design. Therefore we will be able to support any printing system that might develop in the future by writing a KDEPrint module for its support.
Flexible and Configurable
KDEPrint is highly configurable and very flexible. On the first start it "discovers" if you are using CUPS on your system. If not, it offers its printing support through the default "Generic UNIX LPD System". If you have different print subsystems installed on your computer (beware, you can't have any combination of them together without some serious hacking!), you can switch from one to the other "on the fly" from the print dialog.
One print system that can be installed and used alongside with any other is RLPR. RLPR is based on the old Line Printer Daemon (LPD) printing protocol, but it it doesn't need to be run as root if you want to setup a printer. Also, it doesn't use a "printcap" file. It is possible to give all parameters the printing daemon needs from one commandline. Therefore you can easily use RLPR if you often change your network environments. Linux laptop users who need to print in changing conditions will certainly like the KDEPrint "Add Printer Wizard" to quickly install a new printer for RLPR.
Successor to KUPS and QtCUPS
Long standing KDE users are probably familiar with KUPS and QtCUPS, two GUI frontends for the use of CUPS from KDE. Those are gone. Oh, you did like them? You want to continue to use them? Fear not -- everything what was good about these two utilities was inherited by KDEPrint!
"kprinter" is the new KDE print dialog (successor to "qtcups"). It opens automatically if you select to print from any KDE application. But kprinter can also be used as a "print command" that runs "standalone". Thus you don't need to open The Gimp if you want to quickly print an image: just type "kprinter myimage.jpg" on the command line and then select printer and print options from the dialog box.
You're missing "kups" for configuration of your CUPS server or CUPS printers? The new "Printer Manager" is your friend. It is capable of everything kups did, and more. And it is not just for CUPS support inside KDE, but for all printing systems presently supported. You access it from the KDE control center tree: look for the item "System" and there for the entry "Printing Manager".
Special Printers
KDEPrint will always show a few "Special Printers" to you -- even if you never had any installed. These provide a comfortable way to do something with your files instead of printing them on dead flattened trees: save them to disk as PostScript or PDF, send them through KMail as a PDF-attachment or send them to a fax machine via an installed fax backend like Hylafax or efax.
Filtering your Print Data
KDEPrint contains a very useful and flexible filtering capability. This allows you to filter your print data (usually PostScript) before sending it to the printer. Each filter is based on an external program and for KDEPrint purpose is described in a pair of Desktop/XML files. You can easily create new filters to suit your own needs, by simply adding the needed pair of files. A more detailed introduction into these filters will be on this site sometime soon. (It is not yet written. Maybe this is something for *you* to contribute?)
This flexibility allows you to do various tasks on your print data: changing the page layout, converting to another format,... KDEPrint comes with a set of standard filters around common utilities like "psnup", "psselect", "enscript",... Do you know "Fine Print", a utility on this other Operating System? You want its functions in KDEPrint? The pre-installed KDEPrint "Pamphlet Printing" filters allow you to "impose" the pages of your job in a way that you can make pamphlets of it. It even works on a non-Duplex-machine: just feed the file through 2 parts of the filter and the paper to the printer twice, front- and backside. (Of course your printer needs to be able to digest this treatment.)
Using KDEPrint outside KDE
Running kprinter as a standalone utility allows you to use KDEPrint's capabilities from any program that provides an editable "print command". You'll know Netscape's print dialog: there usually you find the "lpr" inserted. Replace it by "kprinter" and you'll get all print options at your fingertips. The same works for Mozilla, StarOffice, Acrobat Reader, gv and many other programs.
You can use KDEPrint's power even inside GNOME to provide a decent printer control! And you will not be alone with this, if you try it...
Using KDEPrint in GNOME
KDEPrint is now the model to follow for a team of GNOME developers. They want to make a similar functionality work as a native GNOME application. They have asked us for cooperation and support. And of course we are happy to give all the help we can to them. As long as their work is not yet finished, they are all going to run "kprinter" as their print command.
There are even plans to create a common library for print usage, to be shared between GNOME and KDE applications. The technical challenge is high, and we are not sure if it works out in the end, but we'll try hard. At the very least, both sides will benefit from such a joint effort in that it is a great learning experience.
KDEPrint Components
Here we'll give you a short outline of the most important KDEPrint components. For more details see the KDEPrint Handbook.
Print Dialog
The print dialog is the first part of KDEPrint that a you will probably encounter and use. It has been designed to be as easy to use as possible: standard options (number of copies, page range, ...) are directly accessible; printer specific options are available through seperate powerful "Printer Properties" dialog. A part of the dialog is collapsable for easier "quick-print" purpose.
Print Manager
The print management is done through a KControl module in the "System" section. Currently, only the CUPS print system is well supported (we're looking for some help to support other systems). This module allows you to manage your print system easily by implementing standard management operations: add/remove a printer, configure an existing printer, configure the print server, manage print jobs,... The print manager also contains a powerful "Add Printer Wizard". The wizard makes adding a printer very simple (local printer detection, network scanning,...) through an easy-to-use graphical interface.
Job Viewer/Manager
KDEPrint provides a job viewer/manager that integrates nicely into the KDE environment. It is automatically started by any KDE application when starting to print, and docks itself into the KDE panel. When the printing has finished, it simply disappears automatically. This job viewer allows to perform standard operations on print jobs (depending on the module used, the CUPS module supports all of them): hold/release, cancel, move to another printer,...
Other Tools
KDEPrint provides some other useful tools. The first one is "kprinter", which is a lpr-like utility and can be used either on the command line or in other non-KDE programs like Netscape. This utility pops up a print dialog allowing the user to select the printer and various print options.
Another utility is "kdeprintfax". This is a graphical fax interface intended to replace the previous "ksendfax" utility. By combining this fax interface with the "Special Printers" mechanism of KDEPrint, you are allowed to fax directly your documents from any KDE application.
Integration into KDE Environment
The integration of KDEPrint into the KDE environment is a feature that has been available since KDE 3.0. It consists of various tools that integrate nicely KDEPrint into other KDE applications: Konqueror and Kicker (the KDE panel). The Konqueror integration allows you to browse your print system using HTML pages and a nice presentation. The Kicker integration allows you to quickly starts a job manager for a specific printer, as well as the Konqueror browser or the Print Manager. See screenshots section to get an impression of what it looks like.
[ Edit ]
KDEPrint Homepage