Registry

California FL-100 — programmatic fill compatibility

Petition — Marriage/Domestic Partnership (family law) · Judicial Council of California · Rev. January 1, 2020. Tested 2026-08-06 on the unmodified upstream blank — every number below comes from a recorded run, not from documentation.

Verdict at a glance

ToolVersionResultDetail
pdfops APIhosted, tested 2026-08-06fails at parseinvalid_pdf: Error: Input document to `PDFDocument.load` is encrypted. You can use `PDFDocument.load(..., { ignoreEncryption: true })` if you wish to load the document anyways.
pdf-lib1.17.1fails at loadError: Input document to `PDFDocument.load` is encrypted. You can use `PDFDocument.load(..., { ignoreEncryption: true })` if you wish to load the document anyways.
@cantoo/pdf-lib (fork)2.6.5fails at loadError: Input document to `PDFDocument.load` is encrypted. You can use `PDFDocument.load(..., { ignoreEncryption: true })` if you wish to load the document anyways.
pypdf6.15.0text fields verified (66/66)66 text fields written and re-read (text fields only)
pdftk-java3.3.3verified (148/148)148 fields filled via FDF and re-dumped
qpdf --check11.9.0warningsWARNING: public/registry/blank/ca-fl-100.pdf: page 2: shared object 1171: in hint table but not computed list | qpdf: operation succeeded with warnings
poppler render checkno filled output to renderno filled PDF from the pdf-lib leg to render

File facts

Quirks & limitations

Tested request

The unmodified blank is rejected at parse time, so there is no working direct request to show — see the quirks above for the verified decrypt-first workaround.

Frequently asked

Can I fill the California FL-100 programmatically?

Not directly with pdf-lib-family tooling — the unmodified blank ships encrypted, and pdf-lib and the pdfops API refuse it at parse time. Verified workaround: decrypt first (qpdf --decrypt), after which it fills as a normal AcroForm; pypdf with the cryptography extra opens it directly (text fields only). pdftk-java fills the encrypted blank natively — 148 fields across all field types via fill_form, no decrypt step — and writes a decrypted output.

Why do PDF libraries reject the California FL-100?

The blank is AES-encrypted with an empty user password: anyone can open it in a viewer, but the owner password restricts modification, and strict parsers refuse the file outright. qpdf --decrypt removes the restriction losslessly; pypdf can open it directly when its optional cryptography dependency is installed; pdftk-java both reads and fills it natively (its output is decrypted).