On 10/29/13 14:07, Francois Tigeot wrote: > On Tue, Oct 29, 2013 at 02:23:15AM -0500, Chris Turner wrote: >> Have a 'modern printer', (deliberately) use lpr+=apsfilter. >> Works fine- better even. ... > How can you change print options with it ? I have to change the output > tray or force black-and white usage on a job-by-job basis
You cann't! LPD and IPP are two fundamentally different network protocols. In order to have tonner status and similar things you have to use bi-directional protocol to speak to your printing device. IPP is an example but not only one of such network printing protocol. lpd and CUPS are two different spooling (queuing) system (there are many others). They are used to manage printing jobs that might have been sent to the same physical device. lpd is very crude and doesn't allow for complex policies. CUPS is an extreme implementation allowing very complex policies. LPRng is an example of improved Berkeley spooling system which allows for very complex policies but unfortunately doesn't speak IPP. However even LPRng is incapable to my knowledge in integrating with Active Directory Protocol and more secure printing policy schemes. Finally apsfilter is an example of the user filter which is suppose to prepare files for printing. Originally printers were able to print only ASCII code and later PostScript vectorial page description language but users who want to print pictures (jpeg, png etc), text (dvi, pdf etc) many other kinds of files. You have three options. To call lpd with special options hard coded in printcap file for each kind of files, to promise yourself that you never send anything but PostScript to your printer or to use something like apsfilter on in my case foomatic filter to do job for you. Finally it is worth explaining the concept of printer driver. PostScript printers do not need drivers. They have PostScript interpreter built in. Those interpreter used to be very expensive so manufacturers came up with simpler languages like PCL (printing command language) and built in interpreters for those languages. Translator from PostScript to PCL is built in the GhostScript driver package. Unfortunately many printer manufacturer came with their own proprietary languages for whom we might have drivers HPLIP, Splix, GhostScript, Gutenprint etc. Unfortunately some of those languages are closed source trying to mask the fact that interpreter for those languages are not built in into printers but suppose to use operating system resources. Typically those printers have their proprietary drivers only compiled for Windows and possibly Linux (more so than MAC). So long story short we are mixing here many different things. I prefer to use OpenBSD to DragonFly as my desktop OS but if DragonFly want to make another splash in Unix world maybe somebody should look into implementing IPP into lpd and removing legacy code from lpd (in works from early 70s). There was few years ago similar initiative coming from NetBSD camp but went nowhere. Google Summer of code or something. For the record I use lpd with foomatic-rip and my printer speaks PCL5. Most Kind Regards, Predrag Punosevac
