Skip to main content

6. Our own PDF writer rather than Skia's PDF backend

Date: 2026-09-12

Status​

Accepted

Context​

Skia produces an opaque PDF — no PDF/A, no tagged structure, no control over compression, no streaming output. Conformance and streaming are the heart of the promise.

Decision​

We will write the PDF writer ourselves, for full control over compression, conformance and streaming.

Consequences​

  • Rejected — SKDocument.CreatePdf (quick to ship, a dead end afterwards).

Recorded as D05 before this project adopted Architecture Decision Records; the identifier still appears in commit messages and in CLAUDE.md.