Skip to content

v5.0.0

Latest

Choose a tag to compare

@unidoc-alip unidoc-alip released this 31 Jul 13:15
d18e7a5

Release notes - UniPDF v5.0.0

This release contains new features, improvements and bug fixes.

New Features

  • US-648 PDF linearization (Fast Web View) support: linearized writer, hint stream generation and optimize.Linearize convenience API
  • US-1520 Linearization validator to verify Fast Web View compliance of PDF files
  • US-1607 PDF/UA-1 (ISO 14289-1) validation and automatic compliance fixes via the new pdfua package
  • US-1609 PDF/UA-2 (ISO 14289-2) validation and apply profile
  • US-1610 PDF/UA-2 namespace-aware automatic tagging in the creator
  • US-1606 PDF 2.0 structure namespaces support in the model
  • US-1605 US-1618 pdfuaid XMP namespace support, including part/rev and amd/corr identifiers
  • US-1549 ICC colorspace support
  • US-1447 ICC color profile preservation when embedding images
  • US-1504 Transparency groups with Multiply blend mode support
  • US-1548 Color gradient support for StyledParagraph
  • US-1629 List-box (choice field) appearance generation in the annotator
  • US-1539 Direct() and Equals() methods for the PdfObject interface
  • US-1556 Opt-in writer SkipObjectCopy fast path that skips the defensive deep copy of the source object graph

Improvements

  • US-1507 Refactored the parser/reader I/O layer from io.ReadSeeker to io.ReaderAt, enabling safer concurrent reads
  • US-1536 Typed PdfColor interface instead of the empty interface
  • US-1541 Charcode/GID/rune separation in font handling for more correct text encoding
  • US-1537 Exposed content types and fields for StyledParagraph, Grid and Table
  • US-1598 Faster text rendering with a glyph cache and blit fast path
  • US-1597 Reduced render allocations with buffer pools and font-face caching
  • US-1601 Bold/italic style matching when falling back to system fonts
  • US-1611 Improved handling of long table cell content, including splitting of oversized row-spanning cells
  • US-1561 Improved radial shading fill by omitting the bounding box that clipped the fill to the disc
  • US-1631 All PDF date fields after the 4-digit year are now optional in ParsePdfTime
  • US-1604 Replaced the unmaintained go-xmp library with a maintained fork
  • US-1571 Replaced the archived gorilla/i18n dependency with the internal linebreak package
  • US-1637 US-1672 Aligned the PDF/UA verifier with veraPDF and added a veraPDF validation test corpus

Bug Fixes

  • US-1660 Fixed wrong font selection when two font dictionaries share the same BaseFont
  • US-1676 Fixed form-field widget flattening when a page has no filtered annotations
  • US-1670 Fixed creator table layout fidelity for row-spanning cells
  • US-1546 Fixed multi-column row-spanning cells that cross page boundaries
  • US-1612 Fixed blank/garbled rendering for CIDFontType2 fonts with a non-identity CIDToGIDMap
  • US-1627 Fixed tagged-content ParentTree reachability in the structure tree
  • US-1560 Neutralized stale linearization dictionaries when signing incrementally

Deprecations and Removals

  • US-1538 Removed the deprecated creator.Paragraph component and Creator.NewParagraph; use StyledParagraph instead
  • US-1535 Removed obsolete deprecated functions, including:
    • ContentStreamParser.ExtractText and PageText.ToText — use the extractor package APIs instead
    • NewCompositePdfFontFromTTFFile/FromTTF/FromOTFFile/FromOTF — use the unified font loading APIs instead
    • PdfFont.CharcodesToUnicodeWithStats
  • US-1536 PdfColor is now a typed interface — code relying on the previous interface{}-based signatures may need updates