zplCore.comzplCore.com
class5 members

ZplScanProof

public static class ZplScanProof

Scan-proof (stage 1, barcode assurance): renders ZPL, then reads every barcode back from the rendered bitmap with two independent decoders (zxing-cpp, ZXing.Net), compares the result with the data the field asks for, measures the symbol on the bitmap (X-dimension, quiet zones, bar height, clipping, overlap with other ink, module rounding) and gives a digital pre-check grade modelled on ISO/IEC 15416 (linear) and ISO/IEC 15415 (2D).

The grade describes the digital symbol at printer resolution. It is not an ISO-conformant verification and does not replace a calibrated verifier on the printed label: print physics (dot gain, darkness, speed, media, printhead wear) are not modelled. Symbologies that no decoder supports (postal, Codablock F, Code 49, Code 11 …) get the structural checks only (status ScanProofDataStatus.NotDecodable). See docs-internal/scan-proof.md.

Online ausprobieren auf zplCloud.com: Barcode-Scan-Proof

Properties

PropertyTypeDescription
static Coverage { get; }IReadOnlyList<ScanProofCoverage>Decoder coverage of every ZPL barcode command and every stand-alone generator symbology.
static Decoders { get; }IReadOnlyList<ScanProofDecoderInfo>The decoders and whether they are available on this platform.

Fields & Constants

FieldTypeDescription
const Disclaimer = "Digital pre-check modelled on ISO/IE…"stringThe wording every report carries.

Methods

Method SignatureReturnsDescription
static # Verify(string zpl, ScanProofOptions? options = default)ScanProofReportRenders zpl and checks every barcode symbol on every label.
static # Verify(Barcode barcode, ScanProofOptions? options = default)ScanProofReportChecks a stand-alone generator barcode (Barcode) at its own Barcode.Dpi: the symbol is rendered without its interpretation text and with rotation 0 (both restored afterwards), decoded and measured like a ZPL field. ScanProofOptions.Dpi and the label settings are ignored.