Spotlight on pdfly, the Swiss Army knife for PDF files

4 weeks ago 7

pdfly logo

Project documentation: pdfly.readthedocs.io

pdfly is the youngest project of the py-pdf organization. It has been created by Martin Thoma in 2022.

It's simply a CLI tool to manipulate PDF files, written in Python and based on the fpdf2 & pypdf libraries.

I'm a maintainer of the project 🙂

What can it do?

It has meany features, including:

$ pdfly meta minimal-document.pdf Operating System Data ┏━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Attribute Value ┃ ┡━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━┩ │ File Name /tmp/minimal-document.pdf │ │ File Permissions -rw-r--r-- │ │ File Size 16,978 bytes │ │ Creation Time 2025-10-13 09:44:32 │ │ Modification Time 2025-10-13 09:44:32 │ │ Access Time 2025-10-13 09:44:46 │ └───────────────────┴───────────────────────────┘ PDF Data ┏━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Attribute Value ┃ ┡━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩ │ CreationDate 2022-04-03 18:05:42+02:00 │ │ Creator TeX │ │ Producer pdfTeX-1.40.23 │ │ Pages 1 │ │ Encrypted None │ │ PDF File Version %PDF-1.5 │ │ Page Layout │ │ Page Mode │ │ PDF ID ID1=b'q\x96\xc3\xe3U\xc1|\x9fS\xba\x9a\r\xcap\xcd\xd0' │ │ ID2=b'q\x96\xc3\xe3U\xc1|\x9fS\xba\x9a\r\xcap\xcd\xd0' │ │ Fonts (embedded) │ │ Fonts (embedded) /KNEUFH+CMR10 │ │ Attachments [] │ │ Images 0 images (0 bytes) │ └────────────────────┴──────────────────────────────────────────────────────────┘
  • pdfly can also combine files into new PDF documents: it can extract specific pages & merge documents (pdfly cat); selectively remove pages (pdfly rm); convert images to PDF documents (pdfly x2pdf); and even compress documents (pdfly compress) or build booklets (pdfly 2-up & pdfly booklet).

  • pdfly includes some commands to pull out specific content from PDF files: pdfly extract-images & pdfly extract-annotated-text.

  • sometimes you want to edit a PDF file manually, in a text editor. But when you do so, you break its xref table, that is an index of byte offsets in the document. pdfly update-offsets is there to save the day, fixing manually-edited PDF documents, so that they can be opened in a PDF viewer again!

Release 0.5.0 & new features

Today we released a new version: pdfly release 0.5.0.

Thanks to several contributors, including developers taking part in Hacktoberfest, new exciting features have been added:

What's next?

We have a bunch of feature ideas: up-for-grabs issues, including some good first issues aimed specially at new contributors, that are willing to help but new to open-source.

Personally, I think the pdfly sign & check-sign could become handy to many end-users, and I think we should continue to extend those commands usage options, as described in issue #71.

We would also be happy to get your feedbacks, bug reports & feature suggestions! 🙂

Read Entire Article