The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 1,860 other subscribers

MacOS: default PCL printer driver only allows monochrome (black&white/grayscale); default PostScript allows colour

Posted by jpluimers on 2022/05/23

Printing on MacOS can be less Plug&Play than one hopes for.

For default printer drivers on MacOS for the same printer:

  • Postscript allows colour and monochrome (black & white / grayscale)
  • PCL only allows monochrome (black & white / grayscale)

One solution for my OKI MC363 is to use the HP PCL driver and fake it as a HP Colour LaserJet 9500 (which provides a similar amount of memory, and colour duplex A4 printing):

Yes I know the OKI MC363 does PostScript, but like PCL implementations, some documents don’t run well with PostScript, some others don’t run well with PCL. Most documents run well with both PostScript and PCL, but one or the other is much faster. So it pays having both PCL and PostScript configurations at hand.

The Bonjour support of the OKI MC363 is flaky: often it prints pages with just PostScript headers, hence the dual PCL and PostScript configuration which is stable.

And yes: I do prefer PostScript over PCL as usually it is more accurate and has more tooling.

Related:

  • [Wayback] Macbook not showing color/B&W print optio… – Apple Community

    Sounds like you have created the printer using the Generic PCL Laser driver included with 10.9. This driver will only print in B&W and 300dpi with an option to up the resolution to 600dpi. So remove this printer and try adding it again, this time selecting the Lanier LD445c driver in the Use menu.

  • [Wayback] Printer and scanner drivers for Mac – Apple Support

    Many printers and scanners use driverless technologies such as AirPrint or IPP Everywhere, which don’t require additional drivers on your Mac. But third-party drivers might still be available for older devices that do require a driver. Always check for software updates before connecting the device to your Mac for the first time. If the appropriate driver is available from Apple, your Mac will install it automatically.

    This list is no longer updated.
    Many vendors of printers and scanners have adopted driverless technologies such as AirPrint, and they are no longer providing drivers for new devices. If your printer was made in the last several years, it probably doesn’t require a driver. This list is provided for reference purposes and is no longer being updated.

  • Avoid kludges like Hpijs / Pxlmono / Foomatic / GhostScript based solutions, as they are slow, take many more manual steps to configure and usually do not support duplex printing. The start of the pain is described at [Wayback/Archive.is] Describes how to set up OS X to print in color to a PCL printer.
  • [Wayback] El Capitan PCL printing – Apple Forum – Spiceworks

    Avoid Gutenprint if & wherever possible, that’s a stop-gap measure for companies that fail to step up and provide a driver, or for really ancient hardware that isn’t going to ever provide a driver for current Mac OS because the maker is long gone, etc.

    Ricoh is one printer manufacturer and where used one should of course look to them for a driver.

    Do not use Generic PCL, that is another stop-gap measure for where a proper driver is not available. If you use this, you will fail to get many (if not most) available printer features, and precision can also suffer.

    PCL drivers can sometimes be used in OS X but typically works very poorly or strangely. Your mileage will vary greatly.

    AirPrint is intended primarily to service wireless non-computer devices, and your printer vendor needs to provide support. 3rd-party software is available – as yet another stop-gap measure – but does not work well in my testing and is not production-ready.

    Normally, (for network printing) you want a proper and current printer and driver (and/or PPD) for same with postscript support.

More P&P woes:

Edit 20241103

More links:

  1. [Wayback/Archive] Using Generic Printer Drivers | The Terminal Blogger which explains that the Generic PPD definition for PCL printing is generated during the first PCL printer installation, and limits to black-and-white printing only. It means however that you can use your own PPD files for colour PCL printing.
    here’s where you can find the generic PostScript driver:
    /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/Resources/Generic.ppd
    You can bake this into a script directly, or copy it somewhere that’s a little easier to deal with and point to that location.
    The generic PCL driver isn’t so friendly. It actually doesn’t exist anywhere in macOS by default. Instead, the driver is generated at the time of installation. Luckily, you can generate it manually by running this:
    /usr/libexec/cups/daemon/cups-driverd cat drv:///sample.drv/generpcl.ppd >> /tmp/genericpcl.ppd
    …Or specify whatever location you wish to spit out the driver to. I’ve run into complications before with hanging onto a PCL driver that I generated some time ago, so I suggest generating a new generic PCL driver every time you perform an installation. It’s easy enough to add the generation to your script so it happens every time.
    Once you have the driver you need, you can utilize /usr/bin/lpadmin to install the printer. This is where I stop and save covering lpadmin for a future post!
  2. [Wayback/Archive] Color PCL in macOS

    To fix, there is an instruction on github gist:

    https://gist.github.com/mrmanc/0182c6b86d68361c6e35

    Basically the steps are the following:

    1. Get a PPD file from http://www.openprinting.org/driver/pxlcolor
    2. Turn on CUPS web interface by the command cupsctl WebInterface=yes
    3. Use the CUPS web interface, instead of the System Preferences dialog, to add a printer. Only from there, you can provide a PPD file for the printer.
    4. Viola

    Always, lpstat is your friend to see the printers in command line.

  3. [Wayback/Archive] Describes how to set up OS X to print in color to a PCL printer. · GitHub/mrmanc which I forked to [Wayback/Archive] Describes how to set up OS X to print in color to a PCL printer. · GitHub/jpluimers and changed the format from text to markdown so it is easier to read the text and browse the links
  4. [Wayback/Archive] Driver: pxlcolor | OpenPrinting – The Linux Foundation (for generating PPD files for PCL printing in colour)
  5. [Wayback/Archive] Using lpadmin to Install Printers in macOS | The Terminal Blogger a really long and insightful post about using lpadmin to add printers on MacOS from the command-line console terminal.
  6. CUPS – Wikipedia
  7. System V printing system – Wikipedia
  8. [Wayback/Archive] lpadmin: configure cups printers and classes | cups System Administration | Man Pages | ManKier

Queries:

--jeroen

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.