HexaPDF v0.13.0 Release Notes

Release Date: 2020-11-15 // 18 days ago
  • โž• Added

    • Cross-reference table reconstruction for damaged PDFs, controllable via the new 'parser.try_xref_reconstruction' option
    • Two new hexapdf inspect commands for showing page objects and page content streams by page number
    • Flag --check to the CLI command hexapdf info for checking a file for parse and validation errors
    • [HexaPDF::Type::AcroForm::Field#embedded_widget?] for checking if a widget is embedded in the field object
    • [HexaPDF::Type::AcroForm::Field#delete_widget] for deleting a widget
    • [HexaPDF::PDFArray#delete] for deleting an object from a PDF array
    • [HexaPDF::Type::Page#ancestor_nodes] for retrieving all ancestor page tree nodes of a page
    • ๐Ÿšš [HexaPDF::Type::PageTreeNode#move_page] for moving a page to another index

    ๐Ÿ”„ Changed

    • ๐Ÿ’ฅ Breaking change: Overhauled document/object validation interfaces and internals to be more similar and to allow for reporting of multiple validation problems
    • Validation of TrueType fonts to ignore missing fields if the font name suggests that the font is one of the standard 14 PDF fonts
    • Option -p of CLI command hexapdf image2pdf to also allow lowercase page size names

    ๐Ÿ›  Fixed

    • ๐Ÿ“œ Reporting of cross-reference section entry parsing error
    • 0๏ธโƒฃ PDF version used by default for dictionary fields
    • ๐Ÿ“œ Error in CLI command hexapdf inspect when parsing an invalid object number
    • Output of error messages in CLI command hexapdf inspect to go to $stderr
    • ๐Ÿ› Bug in [HexaPDF::Type::AcroForm::TextField] validation due to missing nil handling

Previous changes from v0.12.3

  • ๐Ÿ”„ Changed

    • ๐Ÿ‘ Allow any object responding to #to_sym when setting a radio button value

    ๐Ÿ›  Fixed

    • Error in the AcroForm appearance generator for text fields when the font is not found in the default resources
    • ๐Ÿ“œ Parsing of long numbers when reading a file from IO
    • โœ… Usage of unsupported method for Ruby 2.4 so that all tests pass again