Skip to main content

pdfsquash

Tool(s) to transform PDFs for printing multiple pages on a sheet.

Usage

pdfsquash -o <output-pdf> <input-pdf-1> <input-pdf-2> ...

For more options, see

pdfsquash -h

Examples

Following PDF files are used as sample inputs:

Default options

pdfsquash -o samples/1-4-default.pdf \
    samples/1.pdf samples/2.pdf samples/3.pdf samples/4.pdf

Here is how result will look: 1-4-default.pdf

image

Change spacing between minipages

Default spacing is 0. To chang it to 10pt use this command:

pdfsquash -o samples/1-4-spacing.pdf \
    -s 10 \
    samples/1.pdf samples/2.pdf samples/3.pdf samples/4.pdf

Here is how result will look: 1-4-default.pdf

image

Change page margin

Default page margin is 20pt. To change it to 0pt use this command:

pdfsquash -o samples/1-4-margin.pdf \
    -m 0 \
    samples/1.pdf samples/2.pdf samples/3.pdf samples/4.pdf

Here is how result will look: 1-4-default.pdf

image

Keep aspect ratio of the original

By default, original mini-pages will be shrinked and stretched to fit the target sheet location, independently in X and Y direction*. If you want to preserve original aspect, do this:

pdfsquash -o samples/1-4-keep-aspect.pdf \
    -m 0 \
    -k \
    samples/1.pdf samples/2.pdf samples/3.pdf samples/4.pdf

Here is how result will look: 1-4-keep-aspect.pdf

image

TODO

  1. Support other paper sizes (currently hardcoded to US Letter)
  2. Support other number of mini-pages per paper sheet (2, 6, 8). Currently do only 4 mini-pages per paper sheet.
  3. Support page re-ordering. Currently mini-pages are placed in a fixed order (left-to-right, top-to-bottom).

License

MIT

Release files for pdfsquash 0.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for pdfsquash 0.0.3
File Interpreter ABI Platform
pdfsquash-0.0.3-py3-none-any.whl Python 3 none any Details

Release files / pdfsquash-0.0.3-py3-none-any.whl

Download URL pdfsquash-0.0.3-py3-none-any.whl
Size 4.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5fb939e9a9e936816c1b0ada6d29b6d5a304ef655ac7c1b90dfa31ab5b091cf6
BLAKE2b-256 checksum
How to use checksums
e91a9c6cd4d1c5c74aab6efa53157850d2fb05d0b4de363968db62f1cdb5b455
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.6

Release history Release notifications | RSS feed

This release

0.0.3 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page