Skip to content

v1.0.0 — first stable release

Choose a tag to compare

@lxman lxman released this 21 Jun 15:47

First stable release. Completes the load → edit → optimize story — a loaded PDF can now be modified in place and shrunk, in addition to being parsed, rendered, and created from scratch.

Highlights

  • Editing / mutation API (doc.Edit()): page operations; stamping & overlays; annotations; document metadata (Info + synced XMP); outlines, page labels, named destinations, viewer settings; and AcroForm form filling with appearance-stream generation and flatten. Full-rewrite save with reachability GC and optional object-stream packing.
  • Optimization API (PdfOptimizer.Optimize): Flate stream compression, object/xref-stream packing, opt-in lossy image recompression, and opt-in font subsetting (TrueType, CFF Type1C, CIDFontType0C).
  • Multi-targets .NET 8, 9, and 10.
  • All text-valued API round-trips arbitrary Unicode (PDFDocEncoding when representable, UTF-16BE otherwise).
  • All dependencies on stable releases (SkiaSharp 3.119.4) — no preview/dev builds.
  • Fixes across culture invariance, string round-trip, annotation/form-field rendering and printing, and parser robustness.

Pure C#, PDF 1.x + 2.0. Packages: Lxman.PdfLibrary, Lxman.PdfLibrary.Rendering.SkiaSharp. See CHANGELOG.md for the full list.