LinuxCommandLibrary

pdfxup

Rearrange pages within PDF documents

TLDR

Create a 2-up PDF

$ pdfxup [[-o|--output]] [path/to/output.pdf] [path/to/input.pdf]
copy

Create a PDF with 3 columns and 2 lines per page
$ pdfxup [[-x|--columns]] [3] [[-y|--rows]] [2] [[-o|--output]] [path/to/output.pdf] [path/to/input.pdf]
copy

Create a PDF in booklet mode (2-up, and pages are sorted to form a book when folded)
$ pdfxup [[-b|--booklet]] [[-o|--output]] [path/to/output.pdf] [path/to/input.pdf]
copy

SYNOPSIS

pdfxup [options] [input-files]

PARAMETERS

-o, --outfile FILENAME
    Specify output PDF filename (default: pdfxup-out.pdf)

-p, --paper PAPERSIZE
    Set output paper size, e.g., a0paper, ledgerpaper, a3paper (default: letterpaper)

-l, --landscape
    Use landscape page orientation

-v, --verbose
    Print detailed processing information

--batch
    Run without pauses for terminal output

--keepinfo
    Preserve PDF Info dictionary (title, author, etc.)

--help
    Display usage summary

--version
    Show pdfxup version

DESCRIPTION

pdfxup is a utility from the pdfjam suite designed to scale up pages from input PDF files onto larger output pages. It is ideal for creating enlarged versions of documents for posters, large-format printing, or screen projection while preserving aspect ratios and centering content.

The tool generates temporary LaTeX files using the geometry package to define custom page sizes and scaling, then compiles them with pdftex. Each input page becomes a single, scaled output page. By default, it uses letterpaper size in portrait orientation.

pdfxup supports multiple input files, concatenating their pages sequentially. It handles options for paper size, orientation, and output naming. Verbose mode provides compilation details, and batch mode skips interactive pauses.

Installation typically comes with TeX Live extras; ensure pdftex and geometry.sty are available. Output PDFs retain hyperlinks and metadata where possible.

CAVEATS

Requires LaTeX with pdftex and geometry package; may fail on complex PDFs with unsupported features. Always scales proportionally, potentially adding white space. Temporary files cleaned automatically unless errors occur.

EXAMPLES

pdfxup --paper a0paper input.pdf
Upscales pages to A0 size.

pdfxup -o poster.pdf -p ledgerpaper -l doc.pdf
Landscape ledger output.

pdfxup --batch *.pdf
Process all PDFs in directory.

REQUIREMENTS

Needs pdftex, geometry.sty, and pdfjam; available in texlive-latex-extra or pdfjam package.

HISTORY

Developed by Thomas ten Cate as part of pdfjam (version 2.07+ around 2001-2005). Integrated into TeX Live distributions since mid-2000s; maintained for PDF 1.x compatibility via pdftex.

SEE ALSO

pdfnup(1), pdfjam(1), pdfcrop(1), pdftk(1)

Copied to clipboard