Skip to content

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 02 Nov 03:03
· 120 commits to main since this release

AirPDF 0.3.0

Rotated pages

  • Rotated pages now work end to end. Links, search highlights and text selection used to
    do nothing on a page with a non-zero /Rotate; all three are supported now, at 90, 180
    and 270 degrees.
  • The fix is a shared page-space to display-space transform plus a text layer that reports
    characters in reading order, verified by rendering rotated fixtures and checking that
    each computed rectangle covers the ink that was drawn.

Reading

  • The text layer is read through PDFium instead of PdfPig, using the same document handle
    the pages are rendered from. PdfPig applied /Rotate to its letters before grouping them,
    so a quarter turn came back as single letters and a half turn as reversed text.
  • Chinese and Japanese text keeps per-character selection, and searching for a multi
    character CJK term no longer fails because spaces were inserted between characters.
  • PdfPig still supplies document metadata and the bookmark outline.

Packaging

  • The Windows download is roughly halved: 53 MB to 28 MB, by publishing trimmed. The
    release step fails on any trimming warning instead of shipping a build whose reflection
    paths were removed, and the same check runs on every pull request.
  • macOS and Linux are unchanged for this release.

Under the hood

  • Settings are serialized through a source-generated context, the search whitespace
    matcher is a generated regex, and every XAML binding is compiled. Trimming and NativeAOT
    analysis now reports no warnings for the whole solution.
  • 90 tests, up from 52.