artworkPDF
artworkPDF
Section titled “artworkPDF”WYSIWYG label & packaging artwork editor for the Print With Synergy stack. Full flexo support: spot/Pantone, white/varnish/dieline/technical separations, flexo distortion compensation, variable data, structural dielines (CF2/DDES/ARD). PDF/X-4 output via pdf-lib + Ghostscript.
Workflow: create → lint → trap → step-and-repeat → RIP
Self-hostable OSS engine. Hosted at artworkpdf.com.
Quick start (Docker)
Section titled “Quick start (Docker)”docker compose up -dcurl http://localhost:3001/healthzQuick start (Node)
Section titled “Quick start (Node)”pnpm installpnpm buildDATABASE_URL=postgresql://user:pass@localhost/artworkpdf pnpm --filter @artworkpdf/service startSubmit a render job
Section titled “Submit a render job”curl -X POST http://localhost:3001/jobs \ -H 'Content-Type: application/json' \ -d '{"document":{"layers":[]},"output":{"format":"pdf-x4"}}'Architecture
Section titled “Architecture”See ARCHITECTURE.md.
Embedding the editor
Section titled “Embedding the editor”The WYSIWYG canvas ships as a host-customizable React package
@printwithsynergy/artwork-pdf-editor so other apps (Next.js
routes, Astro pages, Remix, plain React) can mount it without an
iframe:
import { EditorApp, getDefaultTemplate, templateToInitialState,} from "@printwithsynergy/artwork-pdf-editor";
const { objects, pageSize } = templateToInitialState(getDefaultTemplate());
<EditorApp demo initialPhase="editor" initialObjects={objects} initialPageSize={pageSize} bleedMm={3.175} // 0.125 in config={{ enable_separations_panel: false }} // disable any feature topBar={{ logo: <img src="/my-logo.svg" alt="Acme" />, extraButtons: [{ label: "← Back", href: "/" }], }}/>Full prop reference: packages/editor-app/src/lib/editor-config.ts
and packages/editor-app/src/components/TopBar.tsx.
Hosts without a backend (offline editors, marketing demos) import
NO_BACKEND_DEFAULTS to disable every panel that needs a host
adapter — PANTONE search, AI generators, lint findings, etc. — so
the visible surface only includes panels that work in-browser. The
artworkpdf.com demo is a stock install of this preset; see
packages/editor-app/README.md.
AGPL §13 Network Use
Section titled “AGPL §13 Network Use”If you run artworkPDF as a network service (SaaS), you must make the
complete corresponding source available. The /source HTTP route on any
running instance resolves to the source archive for the running commit:
https://github.com/printwithsynergy/artwork-pdf/archive/<sha>.tar.gz
A source link also appears in the editor footer.
License
Section titled “License”AGPL-3.0-or-later. Copyright © 2024–2026 Print with Synergy.