Wilson Mar bio photo

Wilson Mar

Hello. Hire me!

Email me Calendar Skype call 310 320-7878

LinkedIn Twitter Gitter Instagram Youtube

Github Stackoverflow Pinterest

How to get your stuff on paper from macOS and Linux

US (English)   Español (Spanish)   Français (French)   Deutsch (German)   Italiano   Português   Cyrillic Russian   中文 (简体) Chinese (Simplified)   日本語 Japanese   한국어 Korean


This tutorial describes how to print to paper.

Better looking printing

Premium paper stock have a finer grain, which make the output richer looking. But before spending the money, get the highet resolution version of an image. To reduce file size, some applications reduce the “color profile” and/or pixel resolution of images.

Emails to HPePrint.com

Many HP printers, after being configured to connect to the public internet, can receive print jobs by sending email to an address such as 47aicco56ajanb@hpeprint.com. This allows anyone to print to your printer by sending an email attached with a file to be printed (PDF, png, jpg, tiff, etc.).

Emailing means you don’t have to install a driver specific to a printer via WiFi on the same network or USB cabled connection.


Have canvases and posters printed on large format printers at a FedEx Kinkos retail center. Click “START ORDER” for a form to drop a file onto. Cost is $1.99 per square foot as of this writing.

Printer driver install

  1. Write down the name and model of the printer you want to print to. Example: “HP OfficeJet 4650 series”.
  2. Click the Apple icon in the menu at the top-right corner, System Preferences, “Printers & Scanners”.


  3. Press the “+” at the lower-left corner of the dialog and select the printer, if it’s listed.
  4. Click the name of the printer you want to print to. Example: “HP OfficeJet 4650 series”, then “Add”.

    Alternately, if you don’t see the printer, add it. PROTIP: Rather than allowing drivers to be intalled, HP and other printer manufacturers now have users to install entire applications on your laptop to serve up advertisements. Install on your iPhone or Android mobile app from:


  5. Plug a USB cable of 3 meters or less (9 ft 10 in) in length.*

  6. Within most GUI applications, hold command and press P (command-P) to “Print”. A pop-up dialog should appear.

  7. Click “Show Details” for Advanced print settings

  8. PROTIP: To create a PDF file, click the arrow next to “PDF” at the lower-left corner, then select “Print to PDF”.

When you click OK, a file containing Postscript code is sent to the Print Queue, which can take a few seconds. The Print Queue is represented by a printer icon in the Apple Dock. Double-click on the Printer Icon to manage the print queue.


app output -> Ghostscript -> queue -> printer

Most printer hardware today output to the Postscript standard rather than the older Postfix standard.

Ghostscript uses smart filters to recognize whether it is receiving Postscript or text, then translates inputs to the language of each specific printer. printer driver integrated part of Ghostscript.

  1. Open the printer management GUI webapp ontrolling the CUPS (Common UNIX Printing System) scheduler daemon, which is started by default.

    firefox http://localhost:631/admin

    Alternately, configure printer access settings using CLI:

    lpadmin -p printer -E -v device -m name-of-ppd 

    -E specifies an Encrypted connection to the printer (like HTTPS).

    This updates file /etc/cups/cupsd.conf which defines policies in XML format.

    The program was designed by Apple.

  2. To list available connection types:

    lpinfo -v


    serial serial:/dev/ttys0?baud=115200
    network lpd
    network ipp
    network smb
    network https
    network ipps
    network http
    network socket
    direct epsonfax
    direct parllel:/dev/lp0
  3. Printer definition (PPD files) which define each printer can exist in several folders:

    find / -name "*ppd" 2>/dev/null

    Example output:

    /Users/wilson_mar/Library/Application Support/WebEx Folder/T33_64UMC_39.11.6.33/Meeting Center.app/Contents/PlugIns/pd.bundle/Contents/Resources/Webex_PDF_Printer.ppd
    /Applications/Microsoft Word.app/Contents/Frameworks/MetEx.framework/Versions/A/Resources/encoding/adpdf6cs.ppd
  4. List PPD printer definitions defined in file /etc/cups/printers.conf, which requires sudo to view.

  5. Define the default printer:

    lpadmin -d textprinter
  6. To inactivate a queue:

  7. To activate a queue:

  8. See if a printer is ready:

    lpr -Ptextprinter 
  9. Send the hosts file as a print job to the default printer:

    lpr -Ptextprinter /etc/hosts
  10. How’s the CUPS (Common UNIX Printing System) scheduler daemon?

    On MacOS:

    systemctl status cups

    On Linux:

    systemctl status cups
    service cups status
  11. List print jobs:

    lpq -Pprintername
  12. Remove last print job:

  13. Remove all my print jobs (stalled in the print queue):

    lprm --
  14. tail /var/log/cups/access_log to see who accessed the printer.

  15. tail /var/log/cups/error_log



More on OSX

This is one of a series on Mac OSX: