Skip to main content

Low-level PDF library

Project description

llpdf

llpdf is a low-level PDF manipulation library that I originally wrote for pdfminify, but that has other purposes as well for which I've now made it its own separate project.

llpdf uses its own PDF parser because for the particular purpose of low manipulation of PDFs, neither PyPDF2 nor pdfrw (which I both tried to use) seemed particularly suitable. It exposes all the internal structure of a PDF file to the user and doesn't try to provide any "nice" abstraction. This makes it very powerful, but also not particularly suitable for end-users. Usages for llpdf that I've worked with are minifying PDFs (pdfminify!), signing PDFs, manipulating PDFs (including images and text).

Acknowledgments

llpdf uses the Toy Parser Generator (TPG) of Christophe Delord (http://cdsoft.fr/tpg/). It is included (tpg.py file) and licensed under the GNU LGPL v2.1 or any later version. Despite its name, it is far from a toy. In fact, it is the most beautiful parser generator I have ever worked with and makes grammars and parsing exceptionally easy, even for people without any previous parsing experience. If you need parsing and use Python, TPG is the go-to solution I would recommend. Seriously, it's amazing. Check it out. Copyright and license details can be found in EXTERNAL_LICENSES.md.

In order to be able to easily create PDF/A-1b files, pdfminify also includes the ICC sRGB color profile "sRGB_IEC61966-2-1_black scaled.icc". It is distributed under its own license which is included in the EXTERNAL_LICENSES.md file.

When signing documents, a Type1 font is included in the resulting PDF in order to display metadata about the generated signature. As a default font, one of the Bitstream Charter fonts which was contributed to the X consortium (Bitstream Charter Serif) is included with pdfminify. It also has its own copyright and license notice in EXTERNAL_LICENSES.md.

License

pdfminify is licensed under the GNU GPL v3 (except for external components as TPG, which has its own license). Later versions of the GPL are explicitly excluded.

TPG (Toy Parser Generator), the ICC sRGB color profile and the Bitstream Charter font fall under their respective licenses (see EXTERNAL_LICENSES.md).

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

llpdf-0.0.5.tar.gz (133.8 kB view details)

Uploaded Source

File details

Details for the file llpdf-0.0.5.tar.gz.

File metadata

  • Download URL: llpdf-0.0.5.tar.gz
  • Upload date:
  • Size: 133.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.5

File hashes

Hashes for llpdf-0.0.5.tar.gz
Algorithm Hash digest
SHA256 3ebe5370026a463d71ff7d26c2d09ba5dbc8c8fe20207eea70d6dea019f472d0
MD5 361abdfcefcb1c225f401ff162d64daf
BLAKE2b-256 3b0abe016fd613a7d29e393f3cf71bd80f2320f19e2b1bd5630f793b7c623770

See more details on using hashes here.

Supported by

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