Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

Why 30-Up Avery 5160 Barcode Sheets Drift by 4.2mm (and How We Built a 1:1 PostScript Point Imposition Engine)

Description and use

Solution to vertical drift of 30‑up Avery 5160 barcode sheets: precise geometry calculation, CSS property binding to points, and point‑for‑point PDF export.

Problem

Browser-generated 30‑up Avery 5160 barcode sheets drift vertically, causing barcodes to cross die‑cut lines and fail scanners.

Outcome

Implemented a 1:1 PostScript point imposition engine that eliminates 4.2 mm vertical drift in 30‑up Avery 5160 barcode sheets, ensuring accurate alignment and scanner compatibility.

Workflow

  • 1. Define exact die‑line geometry for Avery 5160/8160 (margins, cell size, gutters, pitches).
  • 2. Calculate PDF canvas size in PostScript points (612 × 792 pt).
  • 3. Detect browser scaling (e.g., 94.5%) and compute drift per row.
  • 4. Provide a printable alignment test PDF with crosshairs and a 100 mm ruler for operator verification.
  • 5. In the web generator, bind a CSS custom property --pt to the rendered cell’s width divided by physical points wide.
  • 6. Express all font sizes, quiet zones, and bar heights as calc(N * var(--pt) * var(--sf)) to match server‑side PDF imposition.
  • 7. Validate GS1 check digits using a modulo‑10 algorithm for UPC‑A, EAN‑13, and GTIN‑14.
  • 8. Export PDF with point‑for‑point imposition to preserve coordinates.
  • 9. Print on Avery 5160/8160 sheets and verify alignment using the test PDF.

Evidence

When Chrome or macOS Preview opens a PDF with Fit to Printable Area enabled, it scales the entire 792 pt canvas down to roughly 94.5% to stay inside a default 0.25 in unprintable printer margin

Source

Row 1 top edge at 100% scale: 12.70 mm Row 10 bottom edge at 100%: 266.70 mm Row 10 bottom edge at 94.5%: 262.45 mm --> 4.25 mm cumulative vertical drift!

Source

Every font size, quiet zone, and bar height inside the preview is then expressed as calc(N * var(--pt) * var(--sf))

Source

  • Record date: 2026-11-01T23:28:44.642Z