project1 min read

printprep: prepress normalization to PDF/X-1a and FOGRA39

Customer artwork is always broken. PrintPrep automatically normalizes uploads into certified PDF/X-1a:2001 files with FOGRA39 output intent, bleed generation, and CMYK color space checks in Go.

In commercial printing, the files customers submit are almost universally wrong: RGB photos from an iPhone, zero bleed margins, text touching the trim edge, random raster resolutions, and transparent drop shadows that choke RIP hardware.

Print shops end up paying prepress operators to manually fix artwork in Illustrator before sending plates to the press.

PrintPrep automates that entire normalization pipeline.

What it does

Upload an arbitrary PDF, JPEG, or raster design, and PrintPrep spits out a compliant PDF/X-1a:2001 production asset:

  • FOGRA39 (ISO 12647-2) profiling: Converts RGB and mixed color spaces into standard DeviceCMYK with embedded output intents.
  • Bleed & geometry engine: Computes MediaBox, CropBox, TrimBox, and BleedBox tolerances down to fractional millimeters. Automatically synthesizes 3mm bleed for zero-bleed files.
  • Transparency flattening: Resolves live PDF vector transparencies and drop shadows without rasterizing text.
  • Effective PPI audit: Inspects placed raster resolution to warn before pixelated art hits expensive substrate.
  • Designer & embed suite: Includes an interactive canvas editor for stickers, banners, and signage.

Stack

Go backend orchestrating low-level prepress toolchains (Ghostscript 10, Poppler, QPDF, pdfcpu). React SPA with Fabric.js for the visual designer. Multi-stage Docker deployment behind Nginx.