I have data that I need to encode in PDF417 barcodes. As they are too big (>6kB), i need to split them into multiple barcode which is called MacroPDF417.
I'm stuck with a library (tec-it tbarcode SDK) and I have to deal with it. My problem is that it does not support well macro PDF417.
Thus, I'm looking for a way to generate each of the macro pdf417 one by one but I need to know what the header is supposed to look like. I know that there is info about how many barcodes the data is split into and which number the read one is but I can't find a proper specification. I suppose that all this is in a header at the beginning of the data.
Would anyone be aware of how to generate MacroPDF417 barcodes from regular PDF417 barcodes?
EDIT: I managed to make my library work. Actually, their functionality that splits barcodes automatically is no longer usable. You only need to give to each of your PDF417 BC a common id, a position, and if set if it's the last BC of the macro PDF417.
b1.Pdf417.MacroPdf417Settings.FileId = "MacroPDF417Identifier";
b1.Pdf417.MacroPdf417Settings.IsLastSegment = false;
b1.Pdf417.MacroPdf417Settings.SegmentIndex = i;
The header or Macro Control Block is actually found at the end of the data block and starts with a Macro marker codeword of 928. It is comprised of two mandatory fields and zero or more optional fields. The segment index (a zero-padded number from 0 - 99998), the file identifier (a variable length field of base 900 numbers) and optional data (0 or more optional fields).
This information can be found in the ISO 15438 specification.