Releases: michelcrypt4d4mus/pdfalyzer
Releases · michelcrypt4d4mus/pdfalyzer
v1.19.0
- Enable permanently setting almost all command line options via environment variables or a custom
.pdfalyzerfile, add--env-varsoption to display exactly which command line options can be set by which variables - Add
--export-pngoption to render .png images of output - Add
--echo-commandoption to save the exact command used along with the output - Add
--no-timestampsoption for exported filenames - Add
--suppress-outputoption - Highlight some of the interesting object reference keys in the rich tree view
- In rich tree view sort
DictionaryObjectkey/value pairs by key alphabetically, except/Typeand/Subtypeare at the top - Display the number of revisions (max
generationvalue) in metadata table - Display obj types/labels determined when walking the tree instead of newly constructed
PdfObjectPropertieswhich may lack nuance in their labeling - Better labeling of
/StructElemobjects in aStructTreeRoothierarchy - Coerce
/Numsnumber trees intodictlike objects for the purposes of assigning addresses /Annotsand other indeterminate nodes now have/Subtypeintegrated into their labeling (e.g./Annots:Linkinstead of just/Annots)- Fancier table for PDF metadata that also contains the number of pages, images, and revisions (if possible)
- Test suite now checks results against pre-recorded fixture output
v1.18.1
- Ensure
cryptographypackage is installable as an extra
v1.18.0
- Handle encrypted PDFs via
--passwordoption and/or prompting user for the password pdfalyzescript now returns error code 1 to shell if there's unplaced nodes unless new--allow-missed-nodesoption is used- Upgrade
pypdfto 6.6.0 and make use of newFontobject - Send logs to
stderrinstead ofstdout, redirect and reformatpypdflogs, other logging improvements - Sort
Pdfalyzer.font_infosarray by node ID - Placement of formerly orphaned nodes:
- Force stranded
/Pagesnodes to be children of/Catalog - Better placement of orphaned nodes that are members of an
ArrayObject - Place special
/Linearizationnodes under root - Force
/Xobjectnodes with/Subtypeof/Formto be children of/AcroFormnodes - Remove
non_tree_relationshipsif there's an actual parent/child relationship - Insert grandparents in situations where there's nodes that are in any array but also claim a node other than the array is their parent
- Force stranded
v1.17.13
v1.17.12
v1.17.11
- Properly escape image OCR text with
rich.markup.escape()when printing topage_bufferto avoid exceptions on weird OCR text - Upgrade
pypdfto 6.4.2, bumppymupdf
v1.17.10
- Fix logging bug in
create_dir_if_it_does_not_exist() - Upgrade
pypdfto 6.4.0
v1.17.9
- Handle errors in
FontInfoextraction more gracefully
v1.17.7
v1.17.6
- Better handling for errors resulting from bugs in
PyPDF - Properly close file handle when pdfalyzing is complete