Skip to content

Latest commit

 

History

History
68 lines (48 loc) · 2.34 KB

Readme.md

File metadata and controls

68 lines (48 loc) · 2.34 KB

Build Static Binaries

pdftilecut lets you sub-divide a PDF page(s) into smaller pages so you can print them on small form printers. This operation is sometimes called posterizing (related to printing large posters on home printers) and tile cropping.

Installation

Latest statically linked binaries are available on releases page.

Alternatively, you can install it:

  • on macOS with homebrew: brew install pdftilecut
  • on ArchLinux from AUR: yay -S pdftilecut

Features

  • Statically compiled Go binaries with no OS dependencies.
  • Multi page PDF support. Each page can be of arbitrary size.
  • Each output page has appropriate PDF bleed and trim boxes set (so you can give it to a printing house and get back correctly trimmed pages).
  • Print marks to assist with accurate trimming and arranging.

Usage

We want to print mars.pdf from the beautiful NASA posters collection, which comes in 20x30 inch size, on A4 papers:

$ pdftilecut -tile-size A4 -in mars.pdf -out mars_a4.pdf

Warning: if printing, ensure your print settings are not re-scaling the output (e.g. Scale to fit option must be off, and scale set to 100%). Always start with a single page and ensure dimensions are correct before printing all tiles.

Below on the left is the original poster, and two of its tiles on the right:

Poster before and after

The header contains the original page number and a tile reference for easier arranging:

Tile heading

Build & Development

You need yasm, cmake, automake, autogen, git, go >= 1.18, coreutils and C compiler.

Build using make and the static binary will be output to bin/pdftilecut.

Credits

The amazing QPDF library is used to parse and write back modified PDF files. QPDF relies on libz and libjpeg. Library sources are not included in this repo and must be downloaded separately.