CompilePDF barcode producer — deterministic 1D/2D barcode + GS1 symbol rendering into PDFs.
Project description
compile-pdf-barcode
Deterministic barcode + GS1 symbol rendering for CompilePDF.
Draws 1D and 2D barcode symbols onto a PDF per a validated plan. CompilePDF is the only PDF writer in the Print With Synergy stack — this producer applies the barcode plan it is handed; it does not grade the symbol (codex's job) or decide pass/fail (lint's job).
Symbologies (1.0.0)
| Symbology | Standard | Kind | Notes |
|---|---|---|---|
code128 |
ISO/IEC 15417 | 1D | Auto subset B/C, computed checksum |
ean13 |
ISO/IEC 15420 | 1D | 12 digits + computed check, or 13 validated |
upca |
ISO/IEC 15420 | 1D | GTIN-12 subset of EAN-13 |
qr |
ISO/IEC 18004 | 2D | Via segno; L/M/Q/H error correction |
Determinism
Symbols are drawn as black-filled rectangle content streams (one rect per bar /
per dark module), with fixed-decimal numeric formatting and stable rectangle
ordering, then saved with Pdf.save(deterministic_id=True, linearize=False).
Same input PDF + same plan → byte-identical output PDF (verified by the
determinism layer in the verifier). The pure-Python segno QR generator is
deterministic for a fixed payload + error level.
Service-skip (fail-fast)
The 2D (QR) lane requires segno. If it is not importable the producer fails
fast with BARCODE_LIB_MISSING (HTTP 503) rather than emitting a PDF that lies
about what was drawn — compile is a writer, not a silent skipper.
Install
uv pip install compile-pdf-barcode
Position in the stack
One of the CompilePDF producers (rewrite, marks,
impose, trap, soft-proof, separations, white-underbase, barcode, …). Each
lives in its own PyPI package; producers depend on compile-pdf-core, never on
each other.
- Repo: https://github.com/printwithsynergy/compile-pdf-barcode
- Deployment host: https://github.com/printwithsynergy/compile-pdf
- License: AGPL-3.0-or-later
Scoped follow-ups
- GS1 application identifiers (SSCC/SGTIN AI bracket encoding, GS1-128 FNC1) — the schema accepts raw payloads today; AI-aware encoding is an additive 1.x.
- DataMatrix (incl. GS1 DataMatrix) —
segnois QR-only; DataMatrix needs a separate deterministic encoder (additive 1.x, fails fast if its lib is absent).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file compile_pdf_barcode-0.1.0.tar.gz.
File metadata
- Download URL: compile_pdf_barcode-0.1.0.tar.gz
- Upload date:
- Size: 23.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1a71ff2457e45a072efeac2e8f2662a1c77ae2c40f3294237aff62608a08c571
|
|
| MD5 |
356f19ad07fb57e4b656968b1d7721ba
|
|
| BLAKE2b-256 |
85d3267f2e60dfaba0cbbf948764e976c092e3fe5ebcf06d321a93ecd11bd31f
|
File details
Details for the file compile_pdf_barcode-0.1.0-py3-none-any.whl.
File metadata
- Download URL: compile_pdf_barcode-0.1.0-py3-none-any.whl
- Upload date:
- Size: 21.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
86b5a0cd60d69f1f4d4bc79a568d051e4ed0b5cbbd6f900d17614556a94fc188
|
|
| MD5 |
5bf0e4976099baca4393237b86fa0b88
|
|
| BLAKE2b-256 |
bb3658cc4c12ed05e65a8744a3effd7c094e001bbb351069822c7391f889e506
|