diff options
Diffstat (limited to 'doc/kdeprint/highlights.docbook')
-rw-r--r-- | doc/kdeprint/highlights.docbook | 518 |
1 files changed, 518 insertions, 0 deletions
diff --git a/doc/kdeprint/highlights.docbook b/doc/kdeprint/highlights.docbook new file mode 100644 index 000000000..85e0e348f --- /dev/null +++ b/doc/kdeprint/highlights.docbook @@ -0,0 +1,518 @@ +<chapter id="kdeprint-highlights"> +<title>&kdeprint;'s Highlights</title> + +<para>The new &kdeprint; system includes more than one highlight. +Having worked in an environment in the past that is not exactly +sophisticated, as far as printing is concerned, take a look at some of +the benefits that come with &kdeprint;</para> + +<sect1 id="add-printer-wizard"> +<title>The <quote>Add Printer</quote> Wizard</title> + +<para>&kdeprint; has an <quote>Add Printer Wizard</quote>. The Add +Printer Wizard helps you with adding and configuring a new printer. Of +course, you may do this manually as well.</para> + +<para>&kdeprint; helps you <quote>discover</quote> printers. It is able +to scan the environment for available devices and queues. This works for +network connections using <acronym>TCP</acronym> (AppSocket, +<acronym>aka</acronym> &HP; <trademark +class="registered">JetDirect</trademark>, or <acronym>IPP</acronym>) or +<acronym>SMB</acronym>/Samba (<quote>shared</quote> &Windows;) printers +and partially for directly attached printers over parallel, serial, or +<acronym>USB</acronym> connections.</para> + +<screenshot> +<screeninfo>A screenshot of the new <quote>Add Printer +Wizard</quote></screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="cupsaddprinterwizard1.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>Here's a screenshot of the <quote>Add Printer Wizard</quote> +(this one is not very exciting yet; but...)</phrase> +</textobject> +</mediaobject> +</screenshot> + +<para>The wizard makes the installation and handling of the drivers +<quote>a snap</quote>. Selecting, configuring and testing should be easy +as never before on any &Linux;-like system.</para> + +<!-- LW: needs some info where to find it, or a pointer to where in this --> +<!-- doc that is covered --> + +</sect1> + +<sect1 id="print-job-control"> +<title>Full Print Job Control</title> + +<para>The Print Job Viewer is automatically started by &kprinter;. It +may be docked into the &kde; panel (in the system tray). The Print Job +Viewer allows full job management, if supported by the print +subsystem.</para> + +<para>You can:</para> + +<itemizedlist> +<listitem> +<para>Hold and release jobs,</para> +</listitem> +<listitem> +<para>Move pending jobs to another printer,</para> +</listitem> +<listitem> +<para>Cancel pending or processing jobs.</para> +</listitem> +</itemizedlist> + +<para>A screenshot of the &kdeprint; PrintJob Viewer shows the information +you get: Job-ID, target printer, job name, job owner, job status and job +size. In the next &kdeprint; release you will also see information about the +number of pages (as &CUPS; calculates it; see chapter on page accounting +for more information about its merits and limitations).</para> + +<screenshot> +<screeninfo>A screenshot of the &kdeprint; PrintJob Viewer</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="kdeprint-jobviewer.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>Here's a screenshot of the &kdeprint; PrintJob Viewer.</phrase> +</textobject> +<caption><para>A screenshot of the &kdeprint; PrintJob +Viewer.</para></caption> +</mediaobject> +</screenshot> + +<para>An alternative way to looking at the same information (and having the +same amount of control is through the <inlinemediaobject><imageobject> +<imagedata fileref="kcontrol-icon.png" format="PNG"/></imageobject> +</inlinemediaobject> &kcontrolcenter; selecting +<menuchoice><guilabel>System</guilabel><guilabel>Printing +Manager</guilabel></menuchoice>. If you don't see the +<guilabel>Printer Information</guilabel>, +<mousebutton>right</mousebutton> click on the window +background and select <guilabel>View Printer +Information</guilabel>. Then go to the <guilabel>Jobs</guilabel> tab +to see this:</para> + +<screenshot> +<screeninfo></screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="kcontrolcenter-printmanager-jobcontrol-2.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>Here's a screenshot of the &kdeprint; PrintJob Viewer.</phrase> +</textobject> +</mediaobject> +</screenshot> + +</sect1> + +<sect1 id="modules-for-different-subsystems"> +<title>Modules for different print subsystems</title> + +<para>&kdeprint; uses different modules to realize the interface to the +possible print subsystems. Not all the modules are yet developed fully, +but you will have basic printing functionality with:</para> + +<itemizedlist> +<listitem> +<para><acronym>LPD</acronym> (<acronym>BSD</acronym> style)</para> +</listitem> +<listitem> +<para><acronym>LPRng</acronym> (&RedHat;, if you just use it's +<acronym>BSD</acronym> style subset),</para> +</listitem> +<listitem> +<para><acronym>RLPR</acronym> (a command-line <acronym>LPR</acronym> +utility, which doesn't need a <filename>printcap</filename> file.</para> +</listitem> +<listitem> +<para><quote>external</quote> print commands (&Netscape; like).</para> +</listitem> +</itemizedlist> + +<para>Most importantly, full support for &CUPS; is already there. +Modules for other print subsystems, such as <acronym>PLP</acronym>, +<acronym>PPR</acronym> and <acronym>PDQ</acronym> may be available +later.</para> + +<para>&kdeprint; makes &kde; much more flexible. It gives freedom of +choice to &kde; 2.2 users. To use different available print subsystems, +these must, of course, be installed independently from &kde;. In +former versions, users were stuck with the old <acronym>LPD</acronym> +style print subsystems. Now they can even use &CUPS;. In the future, +there will be easy integration of new subsystems, as they +appear on the scene.</para> + +</sect1> + +<sect1 id="kdeprint-goodies"> +<title>More &kdeprint; <quote>Goodies</quote></title> +<subtitle>Benefitting all Print SubSystems.</subtitle> + +<para>Some specific features of &kdeprint; depend on the chosen print +subsystem. This dependency might exist because those features are only +implemented there; remember, &kdeprint; is an intermediate layer between +&kde; applications, and the print subsystem, but it's no replacement for +any print subsystem by itself. Such dependency may exist for another +reason: that &kdeprint; has not yet implemented an interface to all the +features of all the subsystems.</para> + +<para>Other features include benefits from &kdeprint; that are +independent of the chosen print subsystem, and are available with all of +them. At present there are <quote>special</quote> or +<quote>virtual</quote> printers, and some generic +<quote>pre-filters</quote>.</para> + +<variablelist> +<varlistentry> +<term><guilabel>Print Preview</guilabel></term> +<listitem> +<para>From the Print Dialog, you can select to look at a preview. For +this, the print file is passed through filters which make it suitable for +displaying on screen using &kghostview;.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Special Printers</guilabel></term> +<listitem> +<para>Amongst these additional &kdeprint; features are a few +<quote>special</quote> or <quote>virtual</quote> printers:</para> + +<para>These special printers may:</para> + +<variablelist> +<varlistentry> +<term><guilabel>Print to PDF</guilabel></term> +<listitem> +<para>Convert your document into a <acronym>PDF</acronym> file with the +help of an external program.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Print to email</guilabel></term> +<listitem> +<para>Send your document as an email attached <acronym>PDF</acronym> +file.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Print to PS file</guilabel></term> +<listitem> +<para>Save your document as a &PostScript; file.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Print to Fax</guilabel></term> +<listitem> +<para>Send it through an available backend, such as +<application>Hylafax</application> as a fax.</para> +</listitem> +</varlistentry> + +</variablelist> + +<para>These <quote>special</quote> printers appear in the user print +dialog just like <quote>normal</quote> printers. They are entirely +configurable on a per-user basis.</para> + +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Generic Pre-Filtering</guilabel></term> +<listitem> +<para>&kdeprint; provides you with a framework to define and configure +your own <quote>pre-filters</quote>. These pre-filters may take effect +<emphasis>before</emphasis> they are passed to your print subsystem for +further processing, but <emphasis>after</emphasis> the (&PostScript;, +plain text or other) print files have been generated by your +application.</para> + +<para>There are a few useful filters already predefined. These +are:</para> + +<itemizedlist> +<listitem> +<para>The <quote>multiple pages per sheet</quote> filter,</para> +</listitem> + +<listitem> +<para>the <quote>enscript</quote> text filter,</para> +</listitem> + +<listitem> +<para>and three filters to help print pamphlets.</para> +</listitem> +</itemizedlist> + +<para>You may create your own filters based on any third party program +that is able to process &PostScript;, plain text or image files, and output +any one of those formats.</para> + +<para>These filters are configured through <acronym>XML</acronym> files. +This makes an extension of the concept very easy for experienced developers, +but end-user configuration is also done through an intuitive graphical +user interface. So, fear not, you don't need to learn +<acronym>XML</acronym> because of &kdeprint;!</para> + +<variablelist> +<varlistentry> +<term><guilabel>Multiple Pages Per Sheet Filter</guilabel></term> +<listitem> +<para>This is a predefined filter that installs with &kdeprint;. It +allows you to create a modified &PostScript; output, from &PostScript; +input, that prints 1, 2, or 4 logical pages on a single sheet of +paper.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Enscript Text Filter</guilabel></term> +<listitem> +<para>This is a predefined filter that installs with &kdeprint;. It +allows you to create &PostScript; output from any text file input, that +includes syntax highlighting for program listings, pretty-printing, and +nice configurable page frames and headers.</para> +</listitem> +</varlistentry> + +<varlistentry> +<term><guilabel>Pamphlet Printing Filters</guilabel></term> +<listitem> +<para>If your printer is able to produce duplex output, using either +one-pass or two-pass technology, you may be able to use one, or a +combination, of the <quote>pamphlet</quote> filters.</para> + +<para>For duplexing printers, make sure you use the duplex option that +<quote>turns</quote> the output along the short paper edge. Folding the +printed paper along the middle turns your document into a nice pamphlet.</para> + +<para>If you are stuck with using a simplex-only device, you can do the +same, using two different filters and a few additional steps.</para> + +<para>Depending on your model, first use the filter for printing the +<quote>odd</quote> pages, then insert the paper in the correct order +back into the paper tray to get the even pages printed on the reverse +side. These can then be folded to make a pamphlet.</para> +</listitem> +</varlistentry> + +</variablelist> + +</listitem> +</varlistentry> +</variablelist> +</sect1> +<sect1 id="cups-plugin"> +<title>&CUPS; Support: the Most Important Module in &kdeprint;</title> + +<para>&kdeprint; contains a module for &CUPS;. &CUPS;, the +<quote>Common &UNIX; Printing System</quote> (<ulink +url="http://www.cups.org">http://www.cups.org/</ulink>), is the most +advanced, powerful and flexible of all print subsystems on &UNIX; and +other &UNIX;-like operating systems. It is still quite new on the +horizon, but is based on <acronym>IPP</acronym>, the Internet Printing +Protocol, the newly emerging standard for the future of network +printing. &CUPS; is clearly the print system of choice for Michael +Goffioul, the principal &kdeprint; developer.</para> + +<para>Experienced &kde; users may already be familiar with Michael's +utilities <application>qtcups</application> and +<application>kups</application> (co-developed with Jean-Eric Cuendet). +These were, up until now, the graphical +&GUI; front ends for &CUPS; with a strong relation to &kde;.</para> + +<sect2> +<title><application>qtcups</application> and +<application>kups</application> — The Predecessors</title> + +<para>Both utilities are probably still widely used. For those +not familiar with them, +here are brief explanations.</para> + +<para><application>qtcups</application> was a graphical front end for +the <command>lp</command> or <command>lpr</command> print commands as +installed by &CUPS;. Using <application>qtcups</application> opened a +dialog. This dialog let you comfortably select your printer and the +print job options. <application>qtcups</application> +worked from the command line, or from +within applications, when the application in question had a configurable +print command.</para> + +<para><application>kups</application> was a graphical wrapper to do the +administration tasks for your &CUPS; server, and the &CUPS; daemon at +the heart of it. You could add, delete, modify, configure, start, and +stop printers. You could cancel, delete, move, stop and restart print +jobs, and you could change the settings of the daemon, start, stop, and +restart it.</para> + +</sect2> + +<sect2> +<title>&kdeprint; — The Heir</title> + +<para>The &CUPS; Module in &kdeprint; now contains all (and more) +functions that were provided by <application>qtcups</application> and +<application>kups</application> in former &kde; versions.</para> + +<para>Instead of <command>qtcups</command> you can now use the +<command>kprinter</command> command. And in place of +<command>kups</command> you will probably use +<command>kcmshell printers</command> from now on. +</para> + +<para>The &kdeprint; module for &CUPS; also lets you fully administer +the print subsystem, just like <application>kups</application> did +before. It can start, stop and configure your &CUPS; daemon. It can also +start, stop, add and delete <quote>printers</quote> (&ie; printer +queues) and printer <quote>instances</quote>. Printer instances are +printer queues that point to the same physical output device but with a +different default setting of print options.</para> + +</sect2> + +<sect2> +<title>&kprinter; — Graphical Print Command</title> + +<para>&kdeprint;'s &CUPS; module gives you access to a <quote>graphical +print command</quote>, like <application>qtcups</application> did +before.</para> + +<para>Use &kprinter; in any application, even a non-&kde; +application, that lets you configure your print command. Examples of +these are &Netscape; and <application>StarOffice</application>, but +<emphasis>not</emphasis> most pre-&kde; 2.2 programs.</para> + +<para>A screenshot how to use the new <command>kprinter</command> +print command instead of the old-fashioned <command>lpr</command>... +Of course you need to have <command>kprinter</command> in your +$<envar>PATH</envar>, or give the full path in the dialog; ⪚ +<userinput><filename>/opt/kde/bin/kprinter</filename></userinput>. +&Netscape; will remember this and with further print jobs you will get +the <command>kprinter</command> dialog to configure your printouts.</para> + +<screenshot> +<screeninfo>A screenshot of the <command>kprinter</command> print +command in action.</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="kprinter-as-netscape-printcommand.png" format="PNG"/> +</imageobject> +<textobject> +<phrase>Here's a screenshot showing how to use the new +<command>kprinter</command> print command +instead of the old-fashioned <command>lp</command> or +<command>lpr</command> in &Netscape;.</phrase> +</textobject> +</mediaobject> +</screenshot> + +<para>You can also use <command>&kprinter;</command> from the +command line and see the resulting dialog box pop up:</para> + +<screenshot> +<screeninfo>Screenshot of the <command>kprinter</command> command</screeninfo> +<mediaobject> +<imageobject> +<imagedata fileref="kprinter.png" +format="PNG"/></imageobject> +<textobject> +<phrase>Screenshot showing use of the <command>kprinter</command> command +from the command line.</phrase></textobject> +</mediaobject> +</screenshot> + +<note><para>Just make sure you give at least the file to be printed +from the command line as well: <userinput><command>kprinter</command> +<option>/usr/share/doc/packages/cups/sam.pdf</option></userinput>. +This will hand over the &CUPS; Software Administrator Manual to the +<command>kprinter</command> dialog, which will then pop up with the +default printer pre-selected.</para> + +<para>To pre-select a specific printer from the command line, use the +<option>-d</option> option, ⪚: +<userinput><command>kprinter</command> <option>-d +DANKAcolorC2000</option> +<option>/home/kurt/linuxtag2001-paper.ps</option></userinput>. You +can still de-select the printer <option>DANKAcolorC2000</option> and +choose a different one.</para> + +<para> You <emphasis>cannot</emphasis> however call +<userinput><command>kprinter</command></userinput> +without a print file and hope to open a file selection +dialog box from the &kprinter; window. This is a feature that will be +implemented only in the next version.</para> +</note> + +<para>Using <command>kprinter</command> you are able to <quote>ring +all the bells and blow all the whistles</quote> of your printer. You +will need a device-specific so-called &PPD; (&PostScript; Printer +Description) to enable &CUPS; to make this nice tandem team do this +for you. Read more about this in <xref linkend="ppd-files"/>.</para> + +</sect2> + +</sect1> + +<sect1 id="future-plans"> +<title>Plans for Future Development</title> + +<para>What you have now is the first, already very feature-rich +version of &kdeprint;. This version is, of course, fully usable for +printing. You might even think that <quote>it was never so +easy</quote> (not even back in the days when you had to use +&Microsoft; &Windows;).</para> + +<para> In the future, &kdeprint; will become even better. It will do a +better job of <quote>detecting</quote> your installed print subsystem +itself. Already &kdeprint; is doing quite well in automatically +sensing if you have &CUPS; on your system. But in many cases you will +have to tell &kdeprint; what you are using, if you want to keep a +legacy print system.</para> + +<para>The most important improvement in the near future will be a +completion of the <application>LPRng</application> plugin. This at +present is still very basic. It is restricted to the pure classical +<acronym>LPD</acronym> part of +<application>LPRng</application>.</para> + +<para>Also, you may be able to add printers directly from the print +dialog to your system <quote>just in time</quote>, without going to +&kcontrol; first.</para> + +<para>Some smaller improvements already planned are:</para> + +<itemizedlist> +<listitem><para>add a file selection dialog from the &kprinter; window +to allow combining of additional files to the present +printjob</para></listitem> <listitem><para>add a +<quote>history</quote> button to the +<application>KJobViewer</application> window and also a column to show +the number of pages &CUPS; calculates for the job.</para></listitem> +</itemizedlist> + +<para>Finally, there will be an <quote>IO slave</quote> that will give +you access to your print subsystem, via &konqueror; for example. With +this you will soon be able to browse your print subsystem from +&konqueror; through a &URL; like shortcut such as +<userinput>print://printers/printername</userinput>. A KPart will add +a virtual folder to the services section of the &konqueror; navigation +panel, giving a nice integrated way to browse and manage your print +system via the &URL; <userinput>print:/manager</userinput>.</para> + +<para>Please contact Michael Goffioul at <email>[email protected]</email> +with any further user or developer suggestions.</para> + +</sect1> +</chapter> |