HexaPDF v0.14.0 Release Notes

Release Date: 2020-12-30 // over 3 years ago
  • โž• Added

    • ๐Ÿ‘Œ Support for creating AcroForm multiline text fields and their appearances
    • ๐Ÿ‘Œ Support for creating AcroForm comb text fields and their appearances
    • ๐Ÿ‘Œ Support for creating AcroForm password fields and their appearances
    • ๐Ÿ‘Œ Support for creating AcroForm file select fields and their appearances
    • ๐Ÿ‘Œ Support for creating AcroForm list box appearances
    • [HexaPDF::Type::AcroForm::ChoiceField#list_box_top_index] and its setter method
    • โšก๏ธ [HexaPDF::Type::AcroForm::ChoiceField#update_widgets] to create appearances if they don't exist
    • Methods for caching data to [HexaPDF::Object]
    • ๐Ÿ‘Œ Support for splitting by page size to CLI command hexapdf split

    ๐Ÿ”„ Changed

    • [HexaPDF::Utils::ObjectHash#oids] to be public instead of private
    • ๐Ÿ“œ Cross-reference table parsing to handle invalidly numbered main sections
    • โšก๏ธ [HexaPDF::Document#cache] and [HexaPDF::Object#cache] to allow updating values for existing keys
    • Appearance creation methods of AcroForm objects to allow forcing the creation of new appearances
    • [HexaPDF::Type::AcroForm::AppearanceGenerator#create_text_appearances] to re-use existing form objects
    • AcroForm field creation methods to allow specifying often used field properties

    ๐Ÿ›  Fixed

    • Missing usage of :sort flag for AcroForm choice fields
    • Setting the /I field for AcroForm list boxes with multiple selection
    • ๐Ÿšš [HexaPDF::Layout::TextLayouter::SimpleLineWrapping] to remove glue items (whitespace) before a hard line break
    • Infinite loop when reconstructing the cross-reference table
    • ๐Ÿ‘ [HexaPDF::Type::AcroForm::ChoiceField] to support export values for option items
    • AcroForm text field appearance creation to only create a new appearance if the field's value has changed
    • AcroForm choice field appearance creation to only create a new appearance if the involved dictionary fields' values have changed
    • [HexaPDF::Type::AcroForm::ChoiceField#list_box_top_index=] to raise an error if no option items are set
    • [HexaPDF::PDFArray#to_ary] to return an array with preprocessed values
    • [HexaPDF::Type::Form#contents=] to clear cached values to avoid returning e.g. an invalid canvas object later
    • โšก๏ธ [HexaPDF::Type::AcroForm::ButtonField#update_widgets] to create appearances if they don't exist