Newsgroups: gmane.comp.printing.cups.general Date: Tue, 07 Nov 2006 16:42:52 -0500
Newsgroups: gmane.comp.printing.cups.general Date: Tue, 07 Nov 2006 16:42:52 -0500
How can I do black-and-white-only printing for even color sources?
Most pdf filre are colored, but acroread doesn't has the option to let me choose to print black-and-white-only.
I tried the following in acroread printer command configuration, but still, acroread prints color outputs.
/usr/bin/lpr -P my_printer -o saturation=0
Please help.
Can I give my printer an alias for black-and-white-only printing, and use that whenever I want to print black-and-white?
thanks
>>If your printer is a native PostScript printer and it's PPD >>provides options to select the color model, > > No, it is a inkjet printer driven by Gutenprint: > > Description: Epson Stylus CX1500 > Location: USB Printer #1 > Make and Model: Epson Stylus CX1500 - CUPS+Gutenprint v5.0.0-rc3 > Printer State: idle, accepting jobs, published. > Device URI: usb://EPSON/Stylus%20CX1500 > >>then change the default color model defined in the PPD. > > I don't know about PPD, and I hope that I don't need to touch any system > files. Changing the default color model defined in the PPD might not alows > me to print color documents as color and/or black-and-white, as I wish. > > That's why I want give my printer an alias for black-and-white-only > printing, and use that whenever I want to print black-and-white, and use > the real printer name for color printing.
You should have a file /etc/cups/ppd/xxxx.ppd, where xxxx is the name you have configured your printer with. Please post (an URL to) this PPD.
Helge
Well, the PPD offers to select one of two color models: CMYK color and Grayscale:
*OpenUI *ColorModel/Output Mode: PickOne *OrderDependency: 10 AnySetup *ColorModel *DefaultColorModel: CMYK *ColorModel CMYK/Color: "<</cupsColorOrder 1/cupsColorSpace 8/cupsCompression 1>>setpagedevice" *ColorModel Gray/Grayscale: "<</cupsColorOrder 0/cupsColorSpace 3/cupsCompression 1>>setpagedevice" *CloseUI: *ColorModel
Thus, if your printer is configured properly, you simply could (either by using the lpadmin command or the "configure printer" from the web admin) set the default color model to Grayscale. You could even edit your printer's PPD "by hand" by replacing
*DefaultColorModel: CMYK
by
*DefaultColorModel: Gray
And you may easily set up two print queues - one configured for color printing and the other for b/w printing as indicated above - pointing to the same physical printer.
Helge Blischke
Newsgroups: gmane.comp.printing.cups.bugs Date: Mon, 13 Nov 2006 09:48:14 -0500
> - lp -o saturation=0 does not work. > > A color saturation of 0 should "produces a black-and-white print", but I > find my printer still prints in color.
Please RTFM. The saturation (and hue) options only affect image printing (not PostScript).
> Moreover I think the > "-o brightness=150" does not work either. > > lp -o saturation=0 -o brightness=150 /usr/share/cups/data/testprint.ps
The brightness option *should* work, but with the sample drivers the effect might not be all that noticeable…
Michael Sweet, Easy Software Products
Newsgroups: gmane.comp.printing.cups.general Date: Tue, 15 Aug 2006 14:12:41 +0200 (CEST)
> I need to add multiple printers (over 100) on a system quickly instead > of going through web gui menu. After adding the printers, I need to > replicate the all printer information to another system. Is there a way > to do this as well, like programmatically or copying over the configs?
Read http://en.opensuse.org/SDB:CUPS_in_a_Nutshell in particular the section about "Command-line Tools".
Johannes Meixner
> To replicate the printer information just copy the necessary files to > the other system.
No! This is an efficient way which may lead to a broken CUPS system. To increase efficiency, copy the files while the other cupsd is running and for maximum efficiency also copy files from the spool directory ;-)
Please read http://en.opensuse.org/SDB:CUPS_in_a_Nutshell "General information on the command-line tools"
Johannes Meixner
http://en.opensuse.org/SDB:CUPS_in_a_Nutshell#Command-line_Tools
Do not edit the configuration files in /etc/cups/ manually if suitable command-line tools are available for this purpose.
Reason:
The configuration files are not reloaded for every print job. Rather, cupsd keeps much of the information in the main memory and writes information back to the configuration files whenever needed. Exception: /etc/cups/cupsd.conf
After modifications in this configuration file, cupsd must be restarted in order to make it use the modified configuration. See Section "Restarting the CUPS Server" in the "CUPS Software Administrators Manual" http://localhost:631/sam.html#RESTARTING or file:///usr/share/doc/packages/cups/sam.html#RESTARTING.
Never copy configuration files from other systems to your system unless you know exactly what you are doing. Use command-line tools instead.
For example, to set up the same queues on several machines (e.g., for a backup server), do not copy /etc/cups/printers.conf and /etc/cups/ppd/*, but write the respective commands in a script (usually a sequence of lpadmin commands) and run the script on the various machines. In this way, any error messages will be displayed on the respective machines (e.g., if a PPD file is not available on a machine or if a backend is not available or not ready to use). Furthermore with such a script you have something like a log-file of the settings, enabling you to restore the settings by running the script at any time.
If you are not sure which graphical tool is best suited for certain special configurations, use command-line tools instead.
In many cases, the sequence of the options is significant. Read the man pages. For example, the following commands are all different:
lpadmin -E -p queue, lpadmin -p queue -E lpadmin -E -p queue -E
Command-line tools for creating or editing queues:
Example for creating a queue:
root@host# lpadmin -p funprinter1000 -v parallel:/dev/lp0 -E -P /usr/share/cups/model/Postscript.ppd.gz
Use the following command to check what was created:
user@host$ lpstat -a funprinter1000 -p funprinter1000 -v funprinter1000 funprinter1000 accepting requests since Jan 01 00:00 printer funprinter1000 is idle. enabled since Jan 01 00:00 device for funprinter1000: parallel:/dev/lp0
Alternatively, take a look at /etc/cups/printers.conf:
<Printer funprinter1000> Info funprinter1000 DeviceURI parallel:/dev/lp0 State Idle Accepting Yes JobSheets none none QuotaPeriod 0 PageLimit 0 KLimit 0 </Printer>
Or query the system with the web front-end: http://localhost:631/printers/funprinter1000
Editing the queue (e.g., changing the description and location):
root@host# lpadmin -p funprinter1000 -D "ACME FunPrinter 1000" -L "2. floor: room 3"
Displaying the printer-specific options and their default settings in /etc/cups/ppd/funprinter1000.ppd:
user@host$ lpoptions -p funprinter1000 -l Resolution/Output Resolution: 150dpi *300dpi 600dpi 1200dpi 2400dpi PageSize/Media Size: Letter Legal Executive *A4 A5 ...
The output has the following syntax:
main-keyword/translation-string: option-keyword option-keyword option-keyword ...
The default setting is marked with an * preceding the "option-keyword".
Changing the printer-specific default settings in /etc/cups/ppd/funprinter1000.ppd:
root@host# lpadmin -p funprinter1000 -o Resolution=600dpi -o PageSize=Letter
The syntax is as follows:
lpadmin -p queue -o main-keyword1=option-keyword1 -o main-keyword2=option-keyword2 ...
Do not use lpoptions for this purpose. Refer to the Support Database article "Print Settings with CUPS": SDB:Print Settings with CUPS. Normal users can use lpoptions to save their personal default settings in ~/.lpoptions. More information on this is presented in the same Support Database article.
Use "accept" and "reject" to accept and reject print jobs for a queue. Use "/usr/bin/enable" ("enable" is a bash built-in) and "disable" to enable and disable printing in a queue (e.g., to avoid print jobs from being lost while doing maintenance work on the printer).
Deleting the queue:
root@host# lpadmin -x funprinter1000
http://en.opensuse.org/SDB:CUPS_in_a_Nutshell
Avoid BSD-type commands (lpr, lpq, lprm), as these only support a limited number of generic options. Use System V-type commands (lp, lpstat, cancel) instead.
Use lpoptions to save personal printer-specific option settings in ~/.lpoptions. Example:
user@host$ lpoptions -o Resolution=1200dpi -p funprinter1000
The generally available printing options are described in the Section "Standard Printer Options" in the "CUPS Software Users Manual": http://localhost:631/sum.html#STANDARD_OPTIONS or file:///usr/share/doc/packages/cups/sum.html#STANDARD_OPTIONS
documented on: 2006.09.07