Open source print PDF preflight

Know before the upload.

Inspect geometry, fonts, images, hidden features, and cover math locally before upload.

Rendered synthetic passing paperback cover fixture
A real rendered page from the repository's deterministic passing cover PDF.

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.

Actual fixture result 11

errors and 3 warnings across the synthetic interior and cover package.

  • ANNOTATIONS_PRESENTPDF annotations are present
    Found annotations on 1 page(s).
  • FONT_NOT_EMBEDDEDFont is not embedded
    Font Helvetica is referenced but not embedded.
  • IMAGE_LOW_DPIImage is below 300 effective DPI
    Found 1 placed image(s) below 300 effective DPI.
Open every finding and its evidence

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