Batch print with printer preset in MacOS

Solution 1:

So based on previous comments and answers I settled for a bash script with a for loop:

#! /bin/bash

cd /path/to/your/PDFfiles
for pdffile in *.pdf; do
        lpr -P MY_PRINTER -o media=A4 -o sides=two-sided-long-edge -o InputSlot=tray-3 "$pdffile";
done

Beware that this script prints all pdfs in /path/to/your/PDFfiles ! A few useful commands to tailor this script to your needs:

  • lpstat -p lists all printers in your system and gets you the "CUPS name" (I guess it's called so?) of your printer
  • lpoptions -p MY_PRINTER -l lists the printer-specific options you can add with the -o option=xy option of the lpr command. The generic CUPS options (= for ± all compatible printers) are visible at https://www.cups.org/doc/options.html#OPTIONS

If you want so save this script: save it as batchprint.sh, make it executable with chmod a+x batchprint.sh and next time you drag and drop this script to a terminal window, it will do what you whish!

Solution 2:

There are a couple of things you can do:

  • Printer Presets

    Under the Presets menu, see if the Reset Presets Menu to “Default Settings” is checked. If this is checked, uncheck it and the last preset you used remain in place when you finish printing the document.

  • Create a "New" Printer

    Create a new printer that prints to the same device, but set all the printer defaults (printer presets) the way you like them. When you print, print to that printer instead. You can even temporarily set that printer as the "default printer." Just remember to set it back when you're done.