Skip to main content

Tool(s) for placing multiple PDF pages on a sheet for printin

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

pdfsquash-0.0.3-py3-none-any.whl (4.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page