Submit Hint Search The Forums LinksStatsPollsHeadlinesRSS
14,000 hints and counting!

10.4: Use some PostScript level 1 printers with CUPS Printers
Sometime in Tiger's evolution, the CUPS implementation restricted PostScript (PS) printers to level 2 and higher. I have found that some PS level 2 and higher printers, including (read "especially") networked photocopiers, have an omission in their PPD files that prevents them from working properly with CUPS. The symptom is that when you print, your system displays the following message:

The process "cgpdftops" stopped unexpectedly with status 1

CUPS runs a series of filters prior to processing a job, and part of their job is to determine the PS level of the destination printer. If you are confident your PS device is level 2 or higher, look at the PPD you assigned to your printer (located in /Library/Printers).

Using your favorite text editor, check near the top, usually in this section:
*% ===================================
*% Basic Device Capabilities
*% ===================================
Look for this line:
*LanguageLevel: "2"
where the "2" may be a "1" or "3". If it is a "1", then your device is not supported by CUPS, but read on anyway for a partial remedy. If the line is missing altogether, then insert one of these lines, depending on your printer's PS level:
*LanguageLevel: "2"
*LanguageLevel: "3"
Save your work. Delete the printer using Printer Setup Utility, and recreate it, being sure to manually choose the PPD you just edited and saved.

For PS level 1 devices, I have found that creating the printer with no PPD file at all can fool the CUPS filters into printing to a level 1 printer. You will lose out on any special features of your device, but it will extend its life a little. As with any printing problem, setting the log level to "debug" and HUPing CUPS will provide loads of information to help troubleshoot.
    •    
  • Currently 1.83 / 5
  You rated: 2 / 5 (6 votes cast)
 
[10,438 views]  

10.4: Use some PostScript level 1 printers with CUPS | 5 comments | Create New Account
Click here to return to the '10.4: Use some PostScript level 1 printers with CUPS' hint
The following comments are owned by whoever posted them. This site is not responsible for what they say.
10.4: Use some PostScript level 1 printers with CUPS
Authored by: mbroughtn on Apr 06, '07 08:22:15AM
Sometime in Tiger's evolution, the CUPS implementation restricted PostScript (PS) printers to level 2 and higher.
I believe you will find that this restriction dates back to OS 10.2.
look at the PPD you assigned to your printer (located in /Library/Printers).
That is actually the stored copy of the PPD. The printing system uses this source document to add the active PPD for your printer when you create a new printer queue. The active PPD is found in /etc/cups/ppd/nameOfYourPrinter.ppd. Changing the LanguageLevel in the PPD may or may not work. You might also want to try using ESP Ghostscript along with Foomatic-RIP. Ghostscript has a built in device to convert PostScrtip Level 1 to PostScript Level 2. See the information about this at [http://www.linux-foundation.org/en/OpenPrinting/MacOSX/pslevel1]. You will still probably want to modify one of the PPDs to use your printer's capabilities.

[ Reply to This | # ]
10.4: Use some PostScript level 1 printers with CUPS
Authored by: DavidRavenMoon on Apr 06, '07 10:30:44AM

Networked photocopiers are more than likely "Postscript emulation" devices, as are many laser printers. They don't use real PostScript.

---
G4/Digital Audio/1GHz, 1 GB, Mac OS X 10.4.9 • www.david-schwab.com • www.myspace/davidschwab • www.imanicoppola.net



[ Reply to This | # ]
10.4: Use some PostScript level 1 printers with CUPS
Authored by: byrd on Apr 06, '07 06:33:06PM
As with any printing problem, setting the log level to "debug" and HUPing CUPS will provide loads of information to help troubleshoot.
Would you be so kind as to explain how to set the log level for cups and what you mean by HUPing? Man tells me builtin commands are commands that can be executed within the running shell's process. How is this used in a practical way with CUPS. Thanks for the info, this is a problem I've faced more than once.

[ Reply to This | # ]
10.4: Use some PostScript level 1 printers with CUPS
Authored by: byrd on Apr 06, '07 06:39:16PM
As with any printing problem, setting the log level to "debug" and HUPing CUPS will provide loads of information to help troubleshoot.
Would you be so kind as to explain how to set the log level in CUPS and provide a practical example of how to use HUP. MAN tells me builtin commands are commands that can be executed within the running shell's process. How do you do this within CUPS? Thank you for taking the time to explain.this is a problem I've faced a few times.

[ Reply to This | # ]
10.4: Use some PostScript level 1 printers with CUPS
Authored by: mbroughtn on Apr 07, '07 08:20:26AM
I wrote some scripts that will turn the 'debug' feature on or off. There is an additional script that will place a copy of the CUPS error_log on your Desktop for easier examination. The scripts will automatically restart the printing services as necessary. The scripts are available here

[ Reply to This | # ]