errors and 3 warnings across the synthetic interior and cover package.
Know before the upload.
Inspect geometry, fonts, images, hidden features, and cover math locally before upload.
Evidence, not a confidence score.
This result is generated from the committed failing PDFs. Every finding includes a stable code, measurement, repair path, and source while manuscript text stays private.
-
Found annotations on 1 page(s).
ANNOTATIONS_PRESENTPDF annotations are present -
Font Helvetica is referenced but not embedded.
FONT_NOT_EMBEDDEDFont is not embedded -
Found 1 placed image(s) below 300 effective DPI.
IMAGE_LOW_DPIImage is below 300 effective DPI
The checks are concrete.
ProofMill reads PDF objects and measured geometry. Unsupported claims stay out of the result instead of being dressed up as a score.
Interior geometry
Single pages, trim, asymmetric bleed, mirrored gutters, rotations, and spreads.
Print content
Used font embedding, effective image DPI, safe text, transparency, and thin strokes.
Cover math
Paper-specific spine width, one-page wrap, outside safety, and spine text clearance.
Hidden features
Annotations, forms, JavaScript, attachments, bookmarks, encryption, and file size.
CI receipts
Deterministic JSON and offline HTML with exact input SHA-256 values and exit codes.
Reproducible proof data
Regenerate the committed passing and failing PDFs to exercise detection paths without sharing a manuscript.
One command to begin.
Download the wheel from the latest GitHub Release. Python 3.11 or newer is supported on Windows, macOS, and Linux.
python -m pip install proofmill-0.1.0-py3-none-any.whl
proofmill init
proofmill audit --config proofmill.json