HexaPDF v0.12.0 Release Notes

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

    • Convenience methods for accessing field flags for [HexaPDF::Type::AcroForm::Field]
    • [HexaPDF::Type::AcroForm::TextField] and [HexaPDF::Type::AcroForm::VariableTextField] for basic text field support
    • [HexaPDF::Type::AcroForm::ButtonField] for push button, radio button and check box support
    • ๐Ÿ‘ [HexaPDF::Type::AcroForm::ChoiceField] for combo box and list box support
    • [HexaPDF::Type::AcroForm::AppearanceGenerator] as central class for generating appearance streams for form fields
    • Various convenience methods for [HexaPDF::Type::AcroForm::Form]
    • Various convenience methods for [HexaPDF::Type::AcroForm::Field]
    • Various convenience methods for [HexaPDF::Type::Annotations::Widget]
    • [HexaPDF::Type::Annotation::AppearanceDictionary]
    • [HexaPDF::Document#acro_form] and [HexaPDF::Type::Catalog#acro_form] convenience methods
    • CLI command hexapdf form for listing fields of interactive forms and filling them out
    • [HexaPDF::Rectangle] methods for setting the left, top, right, bottom, width and height
    • Method #prenormalized_color to all color space implementations
    • [HexaPDF::Type::Font#font_wrapper] for accessing an associated font wrapper instance
    • [HexaPDF::Type::FontType1#font_wrapper] for providing a font wrapper for the standard PDF fonts
    • [HexaPDF::Type::Annotation::Border] class
    • [HexaPDF::Content::ColorSpace::device_color_from_specification] for easily getting a device color object
    • [HexaPDF::Content::ColorSpace::prenormalized_device_color] for getting a device color object without normalizing values
    • [HexaPDF::Type::Annotation#appearance] for returning the associated appearance dictionary
    • [HexaPDF::Type::Annotation#appearance?] for checking whether an appearance for the annotation exists
    • Configuration option 'acro_form.create_appearance_streams' for automatically creating appearance streams
    • [HexaPDF::Type::Resources] methods #pattern and add_pattern

    ๐Ÿ”„ Changed

    • Deletion of pages to delete them from the document as well
    • ๐Ÿ”จ Refactored [HexaPDF::Font::Type1Wrapper] and [HexaPDF::Font::TrueTypeWrapper] and renamed #dict to #pdf_object
    • Fall back to the Type1 font's internal encoding when decoding a string
    • All [HexaPDF::Content::ColorSpace] implementations to only normalize values when using the ::color method
    • ๐Ÿ“œ [HexaPDF::Content::Parser#parse] to also accept a block in place of a processor object
    • HexaPDF::Type::AcroForm::Field#full_name to [HexaPDF::Type::AcroForm::Field#full_field_name]
    • Moved HexaPDF::Content::Canvas#color_space_for_components to class method on [HexaPDF::Content::ColorSpace]
    • โž• Added bit unsetter method to[HexaPDF::Utils::BitField]
    • [HexaPDF::Type::AcroForm::Form#find_root_fields] and #each_field to take the field type into account when wrapping a field dictionary
    • Pages specification of CLI commands to allow counting from the end using the new r<N> notation
    • [HexaPDF::Font::Type1Wrapper] to use the internal encoding of a font with a 'Special' character set instead of a custom encoding
    • ๐Ÿ”ง Configuration 'filter.map' to use the pass-through filter on all unsupported filters

    ๐Ÿ›  Fixed

    • Wrong normalization of color values when invoking a color operator
    • Invalid type of /DR field of [HexaPDF::Type::AcroForm::Form]
    • Invalid ordering of types for the /V and /DV fields of [HexaPDF::Type::AcroForm::Field]
    • [HexaPDF::Type::AcroForm::Field#terminal_field?] to work according to the spec
    • ๐Ÿ‘ Handling of empty files by throwing better error messages
    • [HexaPDF::Type::Image#info] to correctly identify images with a soft mask as currently not supported for writing
    • ๐Ÿšš [HexaPDF::Revision#delete] to remove the connection between the object and the document
    • Missing #definition method of DeviceRGB, DeviceCMYK and DeviceGray color spaces
    • ๐Ÿ“œ Handling of 'Pattern' color spaces when parsing content streams