From 5d844aee1416f71db8b13c784c0c52add49d9c09 Mon Sep 17 00:00:00 2001 From: tannevaled Date: Sat, 26 Sep 2026 17:37:08 +0200 Subject: [PATCH] Annotations ARE implemented here, and three absences are somewhere else "Encryption, tagged/PDF-A, forms and annotations are not yet implemented" is one line denying four things. Measured in this repository and the organisation: annotations page.go:83 AddLink, :90 AddNamedDest, :97 AddNamedLink write a clickable /Link. The sentence is simply false. encryption absent here (0 non-test files), present in go-pdfkit/reader: RC4-40 through AES-256 read, AES-128 and AES-256 written. forms absent here (no AcroForm), present in go-pdfkit/forms and xfa. tagged/PDF-A PDF/A absent everywhere; a structure tree is preserved by go-pdfkit/ops and created by nothing. "Not implemented" and "not in this package" are different sentences, and the reader who needs the second is sent away by the first. Each bullet now says which one it means and where the answer is. Co-Authored-By: Claude Opus 5 --- README.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index aba8262..0b00ff5 100644 --- a/README.md +++ b/README.md @@ -140,7 +140,18 @@ TrueType font, a synthesised CFF2 font and a bundled OFL OpenType/CFF font. - A **CID-keyed CFF** or a **CFF2 (variable)** font cannot be charstring-subsetted by the preserve-numbering path, so it gracefully falls back to embedding the whole `CFF`/`CFF2` table. -- Encryption, tagged/PDF-A, forms and annotations are not yet implemented. +- **Link annotations are written here**: `AddLink`, `AddNamedDest` and + `AddNamedLink` put a clickable `/Link` with a URI or a named destination over + a rectangle. No other annotation type is, and nothing here draws an + appearance stream for one — `go-pdfkit/render` does that when reading. +- **Encryption is not written here.** It is not missing from the organisation: + `go-pdfkit/reader` reads RC4-40 through AES-256 and writes AES-128 and + AES-256 with permissions and both passwords. +- **Forms are not written here** — `go-pdfkit/forms` reads, fills and flattens + an AcroForm, and `go-pdfkit/xfa` reads the other kind. +- **PDF/A and tagged PDF are not written here**, and PDF/A is not implemented + anywhere in the organisation. A structure tree is only ever preserved: + `go-pdfkit/ops` rebuilds one it is given around the pages that survive. ## License