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