Barcode test sheet
A test sheet with every kind of barcode, one per page: QR codes of every version, Data Matrix up to its largest size, PDF417, Code 128 and EAN-13, some with Unicode text. Tagua’s CI renders it and decodes every code with an independent reader, which must read back exactly what was encoded.



What it shows
Section titled “What it shows”- QR, Data Matrix, PDF417, Code 128 and EAN-13
- Unicode text in 2D codes
- Barcodes drawn as vectors
- Alternative text on every code
The template
Section titled “The template”# yaml-language-server: $schema=../schema/template.schema.json# A test sheet of every barcode type the renderer draws, one per page. CI renders it, decodes each# page with zxing-cpp and checks every barcode against the value it was given.version: 1title: Barcode test sheetculture: en-US
page: size: A4 margins: 20mm
data: codes: fields: { Symbology: string, Value: string, Note: string }
styles: default: { font: Helvetica, fontSize: 12pt }
body: dataset: codes
detail: - pageBreak: after gap: 16pt content: - { type: text, value: "{Symbology}: {Note}", tag: h1 } - { type: barcode, symbology: qr, value: "{Value}", width: 260pt, alt: "{Symbology}: {Note}", visible: "=Symbology == 'QR'" } - { type: barcode, symbology: dataMatrix, value: "{Value}", width: 300pt, alt: "{Symbology}: {Note}", visible: "=Symbology == 'Data Matrix'" } - { type: barcode, symbology: pdf417, value: "{Value}", width: 480pt, alt: "{Symbology}: {Note}", visible: "=Symbology == 'PDF417'" } - { type: barcode, symbology: code128, value: "{Value}", width: 400pt, height: 90pt, alt: "{Symbology}: {Note}", visible: "=Symbology == 'Code 128'" } - { type: barcode, symbology: ean13, value: "{Value}", width: 250pt, height: 90pt, alt: "{Symbology}: {Note}", visible: "=Symbology == 'EAN-13'" }Render it yourself
Section titled “Render it yourself”Save the template, put the fonts it names next to it (Inter and the Noto fonts are free, under the SIL Open Font License), and run:
tagua render barcodes.report.yaml --openWithout a data file, tagua render makes up sample rows from the field types; see Preview as you edit.