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 … 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: display PDF metadata using pdfly meta and pdfly pagemeta commands. Example: $ 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! πŸ™‚