HexaPDF v0.23.0 Release Notes

Release Date: 2022-05-26 // almost 2 years ago
  • โž• Added

    • [HexaPDF::Composer#create_stamp] for creating a form Xobject
    • [HexaPDF::Revision#reset_objects] for deleting all live loaded and added objects
    • ๐Ÿ‘Œ Support for removing or flattening annotations to the hexapdf modify command
    • Option to CLI command hexapdf form to allow generation of a template file
    • ๐Ÿ‘Œ Support for centering a floating box in [HexaPDF::Layout::Frame]
    • [HexaPDF::Type::Catalog#names] for easier access to the name dictionary
    • [HexaPDF::Type::Names#destinations] for easier access to the destinations name tree
    • [HexaPDF::Document::Destinations], accessible via [HexaPDF::Document#destinations], as convenience interface for working with destination arrays

    ๐Ÿ”„ Changed

    • ๐Ÿ’ฅ Breaking change: Refactored the [HexaPDF::Document] interface for working with objects and move parts into [HexaPDF::Revisions]
    • ๐Ÿ’ฅ Breaking change: [HexaPDF::Layout::TextBox] to use whole available width when aligning to the center or right
    • ๐Ÿ’ฅ Breaking change: [HexaPDF::Layout::TextBox] to use whole available height when vertically aligning to the center or bottom
    • CLI command hexapdf inspect to show the type of revisions, as well as the number of objects per revision
    • โšก๏ธ [HexaPDF::Task::Optimize] to allow skipping invalid content stream operations
    • [HexaPDF::Composer#image] to allow using a form xobject in place of the image

    ๐Ÿ›  Fixed

    • [HexaPDF::Writer#write] to write modified objects into the correct revision
    • [HexaPDF::Revisions::from_io] to correctly handle hybrid-reference files
    • [HexaPDF::Writer] to assign a valid object number to a created cross-reference stream in all cases
    • [HexaPDF::Type::AcroForm::TextField] to validate the existence of a /MaxLen value for comb text fields
    • [HexaPDF::Type::AcroForm::TextField#field_value=] to check for the existence of /MaxLen when setting a value for a comb text field
    • [HexaPDF::Type::AcroForm::TextField#field_value=] to check the value against /MaxLen
    • ๐Ÿ’… [HexaPDF::Layout::TextLayouter#fit] to not use style valign when doing variable width layouting
    • [HexaPDF::Utils::SortedTreeNode#find_entry] to work in case of a node without a container name or kids key
    • CLI command hexapdf form to allow setting array values when using a template
    • CLI command hexapdf form to allow setting file select fields