Suppose you downloaded a PowerPoint or a PDF file from slideshare. You liked it so much that you wanted to print it out. But, alas, it was 50 pages long.
This tutorial introduces the command-line tools to
n-up a PPT or PDF file, i.e., batch multiple pages of the input file onto a single page on the output file. The output file is of the PDF format.
To 2-up a file, you place 2 original pages on a single output page. Similarly, to 4-up a file, 4 original pages on a single output page. By n-upping a file, you drastically reduce the number of pages for printing.
Convert to PDF
If the original file is a PowerPoint file (PPT, PPTX, PPS, PPSX), you need to first convert it to PDF. The tool I use is
unoconv on Debian,
$ sudo apt-get install unoconv
$ unoconv -f pdf input.ppt
Now that you have a PDF file, use the
pdfnup program to n-up the file.
$ sudo apt-get install pdfjam
Behind the scene,
pdfnup uses the TeX typesetting system to do the n-up conversion. So, you need to first install some LaTeX-related packages.
$ sudo apt-get install texlive-latex-base texlive-latex-recommended
Now, you are ready to execute the following command to n-up
$ pdfnup --nup 2x3 --paper letter --frame true --no-landscape input.pdf
--nup 2x3: 2x3 means 2 columns and 3 rows. This houses a total of 6 input pages on each output page.
--paper letter: The default paper size is A4. For North Americans, specify
--paper letterfor the US letter size.
--frame: By default, the subpages on the output page are not framed, i.e., there are no borders around each subpage. To specify that a frame should be drawn around each subpage, specify
--no-landscape: The default page orientation is
landscape. If you want the
The output PDF filename for the above example is
input-nup.pdf. The output filename is constructed by appending the default suffix
-nupto the input filename.
The above method is not the only way to n-up a PDF file. Below is an alternative method that involves first converting the PDF file to PostScript format, then doing the n-up, and finally converting it back to PDF.
$ pdf2ps input.pdf input.ps
$ psnup -2 input.ps output.ps
$ ps2pdf output.ps output.pdf
You can choose either method to do the n-up conversion. I generally avoid the PostScript method because it involves an extra conversion step. Regardless of which method you choose, the environment will thank you for using less paper.