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
andadd_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 ofDeviceRGB
,DeviceCMYK
andDeviceGray
color spaces - ๐ Handling of 'Pattern' color spaces when parsing content streams