• Stars
    star
    311
  • Rank 134,521 (Top 3 %)
  • Language
    Go
  • License
    BSD 3-Clause "New...
  • Created almost 6 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

pdftilecut lets you sub-divide a PDF page(s) into smaller pages so you can print them on small form printers.

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

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.

More Repositories

1

fpx

easy USB-C power for all your devices
C
227
star
2

pdfrankenstein

PDF Annotator of Nightmares 🎃
Go
170
star
3

fysom

Finite State Machine for Python (based on Jake Gordon's javascript-state-machine)
Python
162
star
4

fabpide2

STUSB4500 Breakout — Stand-alone USB PD Sink Controller
C++
90
star
5

tjtag-pi

TJTAG JTAG flash programmer for WRT54G and related routers with Raspberry Pi support
C
79
star
6

rsyncbtrfs

Backup tool combining rsync and btrfs
Shell
68
star
7

svglinkify

Export inkscape SVGs to PDF while preserving hyperlinks
Python
32
star
8

imdb2json

Convert IMDB list files to JSON
Python
27
star
9

gists

Codes that don't deserve their own repo (yet).
Python
22
star
10

msrx

Library and command line utils to use MSR605 magnetic card reader/writer
Python
20
star
11

splapr

Modular, Customizable & Affordable Split Flap Displays for Everyone!
C
20
star
12

runsheet

Real-time task scheduler and tracker for time sensitive projects.
JavaScript
12
star
13

raspberrypi-archlinux-installer

Raspberry Pi Archlinux Automated Offline Installer with Wi-Fi. Windows, Mac and more features coming.
Go
8
star
14

starenv

starenv allows populating environmental variables from variety of sources, such as AWS Parameter Store, GPG encrypted files and more, with extreme ease.
Go
6
star
15

tesla-data-privacy-request

Structure of data provided by Tesla in response to privacy data request.
Shell
4
star
16

go-typec

USB Type-C Libraries for Go
Go
3
star
17

20p

Summarize online video/audio to 20 bullet points.
Python
3
star
18

terraform-credentials-gpg

Terraform Cloud GPG Credentials Helper
Shell
2
star
19

papersizes

Go package+module defining various standardized paper sizes
Go
1
star