You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
519 lines
19 KiB
519 lines
19 KiB
<chapter id="tdeprint-highlights">
|
|
<title>&tdeprint;'s Highlights</title>
|
|
|
|
<para>The new &tdeprint; 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 &tdeprint;</para>
|
|
|
|
<sect1 id="add-printer-wizard">
|
|
<title>The <quote>Add Printer</quote> Wizard</title>
|
|
|
|
<para>&tdeprint; 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>&tdeprint; 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 &tdeprint; PrintJob Viewer shows the information
|
|
you get: Job-ID, target printer, job name, job owner, job status and job
|
|
size. In the next &tdeprint; 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 &tdeprint; PrintJob Viewer</screeninfo>
|
|
<mediaobject>
|
|
<imageobject>
|
|
<imagedata fileref="tdeprint-jobviewer.png" format="PNG"/>
|
|
</imageobject>
|
|
<textobject>
|
|
<phrase>Here's a screenshot of the &tdeprint; PrintJob Viewer.</phrase>
|
|
</textobject>
|
|
<caption><para>A screenshot of the &tdeprint; 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 &tdeprint; PrintJob Viewer.</phrase>
|
|
</textobject>
|
|
</mediaobject>
|
|
</screenshot>
|
|
|
|
</sect1>
|
|
|
|
<sect1 id="modules-for-different-subsystems">
|
|
<title>Modules for different print subsystems</title>
|
|
|
|
<para>&tdeprint; 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>&tdeprint; 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="tdeprint-goodies">
|
|
<title>More &tdeprint; <quote>Goodies</quote></title>
|
|
<subtitle>Benefitting all Print SubSystems.</subtitle>
|
|
|
|
<para>Some specific features of &tdeprint; depend on the chosen print
|
|
subsystem. This dependency might exist because those features are only
|
|
implemented there; remember, &tdeprint; 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 &tdeprint; has not yet implemented an interface to all the
|
|
features of all the subsystems.</para>
|
|
|
|
<para>Other features include benefits from &tdeprint; 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 &tdeprint; 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>&tdeprint; 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 &tdeprint;!</para>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><guilabel>Multiple Pages Per Sheet Filter</guilabel></term>
|
|
<listitem>
|
|
<para>This is a predefined filter that installs with &tdeprint;. 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 &tdeprint;. 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 &tdeprint;</title>
|
|
|
|
<para>&tdeprint; 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 &tdeprint; 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>&tdeprint; — The Heir</title>
|
|
|
|
<para>The &CUPS; Module in &tdeprint; 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 &tdeprint; 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>&tdeprint;'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 &tdeprint;. 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, &tdeprint; will become even better. It will do a
|
|
better job of <quote>detecting</quote> your installed print subsystem
|
|
itself. Already &tdeprint; is doing quite well in automatically
|
|
sensing if you have &CUPS; on your system. But in many cases you will
|
|
have to tell &tdeprint; 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>tdeprint@swing.be</email>
|
|
with any further user or developer suggestions.</para>
|
|
|
|
</sect1>
|
|
</chapter>
|