Bulk printing on macOS

printing

I have a bunch of files that i want to print, they are all separate PDFs.

What is the best way to print them without having to print them one by one, or combine them into a merged PDF using 3rd party software?

I've tried dragging them into the print dialog of my printer, which works, but it only prints out the page at the default paper size, it does not give me any print options.

I'm running macOS 10.14 and have a range of different printers, from HP, Canon, and Epson.

Best Answer

What is the best way to print them without having to print them one by one, or combine them into a merged PDF using 3rd party software...it only prints out the page at the default paper size, it does not give me any print options.

You have to set your print options in the document itself so you shouldn't have to specify any options. For example, if you wanted this particular job to be in color on the card stock found in Tray 2, you would have defined in the Page Setup that it was on "card stock." In the printer setting, you define that tray 2 has card stock in it, so when the print job is called, it will automatically "know" that its to pull paper from Tray 2.

Use CUPS

Well, macOS uses CUPS (Common Unix Printing System) to handle it's printing tasks. Part of CUPS is lp where you can submit jobs to be printed. This gives us a few options here:

  • You can specify options for each or a batch of similar jobs
  • You can create a queue with predefined options and just send a job to that queue.

A couple of examples:

To print out all of the PDFs in a directory formatted landscape, you could just issue the command

$ lp  -o landscape *.pdf

To print out a doc file on A4 media, you could issue the command

$ lp -o media=A4 MyPaper.doc

See Command-Line Printing and Options for more details.

The other option is queues (filters) that allow you to specify a predetermined set of options and send your print jobs to them. The beauty is, you can have any number of filters for a single printer. The downside is there's a lot more work up front to set these up, but the pay off is if you have lots of jobs, it will be much more efficient.

You can review the CUPS documentation on how to set up filters, but I've found the FreeBSD tutorial on setting up filters a bit easier to follow.