15

Let us say I want slides.pdf to contain 4 slides per page.

I can open a slides.pdf document under evince (the default Ubuntu document viewer)

evince slides.pdf-->Print-->Page Setup--> Pages per Side --> 4 (or some other number)

Then, I can indicate I want to print to a file, and print. The result is an output.pdf file with the desired number of slides per sheet.

I want to achieve this same functionality through the command line (as I need to incorporate this into a script). All I have found some far are solutions relying on external tools. For example, I tried installing pdfjam (which required me to install 88.1 MB worth of packages from texlive-latex-base in order to achieve a functionality that I already have!), The result was only failure with pdfjam ERROR: LaTeX package pdfpages.sty is not installed.

I would rather avoid external packages.

How do I achieve this through the command line?

user84207
  • 463

4 Answers4

23

You can also use pdfnup:

pdfnup --nup 2x2 --no-landscape file.pdf

where 2x2 refers to 2 rows by 2 columns (or the reverse--I'm not sure). See man pdfnup for more options.

Paul Robert
  • 231
  • 1
  • 2
7

For me pdfnup was not available, and whilepdfxup did not work, pdfjam did:

pdfjam --nup 2x2 <infile>

To specify the output file name (in place of the autogenerated one) use the option --outfile

pdfjam --nup 2x2 <infile> --outfile <outfile>
Antonio
  • 427
2

to perform an IMPOSITION, nothing is better than Multivalent.jar (latest free version with tools inside, latest Multivalent build currently hosted on sourceforge - 2009 - has no more pdf tools)

you can download the Multivalent.jar build with tools from:

online man - http://multivalent.sourceforge.net/Tools/pdf/Impose.html

use:

java -cp path...to/Multivalent.jar tool.pdf.Impose -dim (rowsxcols) -paper (paper sizes where pages will be imposed) file.pdf
Dingo
  • 1,024
0

The only tool I've found that can do this and is maintained is PyPDF2 https://pythonhosted.org/PyPDF2/index.html

You can see some example code at: https://superuser.com/a/1508283/590044

Loren
  • 111
  • 4