HELP WANTED: kdeprint with GNUlpr
James Richard Tyrer
tyrerj at acm.org
Mon Nov 24 10:49:14 CET 2003
Goffioul Michael wrote:
>>-----Original Message-----
>>From: James Richard Tyrer [mailto:tyrerj at acm.org]
>>Sent: Sunday, November 23, 2003 01:02
>>To: For users and developers of KDEPrint,the KDE printing architecture
>>Subject: Re: HELP WANTED: kdeprint with GNUlpr
>>
>>
>>Till Kamppeter wrote:
>>
>>>James Richard Tyrer wrote:
>>
>>>>But, I can see some things that might help. For me, the
>>
>>question is
>>
>>>>can it allow me to set the printer resolution without
>>
>>having to have
>>
>>>>separate printer instances for each resolution?
>>>
>>>
>>>Yes:
>>>
>>>LPRng:
>>>
>>> lpr -P printer -Z Resolution=1200dpi file.ps
>>>
>>>CUPS or GNUlpr:
>>>
>>> lpr -P printer -o Resolution=1200dpi file.ps
>>
>>In this context, saying that you have to resort to the
>>command line is the same as saying
>>'NO'. With GNUlpr, you can use the 'gpr' command for your
>>print command and the widget
>>pops up where you can set this stuff.
>>
>>But, the KDE GUI interface should do this. And, it should be
>>able to do this without
>>foomatic.
>
>
> I don't agree: with LPRng, the ability to select print options
> on the command-line (or in a GUI, which is the same) is highly
> dependent on the driver system that is used. Foomatic gives the
> user access to all print options, through the '-Z' flag.
> Printtool (used by RedHat back in the 5.x era) didn't, although
> it was based on LPRng. If you cannot select print options on the
> command-line, you can't neither in a GUI.
Well, sort of. What the gpr program does is put a widget between the application and lpr,
much like KDEPrint does. The application calls 'gpr' instead of 'lpr' and up pops a
widget where you can set the options which are turned into a command line.
It appears that if the LPRng/IFHP interface works that KDE Print does this and provides
the proper command line.
Note that the IFHP filter for LPRng also uses the same '-Z' options (IIUC). With this
quite elaborate filter system, the dependence on the actual driver is eliminated and
replaced with a uniform interface. The: "ihfs.conf" file has the same function as a data
base.
The problem is that IFHP does not deal with things like resolution in any way that I can
understand. Yes, you can set the resolution on the command line -- you have always been
able to do that with GhostScript. But, there is no connection between the LPRngTool
'printerdb' which does have the resolutions specified and what resolution you can specify.
This is actually a step backward from PrintTool that usually set a correct resolution
for you -- you could only choose from the ones listed in the database (although you could
enter anything manually).
This could be fixed with KDE Print if it used a PPD file rather than the exhaustive list
of options in the: "lprngtooldriver1: file. You would still wind up with what CUPS is
missing: a configuration file that lists the PPD file name to print driver association.
This is needed because CUPS doesn't really use a PPD file; it uses a modified PPD file.
If you use just a plain PPD file, it doesn't work. FooMatic may or may not address this
issue with a database. Unfortunately, if this is done with a database (I have some
experience with 'libapps' which uses a data file) somebody always comes up with a printer
that isn't in the data base. Therefore, the data base should be as simple as possible.
--
JRT
More information about the kde-print
mailing list