CompilePDF CompilePDF
CompilePDF
Rewrite · Marks · Impose · Trap · CJD pipeline · Lineage

Write the bytes.
Verify the math.

The only writer in the Print With Synergy stack. Four producer engines for prepress, a multi-producer orchestrator, and a lineage store — every byte deterministic, every operation verifiable.

The writer prepress actually deserves

CompilePDF ships four producer engines, a multi-producer orchestrator, and a lineage store — every byte deterministic, every operation verifiable. AGPL-3.0-licensed, no vendor lock-in.

Rewrite producer

Fifteen object-tree mutations across structural, hygiene, and lifecycle categories. OCG flips, page boxes, metadata patches, color-space swaps — every op round-trips deterministically.

Marks producer

Twelve mark types across production, proofing, and universal categories — register, crop, color-bar, fold, slug-text — plus PDF/PNG external template ingestion.

Impose producer

Sheet-level step-and-repeat with work-and-turn / tumble. Codex solves the layout via tile_grid; Compile drops cells via pikepdf. Cell-extract round-trip verifier in CI.

Trap producer

Ink-pair spread / choke with three engine slots (pure_python default, ghostscript, external). Codex polygon_offset + delta_e_2000 verification. trap-diff artifact baked in.

CJD pipeline

Compile Job Definition envelopes — JSON and XML — bundle rewrite → marks → impose → trap into one submission. Canonical step ordering; strict_order rejects out-of-spec.

Lineage chain

One record per producer step, threading input/output SHA-256 + cache_key through the chain. Memory backend default; S3 + Redis lit up for durable storage.

Four-layer verifier

Every producer ships post-condition gates: schema, determinism, nothing-else-touched, plus a producer-specific Layer (marks-hash, cell-extract, delta_e tolerance).

Deterministic by construction

Pdf.save(deterministic_id=True), no wall-clock time inside engines, fixed-decimal numeric formatting. Same input + same plan → same SHA-256 across machines.

Cache-key reproducibility

Cache keys composed from codex_pdf wheel version + color/geom/document schema versions + producer + plan SHA + input SHA. Section bumps invalidate automatically.

Real ink-pair extraction

trap-extract walks PDF content streams, finds spot-ink rectangles, and emits suggested trap_zones for every adjacency. Auto-trap pipelines stop being manual.

Auth on every route

COMPILE_AUTH_MODE gates producer + CJD + lineage endpoints (bearer / api-key / internal / basic). Healthz / contract / version / metrics stay open by design.

Celery-ready

Five Celery task wrappers (one per producer + CJD). Workers run via `celery -A compile_pdf.tasks worker`; /v1/healthz.celery_workers surfaces live count.

Open source

One family. Seven tools. Pick the pieces you need.

The print-prepress stack split into focused, replaceable components — preflight, assembly, structure, inspection, measurement, artwork, and workflow orchestration. Use one, use all seven, or vendor only the parts that fit your pipeline.

compile-pdf

Beta

The writer half of the Print With Synergy stack — four producer engines plus a multi-producer pipeline.

codex-pdf

Beta

Structured PDF extraction API that turns complex files into consistent JSON.

lens-pdf

Beta

Embeddable PDF viewer with separations, TAC, layers, and annotation overlays.

lint-pdf

Beta

Detection-only PDF preflight engine — 500+ checks plus the PDF/X-4 conformance suite.

assay-pdf

Beta

PDF assay and metadata reporting — surface what's actually inside the file.

artwork-pdf

Beta

WYSIWYG canvas editor for label and packaging artwork — PDF/X-4 output, flexo support, and a full create-to-RIP workflow.

synergy

Beta

API-first PDF workflow engine — DAG workflows via REST + SSE, orchestrating the full PWS stack.