in src/core/xfa/template.js [677:831]
constructor(attributes) {
super(TEMPLATE_NS_ID, "barcode", /* hasChildren = */ true);
this.charEncoding = getKeyword({
data: attributes.charEncoding
? attributes.charEncoding.toLowerCase()
: "",
defaultValue: "",
validate: k =>
[
"utf-8",
"big-five",
"fontspecific",
"gbk",
"gb-18030",
"gb-2312",
"ksc-5601",
"none",
"shift-jis",
"ucs-2",
"utf-16",
].includes(k) || k.match(/iso-8859-\d{2}/),
});
this.checksum = getStringOption(attributes.checksum, [
"none",
"1mod10",
"1mod10_1mod11",
"2mod10",
"auto",
]);
this.dataColumnCount = getInteger({
data: attributes.dataColumnCount,
defaultValue: -1,
validate: x => x >= 0,
});
this.dataLength = getInteger({
data: attributes.dataLength,
defaultValue: -1,
validate: x => x >= 0,
});
this.dataPrep = getStringOption(attributes.dataPrep, [
"none",
"flateCompress",
]);
this.dataRowCount = getInteger({
data: attributes.dataRowCount,
defaultValue: -1,
validate: x => x >= 0,
});
this.endChar = attributes.endChar || "";
this.errorCorrectionLevel = getInteger({
data: attributes.errorCorrectionLevel,
defaultValue: -1,
validate: x => x >= 0 && x <= 8,
});
this.id = attributes.id || "";
this.moduleHeight = getMeasurement(attributes.moduleHeight, "5mm");
this.moduleWidth = getMeasurement(attributes.moduleWidth, "0.25mm");
this.printCheckDigit = getInteger({
data: attributes.printCheckDigit,
defaultValue: 0,
validate: x => x === 1,
});
this.rowColumnRatio = getRatio(attributes.rowColumnRatio);
this.startChar = attributes.startChar || "";
this.textLocation = getStringOption(attributes.textLocation, [
"below",
"above",
"aboveEmbedded",
"belowEmbedded",
"none",
]);
this.truncate = getInteger({
data: attributes.truncate,
defaultValue: 0,
validate: x => x === 1,
});
this.type = getStringOption(
attributes.type ? attributes.type.toLowerCase() : "",
[
"aztec",
"codabar",
"code2of5industrial",
"code2of5interleaved",
"code2of5matrix",
"code2of5standard",
"code3of9",
"code3of9extended",
"code11",
"code49",
"code93",
"code128",
"code128a",
"code128b",
"code128c",
"code128sscc",
"datamatrix",
"ean8",
"ean8add2",
"ean8add5",
"ean13",
"ean13add2",
"ean13add5",
"ean13pwcd",
"fim",
"logmars",
"maxicode",
"msi",
"pdf417",
"pdf417macro",
"plessey",
"postauscust2",
"postauscust3",
"postausreplypaid",
"postausstandard",
"postukrm4scc",
"postusdpbc",
"postusimb",
"postusstandard",
"postus5zip",
"qrcode",
"rfid",
"rss14",
"rss14expanded",
"rss14limited",
"rss14stacked",
"rss14stackedomni",
"rss14truncated",
"telepen",
"ucc128",
"ucc128random",
"ucc128sscc",
"upca",
"upcaadd2",
"upcaadd5",
"upcapwcd",
"upce",
"upceadd2",
"upceadd5",
"upcean2",
"upcean5",
"upsmaxicode",
]
);
this.upsMode = getStringOption(attributes.upsMode, [
"usCarrier",
"internationalCarrier",
"secureSymbol",
"standardSymbol",
]);
this.use = attributes.use || "";
this.usehref = attributes.usehref || "";
this.wideNarrowRatio = getRatio(attributes.wideNarrowRatio);
this.encrypt = null;
this.extras = null;
}