Skip to main content

Manipulate PDF and PostScript documents

Project description

PDF and PostScript Utilities

Web site: https://github.com/rrthomas/psutils
Maintainer: Reuben Thomas rrt@sc3d.org

PSUtils is a suite of utilities for manipulating PDF and PostScript documents. You can select and rearrange pages, including arrangement into signatures for booklet printing, combine multple pages into a single page for n-up printing, and resize, flip and rotate pages.

PSUtils is distributed under the GNU General Public License version 3, or, at your option, any later version; see the file COPYING. (Some of the input files in the tests directory are not under this license; see the file COPYRIGHT in that directory.)

If you simply want to use PSUtils, you will find it in most GNU/Linux distributions; it is available in brew for macOS and Cygwin for Windows.

PostScript files should conform to the PostScript Document Structuring Conventions (DSC); however, PSUtils intentionally does not check this, as some programs produce non-conforming output that can be successfully processed anyway. If PSUtils does not work for you, check whether your software needs to be configured to produce DSC-conformant PostScript.

Some old Perl scripts, which mostly fix up the output of various obsolete programs and drivers to enable PSUtils to process it, are available in git in the old-scripts directory. They are not supported, and their use is discouraged, unless you know you need them!

Installation

The easiest way to install PSUtils is from PyPI, the Python Package Index:

pip install pspdfutils

(Note the PyPI package name!)

PSUtils requires libpaper, which allows named paper sizes to be used and configured:

libpaper: https://github.com/rrthomas/libpaper

Unfortunately, pip cannot install libpaper for you, but you might be able to install it with brew or from other package managers. Otherwise, you can install libpaper from source (see the link above).

Installation from source or git

PSUtils requires Python 3.9 or later, a handful of Python libraries (listed in pyproject.toml, and automatically installed by the build procedure).

In the source directory: python -m build (requires the build package to be installed).

Note that to use the scripts before installing them, you need to run them as Python modules; for example:

PYTHONPATH=. python -m psutils.command.psnup -2 foo.ps

Bugs

Please send bug reports, patches and suggestions to the bug tracker or maintainer (see the top of this file).

Acknowledgements

PSUtils is written and maintained by Reuben Thomas. Version 1 was written by Angus Duggan.

psselect in modeled on Chris Torek's dviselect, as is psbook, via Angus Duggan's dvibook; pstops is modeled on Tom Rokicki's dvidvi. psjoin was originally written by Tom Sato.

Project details


Download files

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

Source Distribution

pspdfutils-3.3.6.tar.gz (1.2 MB view details)

Uploaded Source

Built Distribution

pspdfutils-3.3.6-py3-none-any.whl (54.9 kB view details)

Uploaded Python 3

File details

Details for the file pspdfutils-3.3.6.tar.gz.

File metadata

  • Download URL: pspdfutils-3.3.6.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for pspdfutils-3.3.6.tar.gz
Algorithm Hash digest
SHA256 52a2d0e1ef5e7294dd1608ceb14b2024fb99c7b466e68343384f4b6c5f8ba659
MD5 46010fdadf9ff8dcc4bf7d727ec1bd7d
BLAKE2b-256 fde097dc129ffd0ea6882f026249aabf4df5cdc55bc729cc4f68a89533bf8bc1

See more details on using hashes here.

File details

Details for the file pspdfutils-3.3.6-py3-none-any.whl.

File metadata

  • Download URL: pspdfutils-3.3.6-py3-none-any.whl
  • Upload date:
  • Size: 54.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for pspdfutils-3.3.6-py3-none-any.whl
Algorithm Hash digest
SHA256 0067aae5a9f0e83614a97a2baa8d91e5543c4aeb3c498f43a54903040c5ea52d
MD5 a5b42ed610bd7bad47777c492da02d91
BLAKE2b-256 d98fde2b74eccf75e29c6ddd8950259edf8a017a00f571db9037474cbaa487cd

See more details on using hashes here.

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