PDF: report visible unembedded fonts in PDF/X-4 (#909)

Track text state through graphics saves and drawn forms; exempt invisible text. Report font names and pages in export warnings and validation without embedding or outlining placed fonts.
This commit is contained in:
KnottyDyes
2026-10-22 10:31:21 -06:00
parent e44662305f
commit bba31c17b6
9 changed files with 489 additions and 8 deletions
+10
View File
@@ -63,6 +63,16 @@ The image must contain at most 16 million pixels. PDF/SVG graphics are unsupport
not Adobe's palette algorithm. In the UI, click an image with the Color Theme Tool (Shift+I), or choose Color Theme…
in the Swatches panel menu with one image selected. Cancel keeps the document unchanged.
## PDF/X-4 validation
`designcraft-cli validate-pdf FILE.pdf` prints JSON with `valid` and `issues`, and exits non-zero
when a built-in check fails. Checks cover PDF version, output intent and profile, Info and XMP
identification, image interpolation, encryption, trim boxes, Type 3 fonts, device RGB under a CMYK
output intent, and unembedded fonts drawing visible text (including placed PDF forms). Render
mode 3 (invisible OCR text) is exempt from the font-embedding check. PDF/X-4 export reports these
issues as warnings; it does not embed or outline placed fonts. These checks are not a complete
external PDF/X certification.
## Data merge
`data.source.select {path, sheet?}` links a CSV/TSV/`.xlsx` file to the document (`data.source.update` re-reads it,