const fs = require("fs");
const java = require('java');
const joint = require("./Joint");
/**
* BarcodeGenerator for backend barcode images generation.
* supported symbologies:
* 1D:
* Codabar, Code11, Code128, Code39Standard, Code39Extended
* Code93Standard, Code93Extended, EAN13, EAN8, Interleaved2of5,
* MSI, Standard2of5, UPCA, UPCE, ISBN, GS1Code128, Postnet, Planet
* EAN14, SCC14, SSCC18, ITF14, SingaporePost ...
* 2D:
* Aztec, DataMatrix, PDf417, QR code ...
* @example
* // This sample shows how to create and save a barcode image.
* let encode_type = EncodeTypes.CODE_128;
* let generator = new BarcodeGenerator(encode_type);
* generator.setCodeText("123ABC");
*/
class BarcodeGenerator extends joint.BaseJavaClass
{
parameters;
static get javaClassName()
{
return "com.aspose.mw.barcode.generation.MwBarcodeGenerator";
}
/**
* BarcodeGenerator constructor.
* @param encodeType Barcode symbology type. Use EncodeTypes class to setup a symbology
* @param codeText Text to be encoded.
* @code
* let barcodeGenerator = new BarcodeGenerator(EncodeTypes.EAN_14, "332211");
* @encode
* @throws BarcodeException
*/
constructor(encodeType, codeText)
{
let java_class_link = java.import(BarcodeGenerator.javaClassName);
let java_class = new java_class_link(encodeType, codeText);
super(java_class);
this.init();
}
static construct(javaClass)
{
let barcodeGenerator = new BarcodeGenerator(null, null);
barcodeGenerator.setJavaClass(javaClass);
return barcodeGenerator;
}
init()
{
this.parameters = new BaseGenerationParameters(this.getJavaClass().getParametersSync());
}
/**
* Generation parameters.
* @return BaseGenerationParameters
*/
getParameters()
{
return this.parameters;
}
/**
* Barcode symbology type.
*/
getBarcodeType()
{
return this.getJavaClass().getBarcodeTypeSync();
}
/**
* Barcode symbology type.
*/
setBarcodeType(value)
{
this.getJavaClass().setBarcodeTypeSync(value);
}
/**
* Generate the barcode image under current settings.
* This sample shows how to create and save a barcode image.
* @param {BarCodeImageFormat} format BarCodeImageFormat value (PNG, BMP, JPEG, GIF)
* @example
* let generator = new BarCodeGenerator(EncodeTypes.CODE_128);
* let image = generator.generateBarCodeImage(BarCodeImageFormat.GIF);
* @return {String} base64 representation of image.
*/
generateBarCodeImage(format)
{
try
{
let base64Image = this.getJavaClass().generateBarCodeImageSync(format);
return (base64Image);
} catch (e)
{
throw new joint.BarcodeException(e)
}
}
/**
* Save barcode image to specific file in specific format.
* @param {String} filePath Path to save to.
* @param {BarCodeImageFormat} format BarCodeImageFormat value (PNG, BMP, JPEG, GIF)
* @example
* let generator = new BarCodeGenerator(EncodeTypes.CODE_128);
* generator.save("file path", BarCodeImageFormat.GIF);
*/
save(filePath, format)
{
let image64 = this.generateBarCodeImage(format);
let buff = Buffer.from(image64, 'base64');
fs.writeFileSync(filePath, buff);
}
/**
* Text to be encoded.
*/
getCodeText()
{
return this.getJavaClass().getCodeTextSync();
}
/**
* Text to be encoded.
*/
setCodeText(value)
{
this.getJavaClass().setCodeTextSync(value);
}
/**
* Exports BarCode properties to the xml file specified
* @param filePath The xml file
* @return Whether or not export completed successfully. Returns <b>True</b> in case of success; <b>False</b> Otherwise </para>
* @throws IOException
*/
exportToXml(filePath)
{
try
{
let xmlData = this.getJavaClass().exportToXmlSync();
let isSaved = xmlData != null;
if (isSaved)
{
fs.writeFileSync(filePath, xmlData);
}
return isSaved;
} catch (ex)
{
throw new BarcodeException(ex.getMessage());
}
}
/**
* <p>
* Imports BarCode properties from the xml-file specified and creates BarcodeGenerator instance.
* </p>
* @return BarcodeGenerator instance
* @param filePath The name of the file
*/
importFromXml(filePath)
{
try
{
let xmlData = joint.convertResourceToBase64String(filePath);
let offset = 6;
xmlData = xmlData.substr(offset);
return BarcodeGenerator.construct(java(BarcodeGenerator.javaClassName).importFromXmlSync(xmlData));
} catch (ex)
{
throw new BarcodeException(ex.getMessage());
}
}
}
/**
* Barcode generation parameters.
*/
class BarcodeParameters extends joint.BaseJavaClass
{
xDimension;
barHeight;
codeTextParameters;
postal;
australianPost;
codablock;
dataBar;
gs1CompositeBar;
dataMatrix;
code16K;
itf;
qr;
pdf417;
maxiCode;
aztec;
code128;
codabar;
coupon;
hanXin;
supplement;
dotCode;
padding;
patchCode;
barWidthReduction;
constructor(javaClass)
{
super(javaClass);
this.init();
}
init()
{
this.xDimension = new Unit(this.getJavaClass().getXDimensionSync());
this.barWidthReduction = new Unit(this.getJavaClass().getBarWidthReductionSync());
this.barHeight = new Unit(this.getJavaClass().getBarHeightSync());
this.codeTextParameters = new CodetextParameters(this.getJavaClass().getCodeTextParametersSync());
this.postal = new PostalParameters(this.getJavaClass().getPostalSync());
this.australianPost = new AustralianPostParameters(this.getJavaClass().getAustralianPostSync());
this.codablock = new CodablockParameters(this.getJavaClass().getCodablockSync());
this.dataBar = new DataBarParameters(this.getJavaClass().getDataBarSync());
this.gs1CompositeBar = new GS1CompositeBarParameters(this.getJavaClass().getGS1CompositeBarSync());
this.dataMatrix = new DataMatrixParameters(this.getJavaClass().getDataMatrixSync());
this.code16K = new Code16KParameters(this.getJavaClass().getCode16KSync());
this.itf = new ITFParameters(this.getJavaClass().getITFSync());
this.qr = new QrParameters(this.getJavaClass().getQRSync());
this.pdf417 = new Pdf417Parameters(this.getJavaClass().getPdf417Sync());
this.maxiCode = new MaxiCodeParameters(this.getJavaClass().getMaxiCodeSync());
this.aztec = new AztecParameters(this.getJavaClass().getAztecSync());
this.code128 = new Code128Parameters(this.getJavaClass().getCode128Sync());
this.codabar = new CodabarParameters(this.getJavaClass().getCodabarSync());
this.coupon = new CouponParameters(this.getJavaClass().getCouponSync());
this.hanXin = new HanXinParameters(this.getJavaClass().getHanXinSync());
this.supplement = new SupplementParameters(this.getJavaClass().getSupplementSync());
this.dotCode = new DotCodeParameters(this.getJavaClass().getDotCodeSync());
this.padding = new Padding(this.getJavaClass().getPaddingSync());
this.patchCode = new PatchCodeParameters(this.getJavaClass().getPatchCodeSync());
}
/**
* x-dimension is the smallest width of the unit of BarCode bars or spaces.<br>
* Increase this will increase the whole barcode image width.<br>
* Ignored if AutoSizeMode property is set to AutoSizeMode.NEAREST or AutoSizeMode.INTERPOLATION.
*/
getXDimension()
{
return this.xDimension;
}
/**
* x-dimension is the smallest width of the unit of BarCode bars or spaces.<br>
* Increase this will increase the whole barcode image width.<br>
* Ignored if AutoSizeMode property is set to AutoSizeMode.NEAREST or AutoSizeMode.INTERPOLATION.
* @throws BarcodeException
*/
setXDimension(value)
{
this.getJavaClass().setXDimensionSync(value.getJavaClass());
this.xDimension = value;
}
/**
* Height of 1D barcodes' bars in Unit value.<br>
* Ignored if AutoSizeMode property is set to AutoSizeMode.NEAREST or AutoSizeMode.INTERPOLATION.
* @throws BarcodeException
*/
getBarHeight()
{
return this.barHeight;
}
/**
* Height of 1D barcodes' bars in Unit value.<br>
* Ignored if AutoSizeMode property is set to AutoSizeMode.NEAREST or AutoSizeMode.INTERPOLATION.
* @throws BarcodeException
*/
setBarHeight(value)
{
this.getJavaClass().setBarHeightSync(value.getJavaClass());
this.barHeight = value;
}
/**
* Bars color.
* @return value of Bar color
* Default value: #000000
*/
getBarColor()
{
let intColor = this.getJavaClass().getBarColorSync();
let hexColor = ((intColor) >>> 0).toString(16).slice(-6).toUpperCase()
while (hexColor.length < 6)
{
hexColor = "0" + hexColor;
}
hexColor = "#" + hexColor;
return hexColor;
}
/**
* Bars color.
* @param {String} value for Bar color
* Default value: #000000.
*/
setBarColor(value)
{
this.getJavaClass().setBarColorSync((parseInt(value.substr(1), 16) << 8) / 256);
}
/**
* Barcode paddings.<br>
* Default value: 5pt 5pt 5pt 5pt.
*/
getPadding()
{
return this.padding;
}
/**
* Barcode paddings.<br>
* Default value: 5pt 5pt 5pt 5pt.
*/
setPadding(value)
{
this.getJavaClass().setPaddingSync(value.getJavaClass());
this.padding = value;
}
/**
* Always display checksum digit in the human readable text for Code128 and GS1Code128 barcodes.
*/
getChecksumAlwaysShow()
{
return this.getJavaClass().getChecksumAlwaysShowSync();
}
/**
* Always display checksum digit in the human readable text for Code128 and GS1Code128 barcodes.
*/
setChecksumAlwaysShow(value)
{
this.getJavaClass().setChecksumAlwaysShowSync(value);
}
/**
* Enable checksum during generation 1D barcodes.<br>
* Default is treated as Yes for symbology which must contain checksum, as No where checksum only possible.<br>
* Checksum is possible: Code39 Standard/Extended, Standard2of5, Interleaved2of5, Matrix2of5, ItalianPost25, DeutschePostIdentcode, DeutschePostLeitcode, VIN, Codabar<br>
* Checksum always used: Rest symbology
*/
isChecksumEnabled()
{
return this.getJavaClass().isChecksumEnabledSync();
}
/**
* Enable checksum during generation 1D barcodes.<br>
* Default is treated as Yes for symbology which must contain checksum, as No where checksum only possible.<br>
* Checksum is possible: Code39 Standard/Extended, Standard2of5, Interleaved2of5, Matrix2of5, ItalianPost25, DeutschePostIdentcode, DeutschePostLeitcode, VIN, Codabar<br>
* Checksum always used: Rest symbology
*/
setChecksumEnabled(value)
{
this.getJavaClass().setChecksumEnabledSync(value);
}
/**
* Indicates whether explains the character "\" as an escape character in CodeText property. Used for Pdf417, DataMatrix, Code128 only<br>
* If the EnableEscape is true, "\" will be explained as a special escape character. Otherwise, "\" acts as normal characters.<br>
* Aspose.BarCode supports inputing decimal ascii code and mnemonic for ASCII control-code characters. For example, \013 and \\CR stands for CR.
*/
getEnableEscape()
{
return this.getJavaClass().getEnableEscapeSync();
}
/**
* Indicates whether explains the character "\" as an escape character in CodeText property. Used for Pdf417, DataMatrix, Code128 only<br>
* If the EnableEscape is true, "\" will be explained as a special escape character. Otherwise, "\" acts as normal characters.<br>
*<hr>Aspose.BarCode supports the decimal ascii code and mnemonic for ASCII control-code characters. For example, \013 and \\CR stands for CR.</hr>
*/
setEnableEscape(value)
{
this.getJavaClass().setEnableEscapeSync(value);
}
/**
* Wide bars to Narrow bars ratio<br>.
* Default value: 3, that is, wide bars are 3 times as wide as narrow bars<br>.
* Used for ITF, PZN, PharmaCode, Standard2of5, Interleaved2of5, Matrix2of5, ItalianPost25, IATA2of5, VIN, DeutschePost, OPC, Code32, DataLogic2of5, PatchCode, Code39Extended, Code39Standard<br>
*
* The WideNarrowRatio parameter value is less than or equal to 0.
*/
getWideNarrowRatio()
{
return this.getJavaClass().getWideNarrowRatioSync();
}
/**
* Wide bars to Narrow bars ratio.<br>
* Default value: 3, that is, wide bars are 3 times as wide as narrow bars.<br>
* Used for ITF, PZN, PharmaCode, Standard2of5, Interleaved2of5, Matrix2of5, ItalianPost25, IATA2of5, <br>
* VIN, DeutschePost, OPC, Code32, DataLogic2of5, PatchCode, Code39Extended, Code39Standard<br>
* <br>
* The WideNarrowRatio parameter value is less than or equal to 0.
*/
setWideNarrowRatio(value)
{
this.getJavaClass().setWideNarrowRatioSync(value);
}
/**
* Codetext parameters.
*/
getCodeTextParameters()
{
return this.codeTextParameters;
}
/**
* Gets a value indicating whether bars filled.<br>
* Only for 1D barcodes.<br>
* Default value: true.
*/
getFilledBars()
{
return this.getJavaClass().getFilledBarsSync();
}
/**
* Sets a value indicating whether bars filled.<br>
* Only for 1D barcodes.<br>
* Default value: true.
*/
setFilledBars(value)
{
this.getJavaClass().setFilledBarsSync(value);
}
/**
* Get bars reduction value that is used to compensate ink spread while printing.<br>
* @return Unit value of BarWidthReduction
*/
getBarWidthReduction()
{
return this.barWidthReduction;
}
/**
* Sets bars reduction value that is used to compensate ink spread while printing.
*/
setBarWidthReduction(value)
{
this.getJavaClass().setBarWidthReductionSync(value.getJavaClass());
this.barWidthReduction = value;
}
/**
* Postal parameters. Used for Postnet, Planet.
*/
getPostal()
{
return this.postal;
}
/**
* PatchCode parameters.
*/
getPatchCode()
{
return this.patchCode;
}
/**
* AustralianPost barcode parameters.
*/
getAustralianPost()
{
return this.australianPost;
}
/**
* Databar parameters.
*/
getDataBar()
{
return this.dataBar;
}
/**
* GS1 Composite Bar parameters.<br>
* <br>
* This sample shows how to create and save a GS1 Composite Bar image.<br>
* Note that 1D codetext and 2D codetext are separated by symbol '/'
*
* @example
* let codetext = "(01)03212345678906/(21)A1B2C3D4E5F6G7H8";
* let generator = new BarcodeGenerator(EncodeTypes.GS_1_COMPOSITE_BAR, codetext);
*
* generator.getParameters().getBarcode().getGS1CompositeBar().setLinearComponentType(EncodeTypes.GS_1_CODE_128);
* generator.getParameters().getBarcode().getGS1CompositeBar().setTwoDComponentType(TwoDComponentType.CC_A);
*
* // Aspect ratio of 2D component
* generator.getParameters().getBarcode().getPdf417().setAspectRatio(3);
*
* // X-Dimension of 1D and 2D components
* generator.getParameters().getBarcode().getXDimension().setPixels(3);
* ///
* // Height of 1D component
* generator.getParameters().getBarcode().getBarHeight().setPixels(100);
* ///
* generator.save("test.png", BarcodeImageFormat.PNG);
*
* @return GS1CompositeBarParameters GS1 Composite Bar parameters.
*/
getGS1CompositeBar()
{
return this.gs1CompositeBar;
}
/**
* GS1 Composite Bar parameters.<br>
* <br>
* This sample shows how to create and save a GS1 Composite Bar image.<br>
* Note that 1D codetext and 2D codetext are separated by symbol '/'
*
* @example
* let codetext = "(01)03212345678906/(21)A1B2C3D4E5F6G7H8";
* let generator = new BarcodeGenerator(EncodeTypes.GS_1_COMPOSITE_BAR, codetext);
*
* generator.getParameters().getBarcode().getGS1CompositeBar().setLinearComponentType(EncodeTypes.GS_1_CODE_128);
* generator.getParameters().getBarcode().getGS1CompositeBar().setTwoDComponentType(TwoDComponentType.CC_A);
*
* // Aspect ratio of 2D component
* generator.getParameters().getBarcode().getPdf417().setAspectRatio(3);
*
* // X-Dimension of 1D and 2D components
* generator.getParameters().getBarcode().getXDimension().setPixels(3);
*
* // Height of 1D component
* generator.getParameters().getBarcode().getBarHeight().setPixels(100);
*
* generator.save("test.png", BarcodeImageFormat.PNG);
*/
setGS1CompositeBar(value)
{
this.gs1CompositeBar = value;
this.getJavaClass().setGS1CompositeBarSync(value.getJavaClass());
}
/**
* Codablock parameters.
*/
getCodablock()
{
return this.codablock;
}
/**
* DataMatrix parameters.
*/
getDataMatrix()
{
return this.dataMatrix;
}
/**
* Code16K parameters.
*/
getCode16K()
{
return this.code16K;
}
/**
* DotCode parameters.
*/
getDotCode()
{
return this.dotCode;
}
/**
* ITF parameters.
*/
getITF()
{
return this.itf;
}
/**
* PDF417 parameters.
*/
getPdf417()
{
return this.pdf417;
}
/**
* QR parameters.
*/
getQR()
{
return this.qr;
}
/**
* Supplement parameters. Used for Interleaved2of5, Standard2of5, EAN13, EAN8, UPCA, UPCE, ISBN, ISSN, ISMN.
*/
getSupplement()
{
return this.supplement;
}
/**
* MaxiCode parameters.
*/
getMaxiCode()
{
return this.maxiCode;
}
/**
* Aztec parameters.
*/
getAztec()
{
return this.aztec;
}
/**
* <p>
* Code128 parameters.
* </p>
*/
getCode128()
{
return this.code128;
}
/**
* Codabar parameters.
*/
getCodabar()
{
return this.codabar;
}
/**
* Coupon parameters. Used for UpcaGs1DatabarCoupon, UpcaGs1Code128Coupon.
*/
getCoupon()
{
return this.coupon;
}
/**
* HanXin parameters.
*/
getHanXin()
{
return this.hanXin;
}
}
/**
* Barcode image generation parameters.
*/
class BaseGenerationParameters extends joint.BaseJavaClass
{
captionAbove;
captionBelow;
barcodeParameters;
borderParameters;
imageWidth;
imageHeight;
constructor(javaClass)
{
super(javaClass);
this.init();
}
init()
{
this.captionAbove = new CaptionParameters(this.getJavaClass().getCaptionAboveSync());
this.captionBelow = new CaptionParameters(this.getJavaClass().getCaptionBelowSync());
this.barcodeParameters = new BarcodeParameters(this.getJavaClass().getBarcodeSync());
this.borderParameters = new BorderParameters(this.getJavaClass().getBorderSync());
this.imageWidth = new Unit(this.getJavaClass().getImageWidthSync());
this.imageHeight = new Unit(this.getJavaClass().getImageHeightSync());
}
/**
* Gets a value indicating whether is used anti-aliasing mode to render image
*/
getUseAntiAlias()
{
return this.getJavaClass().getUseAntiAliasSync();
}
/**
* Sets a value indicating whether is used anti-aliasing mode to render image
*/
setUseAntiAlias(value)
{
this.getJavaClass().setUseAntiAliasSync(value);
}
/**
* Background color of the barcode image.<br>
* Default value: #FFFFFF<br>
*/
getBackColor()
{
let intColor = this.getJavaClass().getBackColorSync();
let hexColor = ((intColor) >>> 0).toString(16).slice(-6).toUpperCase()
while (hexColor.length < 6)
{
hexColor = "0" + hexColor;
}
hexColor = "#" + hexColor;
return hexColor;
}
/**
* Background color of the barcode image.<br>
* Default value: #FFFFFF<br>
*/
setBackColor(hexValue)
{
this.getJavaClass().setBackColorSync((parseInt(hexValue.substr(1), 16) << 8) / 256);
}
/**
* <p>
* Gets the resolution of the BarCode image.<br>
* One value for both dimensions.<br>
* Default value: 96 dpi.<br>
* </p>
* The Resolution parameter value is less than or equal to 0.
*/
getResolution()
{
return this.getJavaClass().getResolutionSync();
}
/**
* <p>
* Sets the resolution of the BarCode image.<br>
* One value for both dimensions.<br>
* Default value: 96 dpi.<br>
* </p>
*
* The Resolution parameter value is less than or equal to 0.
*/
setResolution(value)
{
this.getJavaClass().setResolutionSync(java.newFloat(value));
}
/**
* BarCode image rotation angle, measured in degree, e.g. RotationAngle = 0 or RotationAngle = 360 means no rotation.<br>
* If RotationAngle NOT equal to 90, 180, 270 or 0, it may increase the difficulty for the scanner to read the image<br>.
* Default value: 0.<br>
* @example
* //This sample shows how to create and save a BarCode image.
* let generator = new BarcodeGenerator( EncodeTypes.DATA_MATRIX);
* generator.getParameters().setRotationAngle(7);
* generator.save("test.png", BarcodeImageFormat.PNG);
*/
getRotationAngle()
{
return this.getJavaClass().getRotationAngleSync();
}
/**
* BarCode image rotation angle, measured in degree, e.g. RotationAngle = 0 or RotationAngle = 360 means no rotation.<br>
* If RotationAngle NOT equal to 90, 180, 270 or 0, it may increase the difficulty for the scanner to read the image.<br>
* Default value: 0.<br>
* @example
* //This sample shows how to create and save a BarCode image.
* let generator = new BarcodeGenerator( EncodeTypes.DATA_MATRIX);
* generator.getParameters().setRotationAngle(7);
* generator.save("test.png", BarcodeImageFormat.PNG);
*/
setRotationAngle(value)
{
this.getJavaClass().setRotationAngleSync(java.newFloat(value));
}
/**
* Caption Above the BarCode image. See CaptionParameters.
*/
getCaptionAbove()
{
return this.captionAbove;
}
/**
* Caption Above the BarCode image. See CaptionParameters.
*/
setCaptionAbove(value)
{
this.getJavaClass().setCaptionAboveSync(value.getJavaClass());
this.captionAbove.updateCaption(value);
}
/**
* Caption Below the BarCode image. See CaptionParameters.
*/
getCaptionBelow()
{
return this.captionBelow;
}
/**
* Caption Below the BarCode image. See CaptionParameters.
*/
setCaptionBelow(value)
{
this.getJavaClass().setCaptionBelowSync(value.getJavaClass());
this.captionBelow.updateCaption(value);
}
/**
* Specifies the different types of automatic sizing modes.<br>
* Default value: AutoSizeMode.NONE.
*/
getAutoSizeMode()
{
return this.getJavaClass().getAutoSizeModeSync();
}
/**
* Specifies the different types of automatic sizing modes.<br>
* Default value: AutoSizeMode.NONE.
*/
setAutoSizeMode(value)
{
this.getJavaClass().setAutoSizeModeSync(value + "");
}
/**
* BarCode image height when AutoSizeMode property is set to AutoSizeMode.NEAREST or AutoSizeMode.INTERPOLATION.
*/
getImageHeight()
{
return this.imageHeight;
}
/**
* BarCode image height when AutoSizeMode property is set to AutoSizeMode.NEAREST or AutoSizeMode.INTERPOLATION.
*/
setImageHeight(value)
{
this.getJavaClass().setImageHeight(value.getJavaClass());
this.imageHeight = value;
}
/**
* BarCode image width when AutoSizeMode property is set to AutoSizeMode.NEAREST or AutoSizeMode.INTERPOLATION.
*/
getImageWidth()
{
return this.imageWidth;
}
/**
* BarCode image width when AutoSizeMode property is set to AutoSizeMode.NEAREST or AutoSizeMode.INTERPOLATION.
*/
setImageWidth(value)
{
this.getJavaClass().setImageWidth(value.getJavaClass());
this.imageWidth = value;
}
/**
* Gets the BarcodeParameters that contains all barcode properties.
*/
getBarcode()
{
return this.barcodeParameters;
}
/**
* Gets the BarcodeParameters that contains all barcode properties.
*/
setBarcode(value)
{
this.getJavaClass().setBarcodeSync(value.getJavaClass());
this.barcodeParameters = value;
}
/**
* Gets the BorderParameters that contains all configuration properties for barcode border.
*/
getBorder()
{
return this.borderParameters;
}
}
/**
* Barcode image border parameters
*/
class BorderParameters extends joint.BaseJavaClass
{
width;
constructor(javaClass)
{
super(javaClass);
this.init();
}
init()
{
this.width = new Unit(this.getJavaClass().getWidthSync());
}
/**
* Border visibility. If false than parameter Width is always ignored (0).<br>
* Default value: false.
*/
getVisible()
{
return this.getJavaClass().getVisibleSync();
}
/**
* Border visibility. If false than parameter Width is always ignored (0).<br>
* Default value: false.
*/
setVisible(value)
{
this.getJavaClass().setVisibleSync(value);
}
/**
* Border width.<br>
* Default value: 0.<br>
* Ignored if Visible is set to false.
*/
getWidth()
{
return this.width;
}
/**
* Border width.<br>
* Default value: 0.<br>
* Ignored if Visible is set to false.
*/
setWidth(value)
{
this.getJavaClass().setWidthSync(value.getJavaClass());
this.width = value;
}
/**
* Returns a human-readable string representation of this BorderParameters.<br>
* @return A string that represents this BorderParameters.
*/
toString()
{
return this.getJavaClass().toStringSync();
}
/**
* Border dash style.<br>
* Default value: BorderDashStyle.SOLID.
*/
getDashStyle()
{
return this.getJavaClass().getDashStyleSync();
}
/**
* Border dash style.<br>
* Default value: BorderDashStyle.SOLID.
*/
setDashStyle(value)
{
this.getJavaClass().setDashStyleSync(value);
}
/**
* Border color.<br>
* Default value: #000000
*/
getColor()
{
let intColor = this.getJavaClass().getColorSync();
let hexColor = ((intColor) >>> 0).toString(16).slice(-6).toUpperCase()
while (hexColor.length < 6)
{
hexColor = "0" + hexColor;
}
hexColor = "#" + hexColor;
return hexColor;
}
/**
* Border color.<br>
* Default value: #000000
*/
setColor(hexValue)
{
this.getJavaClass().setColorSync((parseInt(hexValue.substr(1), 16) << 8) / 256);
}
}
/**
* Caption parameters.
*/
class CaptionParameters extends joint.BaseJavaClass
{
font;
padding;
constructor(javaClass)
{
super(javaClass);
this.init();
}
init()
{
this.padding = new Padding(this.getJavaClass().getPaddingSync());
this.font = new FontUnit(this.getJavaClass().getFontSync());
}
/**
* Caption text.<br>
* Default value: empty string.
*/
getText()
{
return this.getJavaClass().getTextSync();
}
/**
* Caption text.<br>
* Default value: empty string.
*/
setText(value)
{
this.getJavaClass().setTextSync(value);
}
/**
* Caption font.<br>
* Default value: Arial 8pt regular.
*/
getFont()
{
return this.font;
}
/**
* Caption text visibility.<br>
* Default value: false.
*/
getVisible()
{
return this.getJavaClass().getVisibleSync();
}
/**
* Caption text visibility.<br>
* Default value: false.
*/
setVisible(value)
{
this.getJavaClass().setVisibleSync(value);
}
/**
* Caption text color.<br>
* Default value BLACK.
*/
getTextColor()
{
let intColor = this.getJavaClass().getTextColorSync();
let hexColor = ((intColor) >>> 0).toString(16).slice(-6).toUpperCase()
while (hexColor.length < 6)
{
hexColor = "0" + hexColor;
}
hexColor = "#" + hexColor;
return hexColor;
}
/**
* Caption text color.<br>
* Default value BLACK.
*/
setTextColor(hexValue)
{
this.getJavaClass().setTextColorSync((parseInt(hexValue.substr(1), 16) << 8) / 256);
}
/**
* Captions paddings.<br>
* Default value for CaptionAbove: 5pt 5pt 0 5pt.<br>
* Default value for CaptionBelow: 0 5pt 5pt 5pt.
*/
getPadding()
{
return this.padding;
}
/**
* Captions paddings.<br>
* Default value for CaptionAbove: 5pt 5pt 0 5pt.<br>
* Default value for CaptionBelow: 0 5pt 5pt 5pt.
*/
setPadding(value)
{
this.getJavaClass().setPaddingSync(value.getJavaClass());
this.padding = value;
}
/**
* Caption test horizontal alignment.<br>
* Default TextAlignment.CENTER.
*/
getAlignment()
{
return this.getJavaClass().getAlignmentSync();
}
/**
* Caption test horizontal alignment.<br>
* Default TextAlignment.CENTER.
*/
setAlignment(value)
{
this.getJavaClass().setAlignmentSync(value);
}
/**
* Specify word wraps (line breaks) within text.<br>
* Default value: false.
*/
getNoWrap()
{
return this.getJavaClass().getNoWrapSync();
}
/**
* Specify word wraps (line breaks) within text.<br>
* Default value: false.
*/
setNoWrap(value)
{
this.getJavaClass().setNoWrapSync(value);
}
}
/**
* Specifies the size value in different units (Pixel, Inches, etc.).
* @example
* //This sample shows how to create and save a BarCode image.
* let generator = new BarcodeGenerator(EncodeTypes.CODE_128);
* generator.getParameters().getBarcode().getBarHeight().setMillimeters(10);
* generator.save("test.png", BarcodeImageFormat.PNG);
*/
class Unit extends joint.BaseJavaClass
{
constructor(source)
{
super(Unit.initUnit(source));
this.init();
}
static initUnit(source)
{
if (source instanceof Unit)
{
return source.getJavaClass();
}
return source;
}
init()
{
}
/**
* Gets size value in pixels.
*/
getPixels()
{
return this.getJavaClass().getPixelsSync();
}
/**
* Sets size value in pixels.
*/
setPixels(value)
{
this.getJavaClass().setPixelsSync(value);
}
/**
* Gets size value in inches.
*/
getInches()
{
return this.getJavaClass().getInchesSync();
}
/**
* Sets size value in inches.
*/
setInches(value)
{
this.getJavaClass().setInchesSync(value);
}
/**
* Gets size value in millimeters.
*/
getMillimeters()
{
return this.getJavaClass().getMillimetersSync();
}
/**
* Sets size value in millimeters.
*/
setMillimeters(value)
{
this.getJavaClass().setMillimetersSync(value);
}
/**
* Gets size value in point.
*/
getPoint()
{
return this.getJavaClass().getPointSync();
}
/**
* Sets size value in point.
*/
setPoint(value)
{
this.getJavaClass().setPointSync(value);
}
/**
* Gets size value in document units.
*/
getDocument()
{
return this.getJavaClass().getDocumentSync();
}
/**
* Sets size value in document units.
*/
setDocument(value)
{
this.getJavaClass().setDocumentSync(value);
}
/**
* Returns a human-readable string representation of this Unit.<br>
* @return A string that represents this Unit.
*/
toString()
{
return this.getJavaClass().toStringSync();
}
/**
* Determines whether this instance and a specified object,<br>
* which must also be a Unit object, have the same value.<br>
* @param obj The Unit to compare to this instance.
* @return true if obj is a Unit and its value is the same as this instance;
* otherwise, false. If obj is null, the method returns false.
*/
equals(obj)
{
return this.getJavaClass().equalsSync(obj.getJavaClass());
}
}
/**
* Paddings parameters.
*/
class Padding extends joint.BaseJavaClass
{
top;
bottom;
right;
left;
constructor(javaClass)
{
super(javaClass);
this.init();
}
init()
{
this.top = new Unit(this.getJavaClass().getTopSync());
this.bottom = new Unit(this.getJavaClass().getBottomSync());
this.right = new Unit(this.getJavaClass().getRightSync());
this.left = new Unit(this.getJavaClass().getLeftSync());
}
/**
* Top padding.
*/
getTop()
{
return this.top;
}
/**
* Top padding.
*/
setTop(value)
{
this.getJavaClass().setTopSync(value.getJavaClass());
this.top = value;
}
/**
* Bottom padding.
*/
getBottom()
{
return this.bottom;
}
/**
* Bottom padding.
*/
setBottom(value)
{
this.getJavaClass().setBottomSync(value.getJavaClass());
this.bottom = value;
}
/**
* Right padding.
*/
getRight()
{
return this.right;
}
/**
* Right padding.
*/
setRight(value)
{
this.getJavaClass().setRightSync(value.getJavaClass());
this.right = value;
}
/**
* Left padding.
*/
getLeft()
{
return this.left;
}
/**
* Left padding.
*/
setLeft(value)
{
this.getJavaClass().setLeftSync(value.getJavaClass());
this.left = value;
}
/**
* Returns a human-readable string representation of this Padding.
* @return A string that represents this Padding.
*/
toString()
{
return this.getJavaClass().toStringSync();
}
}
/**
* Codetext parameters.
*/
class CodetextParameters extends joint.BaseJavaClass
{
font;
space;
constructor(javaClass)
{
super(javaClass);
this.init();
}
init()
{
this.font = new FontUnit(this.getJavaClass().getFontSync());
this.space = new Unit(this.getJavaClass().getSpaceSync());
}
/**
* Text that will be displayed instead of codetext in 2D barcodes.<br>
* Used for: Aztec, Pdf417, DataMatrix, QR, MaxiCode, DotCode
*/
getTwoDDisplayText()
{
return this.getJavaClass().getTwoDDisplayTextSync();
}
/**
* Text that will be displayed instead of codetext in 2D barcodes.<br>
* Used for: Aztec, Pdf417, DataMatrix, QR, MaxiCode, DotCode
*/
setTwoDDisplayText(value)
{
this.getJavaClass().setTwoDDisplayTextSync(value);
}
/**
* Specify FontMode. If FontMode is set to Auto, font size will be calculated automatically based on xDimension value.<br>
* It is recommended to use FontMode.AUTO especially in AutoSizeMode.NEAREST or AutoSizeMode.INTERPOLATION.<br>
* Default value: FontMode.AUTO.
*/
getFontMode()
{
return this.getJavaClass().getFontModeSync();
}
/**
* Specify FontMode. If FontMode is set to Auto, font size will be calculated automatically based on xDimension value.<br>
* It is recommended to use FontMode.AUTO especially in AutoSizeMode.NEAREST or AutoSizeMode.INTERPOLATION.<br>
* Default value: FontMode.AUTO.
*/
setFontMode(value)
{
this.getJavaClass().setFontModeSync(value);
}
/**
* Specify the displaying CodeText's font.<br>
* Default value: Arial 5pt regular.<br>
* Ignored if FontMode is set to FontMode.AUTO.
*/
getFont()
{
return this.font;
}
/**
* Specify the displaying CodeText's font.<br>
* Default value: Arial 5pt regular.<br>
* Ignored if FontMode is set to FontMode.AUTO.
*/
setFont(value)
{
this.getJavaClass().setFontSync(value.getJavaClass());
this.font = value;
}
/**
* Space between the CodeText and the BarCode in Unit value.<br>
* Default value: 2pt.<br>
* Ignored for EAN8, EAN13, UPCE, UPCA, ISBN, ISMN, ISSN, UpcaGs1DatabarCoupon.
*/
getSpace()
{
return this.space;
}
/**
* Space between the CodeText and the BarCode in Unit value.<br>
* Default value: 2pt.<br>
* Ignored for EAN8, EAN13, UPCE, UPCA, ISBN, ISMN, ISSN, UpcaGs1DatabarCoupon.
*/
setSpace(value)
{
this.getJavaClass().setSpaceSync(value.getJavaClass());
this.space = value;
}
/**
* Gets the alignment of the code text.<br>
* Default value: TextAlignment.CENTER.
*/
getAlignment()
{
return this.getJavaClass().getAlignmentSync();
}
/**
* Sets the alignment of the code text.<br>
* Default value: TextAlignment.CENTER.
*/
setAlignment(value)
{
this.getJavaClass().setAlignmentSync(value);
}
/**
* Specify the displaying CodeText's Color.<br>
* Default value BLACK.
*/
getColor()
{
let intColor = this.getJavaClass().getColorSync();
let hexColor = ((intColor) >>> 0).toString(16).slice(-6).toUpperCase()
while (hexColor.length < 6)
{
hexColor = "0" + hexColor;
}
hexColor = "#" + hexColor;
return hexColor;
}
/**
* Specify the displaying CodeText's Color.<br>
* Default value BLACK.
*/
setColor(value)
{
this.getJavaClass().setColorSync((parseInt(value.substr(1), 16) << 8) / 256);
}
/**
* Specify the displaying CodeText Location, set to CodeLocation.NONE to hide CodeText.<br>
* Default value: CodeLocation.BELOW.
*/
getLocation()
{
return this.getJavaClass().getLocationSync();
}
/**
* Specify the displaying CodeText Location, set to CodeLocation.NONE to hide CodeText.<br>
* Default value: CodeLocation.NONE.
*/
setLocation(value)
{
this.getJavaClass().setLocationSync(value);
}
/**
* Specify word wraps (line breaks) within text.<br>
* Default value: false.
*/
getNoWrap()
{
return this.getJavaClass().getNoWrapSync();
}
/**
* Specify word wraps (line breaks) within text.<br>
* Default value: false.
*/
setNoWrap(value)
{
this.getJavaClass().setNoWrapSync(value);
}
/**
* Returns a human-readable string representation of this CodetextParameters.<br>
* @return A string that represents this CodetextParameters.
*/
toString()
{
return this.getJavaClass().toStringSync();
}
}
/**
* Postal parameters. Used for Postnet, Planet.
*/
class PostalParameters extends joint.BaseJavaClass
{
postalShortBarHeight;
constructor(javaClass)
{
super(javaClass);
this.init();
}
init()
{
this.postalShortBarHeight = new Unit(this.getJavaClass().getPostalShortBarHeightSync());
}
/**
* Short bar's height of Postal barcodes.
*/
getPostalShortBarHeight()
{
return this.postalShortBarHeight;
}
/**
* Short bar's height of Postal barcodes.
*/
setPostalShortBarHeight(value)
{
this.getJavaClass().setPostalShortBarHeightSync(value.getJavaClass());
this.postalShortBarHeight = value;
}
/**
* Returns a human-readable string representation of this PostalParameters.<br>
* @return A string that represents this PostalParameters.
*/
toString()
{
return this.getJavaClass().toStringSync();
}
}
/**
* AustralianPost barcode parameters.
*/
class AustralianPostParameters extends joint.BaseJavaClass
{
australianPostShortBarHeight;
constructor(javaClass)
{
super(javaClass);
this.init();
}
init()
{
this.australianPostShortBarHeight = new Unit(this.getJavaClass().getAustralianPostShortBarHeightSync());
}
/**
* Short bar's height of AustralianPost barcode.
*/
getAustralianPostShortBarHeight()
{
return this.australianPostShortBarHeight;
}
/**
* Short bar's height of AustralianPost barcode.
*/
setAustralianPostShortBarHeight(value)
{
this.getJavaClass().setAustralianPostShortBarHeightSync(value.getJavaClass());
this.australianPostShortBarHeight = value;
}
/**
* Interpreting type for the Customer Information of AustralianPost, default to CustomerInformationInterpretingType.Other"
*/
getAustralianPostEncodingTable()
{
return this.getJavaClass().getAustralianPostEncodingTableSync();
}
/**
* Interpreting type for the Customer Information of AustralianPost, default to CustomerInformationInterpretingType.Other"
*/
setAustralianPostEncodingTable(value)
{
this.getJavaClass().setAustralianPostEncodingTableSync(value);
}
/**
* Returns a human-readable string representation of this AustralianPostParameters.<br>
* @return {string} Value that represents this AustralianPostParameters.
*/
toString()
{
return this.getJavaClass().toStringSync();
}
}
/**
* Codablock parameters.
*/
class CodablockParameters extends joint.BaseJavaClass
{
constructor(javaClass)
{
super(javaClass);
this.init();
}
init()
{
}
/**
* Columns count.
*/
getColumns()
{
return this.getJavaClass().getColumnsSync();
}
/**
* Columns count.
*/
setColumns(value)
{
this.getJavaClass().setColumnsSync(value);
}
/**
* Rows count.
*/
getRows()
{
return this.getJavaClass().getRowsSync();
}
/**
* Rows count.
*/
setRows(value)
{
this.getJavaClass().setRowsSync(value);
}
/**
* Height/Width ratio of 2D BarCode module.
*/
getAspectRatio()
{
return this.getJavaClass().getAspectRatioSync();
}
/**
* Height/Width ratio of 2D BarCode module.
*/
setAspectRatio(value)
{
this.getJavaClass().setAspectRatioSync(java.newFloat(value));
}
/**
* Returns a human-readable string representation of this CodablockParameters. <br>
* @return {string} value that represents this CodablockParameters.
*/
toString()
{
return this.getJavaClass().toStringSync();
}
}
/**
* Databar parameters.
*/
class DataBarParameters extends joint.BaseJavaClass
{
constructor(javaClass)
{
super(javaClass);
this.init();
}
init()
{
}
/**
* Enables flag of 2D composite component with DataBar barcode
*/
is2DCompositeComponent()
{
return this.getJavaClass().is2DCompositeComponentSync();
}
/**
* Enables flag of 2D composite component with DataBar barcode
*/
set2DCompositeComponent(value)
{
this.getJavaClass().set2DCompositeComponentSync(value);
}
/**
* If this flag is set, it allows only GS1 encoding standard for Databar barcode types
*/
isAllowOnlyGS1Encoding()
{
return this.getJavaClass().isAllowOnlyGS1EncodingSync();
}
/**
* If this flag is set, it allows only GS1 encoding standard for Databar barcode types
*/
setAllowOnlyGS1Encoding(value)
{
this.getJavaClass().setAllowOnlyGS1EncodingSync(value);
}
/**
* Columns count.
*/
getColumns()
{
return this.getJavaClass().getColumnsSync();
}
/**
* Columns count.
*/
setColumns(value)
{
this.getJavaClass().setColumnsSync(value);
}
/**
* Rows count.
*/
getRows()
{
return this.getJavaClass().getRowsSync();
}
/**
* Rows count.
*/
setRows(value)
{
this.getJavaClass().setRowsSync(value);
}
/**
* Height/Width ratio of 2D BarCode module.
* Used for DataBar stacked.
*/
getAspectRatio()
{
return this.getJavaClass().getAspectRatioSync();
}
/**
* Height/Width ratio of 2D BarCode module.<br>
* Used for DataBar stacked.
*/
setAspectRatio(value)
{
this.getJavaClass().setAspectRatioSync(java.newFloat(value));
}
/**
* Returns a human-readable string representation of this DataBarParameters.<br>
* @return A string that represents this DataBarParameters.
*/
toString()
{
return this.getJavaClass().toStringSync();
}
}
/**
* DataMatrix parameters.
*/
class DataMatrixParameters extends joint.BaseJavaClass
{
constructor(javaClass)
{
super(javaClass);
this.init();
}
init()
{
}
/**
* <p>
* Gets a Datamatrix symbol size.
* Default value: DataMatrixVersion.Auto.
* </p>
*/
getDataMatrixVersion()
{
return this.getJavaClass().getDataMatrixVersionSync();
}
/**
* <p>
* Sets a Datamatrix symbol size.
* Default value: DataMatrixVersion.Auto.
* </p>
*/
setDataMatrixVersion(value)
{
this.getJavaClass().setDataMatrixVersionSync(value);
}
/**
* Gets a Datamatrix ECC type.<br>
* Default value: DataMatrixEccType.ECC_200.
*/
getDataMatrixEcc()
{
return this.getJavaClass().getDataMatrixEccSync();
}
/**
* Sets a Datamatrix ECC type.<br>
* Default value: DataMatrixEccType.ECC_200.
*/
setDataMatrixEcc(value)
{
this.getJavaClass().setDataMatrixEccSync(value);
}
/**
* Encode mode of Datamatrix barcode.<br>
* Default value: DataMatrixEncodeMode.AUTO.
*/
getDataMatrixEncodeMode()
{
return this.getJavaClass().getDataMatrixEncodeModeSync();
}
/**
* Encode mode of Datamatrix barcode.<br>
* Default value: DataMatrixEncodeMode.AUTO.
*/
setDataMatrixEncodeMode(value)
{
this.getJavaClass().setDataMatrixEncodeModeSync(value);
}
/**
* <p>
* Barcode ID for Structured Append mode of Datamatrix barcode.
* Default value: 0
* </p>
*/
getStructuredAppendBarcodeId()
{
return this.getJavaClass().getStructuredAppendBarcodeIdSync();
}
/**
* <p>
* Barcode ID for Structured Append mode of Datamatrix barcode.
* Default value: 0
* </p>
*/
setStructuredAppendBarcodeId(value)
{
this.getJavaClass().setStructuredAppendBarcodeIdSync(value);
}
/**
* <p>
* Barcodes count for Structured Append mode of Datamatrix barcode.
* Default value: 0
* </p>
*/
getStructuredAppendBarcodesCount()
{
return this.getJavaClass().getStructuredAppendBarcodesCountSync();
}
/**
* <p>
* Barcodes count for Structured Append mode of Datamatrix barcode.
* Default value: 0
* </p>
*/
setStructuredAppendBarcodesCount(value)
{
this.getJavaClass().setStructuredAppendBarcodesCountSync(value);
}
/**
* <p>
* File ID for Structured Append mode of Datamatrix barcode.
* Default value: 0
* </p>
*/
getStructuredAppendFileId()
{
return this.getJavaClass().getStructuredAppendFileIdSync();
}
/**
* <p>
* File ID for Structured Append mode of Datamatrix barcode.
* Default value: 0
* </p>
*/
setStructuredAppendFileId(value)
{
this.getJavaClass().setStructuredAppendFileIdSync(value);
}
/**
* <p>
* Used to instruct the reader to interpret the data contained within the symbol
* as programming for reader initialization.
* Default value: false
* </p>
*/
isReaderProgramming()
{
return this.getJavaClass().isReaderProgrammingSync();
}
/**
* <p>
* Used to instruct the reader to interpret the data contained within the symbol
* as programming for reader initialization.
* Default value: false
* </p>
*/
setReaderProgramming(value)
{
this.getJavaClass().setReaderProgrammingSync(value);
}
/**
* ISO/IEC 16022<br>
* 5.2.4.7 Macro characters<br>
* 11.3 Protocol for Macro characters in the first position (ECC 200 only)<br>
* Macro Characters 05 and 06 values are used to obtain more compact encoding in special modes.<br>
* Can be used only with DataMatrixEccType.ECC_200 or DataMatrixEccType.ECC_AUTO.<br>
* Cannot be used with EncodeTypes.GS_1_DATA_MATRIX<br>
* Default value: MacroCharacter.NONE.
*/
getMacroCharacters()
{
return this.getJavaClass().getMacroCharactersSync();
}
/**
* ISO/IEC 16022<br>
* 5.2.4.7 Macro characters<br>
* 11.3 Protocol for Macro characters in the first position (ECC 200 only)<br>
* Macro Characters 05 and 06 values are used to obtain more compact encoding in special modes.<br>
* Can be used only with DataMatrixEccType.ECC_200 or DataMatrixEccType.ECC_AUTO.<br>
* Cannot be used with EncodeTypes.GS_1_DATA_MATRIX<br>
* Default value: MacroCharacter.NONE.
*/
setMacroCharacters(value)
{
this.getJavaClass().setMacroCharactersSync(value);
}
/**
* Columns count.
*/
getColumns()
{
return this.getJavaClass().getColumnsSync();
}
/**
* Columns count.
*/
setColumns(value)
{
this.getJavaClass().setColumnsSync(value);
}
/**
* Rows count.
*/
getRows()
{
return this.getJavaClass().getRowsSync();
}
/**
* Rows count.
*/
setRows(value)
{
this.getJavaClass().setRowsSync(value);
}
/**
* Height/Width ratio of 2D BarCode module.
*/
getAspectRatio()
{
return this.getJavaClass().getAspectRatioSync();
}
/**
* Height/Width ratio of 2D BarCode module.
*/
setAspectRatio(value)
{
this.getJavaClass().setAspectRatioSync(java.newFloat(value));
}
/**
* Gets the encoding of codetext.<br>
* Default value: UTF-16
*/
getCodeTextEncoding()
{
return this.getJavaClass().getCodeTextEncodingSync();
}
/**
* Sets the encoding of codetext.<br>
* Default value: UTF-16
*/
setCodeTextEncoding(value)
{
this.getJavaClass().setCodeTextEncodingSync(value);
}
/**
* <p>
* Gets ECI encoding. Used when DataMatrixEncodeMode is Auto.
* Default value: ISO-8859-1
* </p>
*/
getECIEncoding()
{
return this.getJavaClass().getECIEncodingSync();
}
/**
* <p>
* Sets ECI encoding. Used when DataMatrixEncodeMode is Auto.
* Default value: ISO-8859-1
* </p>
*/
setECIEncoding(value)
{
this.getJavaClass().setECIEncodingSync(value);
}
/**
* Returns a human-readable string representation of this DataMatrixParameters.<br>
* @return presentation of this DataMatrixParameters.
*/
toString()
{
return this.getJavaClass().toStringSync();
}
}
/**
* PatchCode parameters.
*/
class PatchCodeParameters extends joint.BaseJavaClass
{
constructor(javaClass)
{
super(javaClass);
this.init();
}
init()
{
}
/**
* Specifies codetext for an extra QR barcode, when PatchCode is generated in page mode.
*/
getExtraBarcodeText()
{
return this.getJavaClass().getExtraBarcodeTextSync();
}
/**
* Specifies codetext for an extra QR barcode, when PatchCode is generated in page mode.
*/
setExtraBarcodeText(value)
{
this.getJavaClass().setExtraBarcodeTextSync(value);
}
/**
* PatchCode format. Choose PatchOnly to generate single PatchCode. Use page format to generate Patch page with PatchCodes as borders.<br>
* Default value: PatchFormat.PATCH_ONLY
*
* @return PatchFormat
*/
getPatchFormat()
{
return this.getJavaClass().getPatchFormatSync();
}
/**
* PatchCode format. Choose PatchOnly to generate single PatchCode. Use page format to generate Patch page with PatchCodes as borders.<br>
* Default value: PatchFormat.PATCH_ONLY
*/
setPatchFormat(value)
{
this.getJavaClass().setPatchFormatSync(value);
}
/**
* Returns a human-readable string representation of this {PatchCodeParameters}<br>
* @return string value that represents PatchCodeParameters
*/
toString()
{
return this.getJavaClass().toStringSync();
}
}
/**
* Code16K parameters.
*/
class Code16KParameters extends joint.BaseJavaClass
{
constructor(javaClass)
{
super(javaClass);
this.init();
}
init()
{
}
/**
* Height/Width ratio of 2D BarCode module.
*/
getAspectRatio()
{
return this.getJavaClass().getAspectRatioSync();
}
/**
* Height/Width ratio of 2D BarCode module.
*/
setAspectRatio(value)
{
this.getJavaClass().setAspectRatioSync(java.newFloat(value));
}
/**
* Size of the left quiet zone in xDimension.<br>
* Default value: 10, meaning if xDimension = 2px than left quiet zone will be 20px.
*/
getQuietZoneLeftCoef()
{
return this.getJavaClass().getQuietZoneLeftCoefSync();
}
/**
* Size of the left quiet zone in xDimension.<br>
* Default value: 10, meaning if xDimension = 2px than left quiet zone will be 20px.
*/
setQuietZoneLeftCoef(value)
{
this.getJavaClass().setQuietZoneLeftCoefSync(value);
}
/**
* Size of the right quiet zone in xDimension.<br>
* Default value: 1, meaning if xDimension = 2px than right quiet zone will be 2px.
*/
getQuietZoneRightCoef()
{
return this.getJavaClass().getQuietZoneRightCoefSync();
}
/**
* Size of the right quiet zone in xDimension.<br>
* Default value: 1, meaning if xDimension = 2px than right quiet zone will be 2px.
*/
setQuietZoneRightCoef(value)
{
this.getJavaClass().setQuietZoneRightCoefSync(value);
}
/**
* Returns a human-readable string representation of this Code16KParameters.<br>
* @return A string that represents this Code16KParameters.
*/
toString()
{
return this.getJavaClass().toStringSync();
}
}
/**
* DotCode parameters.
*/
class DotCodeParameters extends joint.BaseJavaClass
{
constructor(javaClass)
{
super(javaClass);
this.init();
}
init()
{
}
/**
* Identifies DotCode encode mode.<br>
* Default value: Auto.
*/
getDotCodeEncodeMode()
{
return this.getJavaClass().getDotCodeEncodeModeSync();
}
/**
* <p>
* Identifies DotCode encode mode.
* </p>
* Default value: Auto.
*/
setDotCodeEncodeMode(value)
{
this.getJavaClass().setDotCodeEncodeModeSync(value);
}
/**
* <p>
* Indicates whether code is used for instruct reader to interpret the following data as instructions for initialization or reprogramming of the bar code reader.
* </p>
* Default value is false.
*/
isReaderInitialization()
{ return this.getJavaClass().isReaderInitializationSync(); }
/**
* <p>
* Indicates whether code is used for instruct reader to interpret the following data as instructions for initialization or reprogramming of the bar code reader.
* </p>
* Default value is false.
*/
setReaderInitialization(value)
{ this.getJavaClass().setReaderInitializationSync(value); }
/**
* <p>
* Identifies the ID of the DotCode structured append mode barcode. ID starts from 1 and must be less or equal to barcodes count. Default value is -1.
* </p>
*/
getDotCodeStructuredAppendModeBarcodeId()
{ return this.getJavaClass().getDotCodeStructuredAppendModeBarcodeIdSync(); }
/**
* <p>
* Identifies the ID of the DotCode structured append mode barcode. ID starts from 1 and must be less or equal to barcodes count. Default value is -1.
* </p>
*/
setDotCodeStructuredAppendModeBarcodeId(value)
{ this.getJavaClass().setDotCodeStructuredAppendModeBarcodeIdSync(value); }
/**
* <p>
* Identifies DotCode structured append mode barcodes count. Default value is -1. Count must be a value from 1 to 35.
* </p>
*/
getDotCodeStructuredAppendModeBarcodesCount()
{ return this.getJavaClass().getDotCodeStructuredAppendModeBarcodesCountSync(); }
/**
* <p>
* Identifies DotCode structured append mode barcodes count. Default value is -1. Count must be a value from 1 to 35.
* </p>
*/
setDotCodeStructuredAppendModeBarcodesCount(value)
{ this.getJavaClass().setDotCodeStructuredAppendModeBarcodesCountSync(value); }
/**
* <p>
* Identifies ECI encoding. Used when DotCodeEncodeMode is AUTO.
* </p>
* Default value: ISO-8859-1
*/
getECIEncoding()
{ return this.getJavaClass().getECIEncodingSync(); }
/**
* <p>
* Identifies ECI encoding. Used when DotCodeEncodeMode is AUTO.<br>
* Default value: ISO-8859-1
* </p>
*/
setECIEncoding(value)
{
this.getJavaClass().setECIEncodingSync(value);
}
/**
* <p>
* Identifies rows count. Sum of the number of rows plus the number of columns of a DotCode symbol must be odd. Number of rows must be at least 5.
* </p>
* Default value: -1
*/
getRows()
{ return this.getJavaClass().getRowsSync(); }
/**
* <p>
* Identifies rows count. Sum of the number of rows plus the number of columns of a DotCode symbol must be odd. Number of rows must be at least 5.
* </p>
* Default value: -1
*/
setRows(value)
{
this.getJavaClass().setRowsSync(value);
}
/**
* <p>
* Identifies columns count. Sum of the number of rows plus the number of columns of a DotCode symbol must be odd. Number of columns must be at least 5.
* </p>
* Default value: -1
*/
getColumns()
{ return this.getJavaClass().getColumnsSync(); }
/**
* <p>
* Identifies columns count. Sum of the number of rows plus the number of columns of a DotCode symbol must be odd. Number of columns must be at least 5.
* </p>
* Default value: -1
*/
setColumns(value)
{
this.getJavaClass().setColumnsSync(value);
}
/**
* Height/Width ratio of 2D BarCode module.
*/
getAspectRatio()
{
return this.getJavaClass().getAspectRatioSync();
}
/**
* Height/Width ratio of 2D BarCode module.
*/
setAspectRatio(value)
{
this.getJavaClass().setAspectRatioSync(java.newFloat(value));
}
/**
* Returns a human-readable string representation of this DotCodeParameters.<br>
* @return A string that represents this DotCodeParameters.
*/
toString()
{
return this.getJavaClass().toStringSync();
}
}
/**
* GS1 Composite bar parameters.
*/
class GS1CompositeBarParameters extends joint.BaseJavaClass
{
constructor(javaClass)
{
super(javaClass);
this.init();
}
init()
{
}
/**
* Linear component type
*/
getLinearComponentType()
{
return this.getJavaClass().getLinearComponentTypeSync();
}
/**
* Linear component type
*/
setLinearComponentType(value)
{
this.getJavaClass().setLinearComponentTypeSync(value);
}
/**
* 2D component type
*/
getTwoDComponentType()
{
return this.getJavaClass().getTwoDComponentTypeSync();
}
/**
* 2D component type
*/
setTwoDComponentType(value)
{
this.getJavaClass().setTwoDComponentTypeSync(value);
}
/**
* <p>
* If this flag is set, it allows only GS1 encoding standard for GS1CompositeBar 2D Component
* </p>
*/
isAllowOnlyGS1Encoding()
{
return this.getJavaClass().isAllowOnlyGS1EncodingSync();
}
/**
* <p>
* If this flag is set, it allows only GS1 encoding standard for GS1CompositeBar 2D Component
* </p>
*/
setAllowOnlyGS1Encoding(value)
{
this.getJavaClass().setAllowOnlyGS1EncodingSync(value);
}
/**
* Returns a human-readable string representation of this <see cref="DataBarParameters"/>.
* @return A string that represents this <see cref="DataBarParameters"/>
*/
toString()
{
return this.getJavaClass().toStringSync();
}
}
/**
* ITF parameters.
*/
class ITFParameters extends joint.BaseJavaClass
{
itfBorderThickness;
constructor(javaClass)
{
super(javaClass);
this.init();
}
init()
{
this.itfBorderThickness = new Unit(this.getJavaClass().getItfBorderThicknessSync());
}
/**
* Gets an ITF border (bearer bar) thickness in Unit value.<br>
* Default value: 12pt.
*/
getItfBorderThickness()
{
return this.itfBorderThickness;
}
/**
* Sets an ITF border (bearer bar) thickness in Unit value.<br>
* Default value: 12pt.
*/
setItfBorderThickness(value)
{
this.getJavaClass().setItfBorderThicknessSync(value.getJavaClass());
this.itfBorderThickness = value;
}
/**
* Border type of ITF barcode.<br>
* Default value: ITF14BorderType.BAR.
*/
getItfBorderType()
{
return this.getJavaClass().getItfBorderTypeSync();
}
/**
* Border type of ITF barcode.<br>
* Default value: ITF14BorderType.BAR.
*/
setItfBorderType(value)
{
this.getJavaClass().setItfBorderTypeSync(value);
}
/**
* Size of the quiet zones in xDimension.<br>
* Default value: 10, meaning if xDimension = 2px than quiet zones will be 20px.<br>
* @exception IllegalArgumentException
* The QuietZoneCoef parameter value is less than 10.
*/
getQuietZoneCoef()
{
return this.getJavaClass().getQuietZoneCoefSync();
}
/**
* Size of the quiet zones in xDimension.<br>
* Default value: 10, meaning if xDimension = 2px than quiet zones will be 20px.<br>
* @exception IllegalArgumentException
* The QuietZoneCoef parameter value is less than 10.
*/
setQuietZoneCoef(value)
{
this.getJavaClass().setQuietZoneCoefSync(value);
}
/**
* Returns a human-readable string representation of this ITFParameters.<br>
* @return A string that represents this ITFParameters.
*/
toString()
{
return this.getJavaClass().toStringSync();
}
}
/**
* QR parameters.
*/
class QrParameters extends joint.BaseJavaClass
{
structuredAppend;
constructor(javaClass)
{
super(javaClass);
this.init();
}
init()
{
this.structuredAppend = new QrStructuredAppendParameters(this.getJavaClass().getStructuredAppendSync());
}
/**
* QR structured append parameters.
*/
getStructuredAppend()
{
return this.structuredAppend;
}
/**
* QR structured append parameters.
*/
setStructuredAppend(value)
{
this.structuredAppend = value;
this.getJavaClass().setStructuredAppendSync(value.getJavaClass());
}
/**
* Extended Channel Interpretation Identifiers. It is used to tell the barcode reader details<br>
* about the used references for encoding the data in the symbol.<br>
* Current implementation consists all well known charset encodings.
*/
getQrECIEncoding()
{
return this.getJavaClass().getQrECIEncodingSync();
}
/**
* Extended Channel Interpretation Identifiers. It is used to tell the barcode reader details<br>
* about the used references for encoding the data in the symbol.<br>
* Current implementation consists all well known charset encodings.
*/
setQrECIEncoding(value)
{
this.getJavaClass().setQrECIEncodingSync(value);
}
/**
* QR symbology type of BarCode's encoding mode.<br>
* Default value: QREncodeMode.AUTO.
*/
getQrEncodeMode()
{
return this.getJavaClass().getQrEncodeModeSync();
}
/**
* QR symbology type of BarCode's encoding mode.<br>
* Default value: QREncodeMode.AUTO.
*/
setQrEncodeMode(value)
{
console.log("JS QrParameters.setQrEncodeMode(" + value + ")\n")
this.getJavaClass().setQrEncodeModeSync(value);
}
/**
* QR / MicroQR selector mode. Select ForceQR for standard QR symbols, Auto for MicroQR.
*/
getQrEncodeType()
{
let value = this.getJavaClass().getQrEncodeTypeSync();
return value;
}
/**
* QR / MicroQR selector mode. Select ForceQR for standard QR symbols, Auto for MicroQR.
*/
setQrEncodeType(value)
{
this.getJavaClass().setQrEncodeTypeSync(value);
}
/**
* Level of Reed-Solomon error correction for QR barcode.<br>
* From low to high: LEVEL_L, LEVEL_M, LEVEL_Q, LEVEL_H. see QRErrorLevel.
*/
getQrErrorLevel()
{
return this.getJavaClass().getQrErrorLevelSync();
}
/**
* Level of Reed-Solomon error correction for QR barcode.<br>
* From low to high: LEVEL_L, LEVEL_M, LEVEL_Q, LEVEL_H. see QRErrorLevel.
*/
setQrErrorLevel(value)
{
this.getJavaClass().setQrErrorLevelSync(value);
}
/**
* Version of QR Code.<br>
* From Version1 to Version40 for QR code and from M1 to M4 for MicroQr.<br>
* Default value is QRVersion.AUTO.
*/
getQrVersion()
{
return this.getJavaClass().getQrVersionSync();
}
/**
* Version of QR Code.<br>
* From Version1 to Version40 for QR code and from M1 to M4 for MicroQr.<br>
* Default value is QRVersion.AUTO.
*/
setQrVersion(value)
{
this.getJavaClass().setQrVersionSync(value);
}
/**
* Height/Width ratio of 2D BarCode module.
*/
getAspectRatio()
{
return this.getJavaClass().getAspectRatioSync();
}
/**
* Height/Width ratio of 2D BarCode module.
*/
setAspectRatio(value)
{
this.getJavaClass().setAspectRatioSync(java.newFloat(value));
}
/**
* Gets the encoding of codetext.<br>
* Default value: UTF-8
*/
getCodeTextEncoding()
{
return this.getJavaClass().getCodeTextEncodingSync();
}
/**
* Sets the encoding of codetext.<br>
* Default value: UTF-8
*/
setCodeTextEncoding(value)
{
this.getJavaClass().setCodeTextEncodingSync(value);
}
/**
* Returns a human-readable string representation of this QrParameters.<br>
* @return A string that represents this QrParameters.
*/
toString()
{
return this.getJavaClass().toStringSync();
}
}
/**
* PDF417 parameters.
*/
class Pdf417Parameters extends joint.BaseJavaClass
{
constructor(javaClass)
{
super(javaClass);
this.init();
}
init()
{
}
/**
* Pdf417 symbology type of BarCode's compaction mode.<br>
* Default value: Pdf417CompactionMode.AUTO.
*/
getPdf417CompactionMode()
{
return this.getJavaClass().getPdf417CompactionModeSync();
}
/**
* Pdf417 symbology type of BarCode's compaction mode.<br>
* Default value: Pdf417CompactionMode.AUTO.
*/
setPdf417CompactionMode(value)
{
this.getJavaClass().setPdf417CompactionModeSync(value);
}
/**
* Gets Pdf417 symbology type of BarCode's error correction level<br>
* ranging from level0 to level8, level0 means no error correction info,<br>
* level8 means best error correction which means a larger picture.
*/
getPdf417ErrorLevel()
{
return this.getJavaClass().getPdf417ErrorLevelSync();
}
/**
* Sets Pdf417 symbology type of BarCode's error correction level<br>
* ranging from level0 to level8, level0 means no error correction info,<br>
* level8 means best error correction which means a larger picture.
*/
setPdf417ErrorLevel(value)
{
this.getJavaClass().setPdf417ErrorLevelSync(value);
}
/**
* Whether Pdf417 symbology type of BarCode is truncated (to reduce space).
*/
getPdf417Truncate()
{
return this.getJavaClass().getPdf417TruncateSync();
}
/**
* Whether Pdf417 symbology type of BarCode is truncated (to reduce space).
*/
setPdf417Truncate(value)
{
this.getJavaClass().setPdf417TruncateSync(value);
}
/**
* Columns count.
*/
getColumns()
{
return this.getJavaClass().getColumnsSync();
}
/**
* Columns count.
*/
setColumns(value)
{
this.getJavaClass().setColumnsSync(value);
}
/**
* Rows count.
*/
getRows()
{
return this.getJavaClass().getRowsSync();
}
/**
* Rows count.
*/
setRows(value)
{
this.getJavaClass().setRowsSync(value);
}
/**
* Height/Width ratio of 2D BarCode module.
*/
getAspectRatio()
{
return this.getJavaClass().getAspectRatioSync();
}
/**
* Height/Width ratio of 2D BarCode module.
*/
setAspectRatio(value)
{
this.getJavaClass().setAspectRatioSync(java.newFloat(value));
}
/**
* Getsmacro Pdf417 barcode's file ID.<br>
* Used for MacroPdf417.
*/
getPdf417MacroFileID()
{
return this.getJavaClass().getPdf417MacroFileIDSync();
}
/**
* Sets macro Pdf417 barcode's file ID.<br>
* Used for MacroPdf417.
*/
setPdf417MacroFileID(value)
{
this.getJavaClass().setPdf417MacroFileIDSync(value);
}
/**
* Gets macro Pdf417 barcode's segment ID, which starts from 0, to MacroSegmentsCount - 1.
*/
getPdf417MacroSegmentID()
{
return this.getJavaClass().getPdf417MacroSegmentIDSync();
}
/**
* Sets macro Pdf417 barcode's segment ID, which starts from 0, to MacroSegmentsCount - 1.
*/
setPdf417MacroSegmentID(value)
{
this.getJavaClass().setPdf417MacroSegmentIDSync(value);
}
/**
* Gets macro Pdf417 barcode segments count.
*/
getPdf417MacroSegmentsCount()
{
return this.getJavaClass().getPdf417MacroSegmentsCountSync();
}
/**
* Sets macro Pdf417 barcode segments count.
*/
setPdf417MacroSegmentsCount(value)
{
this.getJavaClass().setPdf417MacroSegmentsCountSync(value);
}
/**
* Gets macro Pdf417 barcode file name.
*/
getPdf417MacroFileName()
{
return this.getJavaClass().getPdf417MacroFileNameSync();
}
/**
* Sets macro Pdf417 barcode file name.
*/
setPdf417MacroFileName(value)
{
this.getJavaClass().setPdf417MacroFileNameSync(value);
}
/**
* Gets macro Pdf417 barcode time stamp.
*/
getPdf417MacroTimeStamp()
{
return new Date(this.getJavaClass().getPdf417MacroTimeStampSync() * 1000);
}
/**
* Sets macro Pdf417 barcode time stamp.
*/
setPdf417MacroTimeStamp(value)
{
this.getJavaClass().setPdf417MacroTimeStampSync((value.getTime() / 1000).toString());
}
/**
* Gets macro Pdf417 barcode sender name.
*/
getPdf417MacroSender()
{
return this.getJavaClass().getPdf417MacroSenderSync();
}
/**
* Sets macro Pdf417 barcode sender name.
*/
setPdf417MacroSender(value)
{
this.getJavaClass().setPdf417MacroSenderSync(value);
}
/**
* Gets macro Pdf417 barcode addressee name.
*/
getPdf417MacroAddressee()
{
return this.getJavaClass().getPdf417MacroAddresseeSync();
}
/**
* Sets macro Pdf417 barcode addressee name.
*/
setPdf417MacroAddressee(value)
{
this.getJavaClass().setPdf417MacroAddresseeSync(value);
}
/**
* Gets macro Pdf417 file size.<br>
* @return The file size field contains the size in bytes of the entire source file.
*/
getPdf417MacroFileSize()
{
return this.getJavaClass().getPdf417MacroFileSizeSync();
}
/**
* Sets macro Pdf417 file size.<br>
* @param value The file size field contains the size in bytes of the entire source file.
*/
setPdf417MacroFileSize(value)
{
this.getJavaClass().setPdf417MacroFileSizeSync(value);
}
/**
* Gets macro Pdf417 barcode checksum.<br>
* @return The checksum field contains the value of the 16-bit (2 bytes) CRC checksum using the CCITT-16 polynomial.
*/
getPdf417MacroChecksum()
{
return this.getJavaClass().getPdf417MacroChecksumSync();
}
/**
* Sets macro Pdf417 barcode checksum.<br>
* @param value The checksum field contains the value of the 16-bit (2 bytes) CRC checksum using the CCITT-16 polynomial.
*/
setPdf417MacroChecksum(value)
{
this.getJavaClass().setPdf417MacroChecksumSync(value);
}
/**
* Gets the encoding of codetext.<br>
* Default value: UTF-8
*/
getCodeTextEncoding()
{
return this.getJavaClass().getCodeTextEncodingSync();
}
/**
* Sets the encoding of codetext.<br>
* Default value: UTF-8
*/
setCodeTextEncoding(value)
{
this.getJavaClass().setCodeTextEncodingSync(value);
}
/**
* Extended Channel Interpretation Identifiers. It is used to tell the barcode reader details<br>
* about the used references for encoding the data in the symbol.<br>
* Current implementation consists all well known charset encodings.
*/
getPdf417ECIEncoding()
{
return this.getJavaClass().getPdf417ECIEncodingSync();
}
/**
* Extended Channel Interpretation Identifiers. It is used to tell the barcode reader details<br>
* about the used references for encoding the data in the symbol.<br>
* Current implementation consists all well known charset encodings.
*/
setPdf417ECIEncoding(value)
{
this.getJavaClass().setPdf417ECIEncodingSync(value);
}
/**
* Extended Channel Interpretation Identifiers. Applies for Macro PDF417 text fields.
*/
getPdf417MacroECIEncoding()
{
return this.getJavaClass().getPdf417MacroECIEncodingSync();
}
/**
* Extended Channel Interpretation Identifiers. Applies for Macro PDF417 text fields.
*/
setPdf417MacroECIEncoding(value)
{
this.getJavaClass().setPdf417MacroECIEncodingSync(value);
}
/**
* Used to tell the encoder whether to add Macro PDF417 Terminator (codeword 922) to the segment.<br>
* Applied only for Macro PDF417.
*/
getPdf417MacroTerminator()
{
return this.getJavaClass().getPdf417MacroTerminatorSync();
}
/**
* Used to tell the encoder whether to add Macro PDF417 Terminator (codeword 922) to the segment.<br>
* Applied only for Macro PDF417.
*/
setPdf417MacroTerminator(value)
{
this.getJavaClass().setPdf417MacroTerminatorSync(value);
}
/**
* Used to instruct the reader to interpret the data contained within the symbol<br>
* as programming for reader initialization<br>
* @return boolean value
*/
isReaderInitialization()
{
return this.getJavaClass().isReaderInitializationSync();
}
/**
* Used to instruct the reader to interpret the data contained within the symbol<br>
* as programming for reader initialization<br>
* @param value
*/
setReaderInitialization(value)
{
this.getJavaClass().setReaderInitializationSync(value);
}
/**
* Function codeword for Code 128 emulation. Applied for MicroPDF417 only. Ignored for PDF417 and MacroPDF417 barcodes.
*/
getCode128Emulation()
{
return this.getJavaClass().getCode128EmulationSync();
}
/**
* Function codeword for Code 128 emulation. Applied for MicroPDF417 only. Ignored for PDF417 and MacroPDF417 barcodes.
*/
setCode128Emulation(value)
{
this.getJavaClass().setCode128EmulationSync(value);
}
/**
* Returns a human-readable string representation of this Pdf417Parameters.<br>
* @return A string that represents this Pdf417Parameters.
*/
toString()
{
return this.getJavaClass().toStringSync();
}
}
/**
* Supplement parameters. Used for Interleaved2of5, Standard2of5, EAN13, EAN8, UPCA, UPCE, ISBN, ISSN, ISMN.
*/
class SupplementParameters extends joint.BaseJavaClass
{
_space;
constructor(javaClass)
{
super(javaClass);
this.init();
}
init()
{
this._space = new Unit(this.getJavaClass().getSupplementSpaceSync());
}
/**
* Supplement data following BarCode.
*/
getSupplementData()
{
return this.getJavaClass().getSupplementDataSync();
}
/**
* Supplement data following BarCode.
*/
setSupplementData(value)
{
this.getJavaClass().setSupplementDataSync(value);
}
/**
* Space between main the BarCode and supplement BarCode in Unit value.<br>
* @exception IllegalArgumentException<br>
* The Space parameter value is less than 0.
*/
getSupplementSpace()
{
return this._space;
}
/**
* Returns a human-readable string representation of this SupplementParameters.<br>
* @return A string that represents this SupplementParameters.
*/
toString()
{
return this.getJavaClass().toStringSync();
}
}
/**
* MaxiCode parameters.
*/
class MaxiCodeParameters extends joint.BaseJavaClass
{
constructor(javaClass)
{
super(javaClass);
this.init();
}
init()
{
}
/**
* Gets a MaxiCode encode mode.
*/
getMaxiCodeMode()
{
return this.getJavaClass().getMaxiCodeModeSync();
}
/**
* Sets a MaxiCode encode mode.
*/
setMaxiCodeMode(maxiCodeMode)
{
this.getJavaClass().setMaxiCodeModeSync(maxiCodeMode);
}
/**
* Gets a MaxiCode encode mode.
*/
getMaxiCodeEncodeMode()
{
return this.getJavaClass().getMaxiCodeEncodeModeSync();
}
/**
* Sets a MaxiCode encode mode.
*/
setMaxiCodeEncodeMode(value)
{
this.getJavaClass().setMaxiCodeEncodeModeSync(value);
}
/**
* Gets ECI encoding. Used when MaxiCodeEncodeMode is AUTO.
* Default value: ISO-8859-1
*/
getECIEncoding()
{
return this.getJavaClass().getECIEncodingSync();
}
/**
* Sets ECI encoding. Used when MaxiCodeEncodeMode is AUTO.<br>
* Default value: ISO-8859-1
*/
setECIEncoding(ECIEncoding)
{
this.getJavaClass().setECIEncodingSync(ECIEncoding);
}
/**
* Gets a MaxiCode barcode id in structured append mode.<br>
* ID must be a value between 1 and 8.<br>
* Default value: 0
*/
getMaxiCodeStructuredAppendModeBarcodeId()
{
return this.getJavaClass().getMaxiCodeStructuredAppendModeBarcodeIdSync();
}
/**
* Sets a MaxiCode barcode id in structured append mode.<br>
* ID must be a value between 1 and 8.<br>
* Default value: 0
*/
setMaxiCodeStructuredAppendModeBarcodeId(maxiCodeStructuredAppendModeBarcodeId)
{
this.getJavaClass().setMaxiCodeStructuredAppendModeBarcodeIdSync(maxiCodeStructuredAppendModeBarcodeId);
}
/**
* Gets a MaxiCode barcodes count in structured append mode.<br>
* Count number must be a value between 2 and 8 (maximum barcodes count).<br>
* Default value: -1
*/
getMaxiCodeStructuredAppendModeBarcodesCount()
{
return this.getJavaClass().getMaxiCodeStructuredAppendModeBarcodesCountSync();
}
/**
* Sets a MaxiCode barcodes count in structured append mode.<br>
* Count number must be a value between 2 and 8 (maximum barcodes count).<br>
* Default value: -1
*/
setMaxiCodeStructuredAppendModeBarcodesCount(maxiCodeStructuredAppendModeBarcodesCount)
{
this.getJavaClass().setMaxiCodeStructuredAppendModeBarcodesCountSync(maxiCodeStructuredAppendModeBarcodesCount);
}
/**
* Height/Width ratio of 2D BarCode module.
*/
getAspectRatio()
{
return this.getJavaClass().getAspectRatioSync();
}
/**
* Height/Width ratio of 2D BarCode module.
*/
setAspectRatio(value)
{
this.getJavaClass().setAspectRatioSync(java.newFloat(value));
}
/**
* Returns a human-readable string representation of this MaxiCodeParameters.<br>
* @return A string that represents this MaxiCodeParameters.
*/
toString()
{
return this.getJavaClass().toStringSync();
}
}
/**
* Aztec parameters.
*/
class AztecParameters extends joint.BaseJavaClass
{
constructor(javaClass)
{
super(javaClass);
this.init();
}
init()
{
}
/**
* <p>
* Gets a Aztec encode mode.
* Default value: Auto.
* </p>
*/
getAztecEncodeMode()
{
return this.getJavaClass().getAztecEncodeModeSync();
}
/**
* <p>
* Sets a Aztec encode mode.
* Default value: Auto.
* </p>
*/
setAztecEncodeMode(value)
{
this.getJavaClass().setAztecEncodeModeSync(value);
}
/**
* <p>
* Gets ECI encoding. Used when AztecEncodeMode is Auto.
* Default value: ISO-8859-1
* </p>
*/
getECIEncoding()
{
return this.getJavaClass().getECIEncodingSync();
}
/**
* <p>
* Sets ECI encoding. Used when AztecEncodeMode is Auto.
* Default value: ISO-8859-1
* </p>
*/
setECIEncoding(value)
{
this.getJavaClass().setECIEncodingSync(value);
}
/**
* <p>
* Barcode ID for Structured Append mode of Aztec barcode. Barcode ID should be in range from 1 to barcodes count.
* Default value: 0
* </p>
*/
getStructuredAppendBarcodeId()
{
return this.getJavaClass().getStructuredAppendBarcodeIdSync();
}
/**
* <p>
* Barcode ID for Structured Append mode of Aztec barcode. Barcode ID should be in range from 1 to barcodes count.
* Default value: 0
* </p>
*/
setStructuredAppendBarcodeId(value)
{
this.getJavaClass().setStructuredAppendBarcodeIdSync(value);
}
/**
* <p>
* Barcodes count for Structured Append mode of Aztec barcode. Barcodes count should be in range from 1 to 26.
* Default value: 0
* </p>
*/
getStructuredAppendBarcodesCount()
{
return this.getJavaClass().getStructuredAppendBarcodesCountSync();
}
/**
* <p>
* Barcodes count for Structured Append mode of Aztec barcode. Barcodes count should be in range from 1 to 26.
* Default value: 0
* </p>
*/
setStructuredAppendBarcodesCount(value)
{
this.getJavaClass().setStructuredAppendBarcodesCountSync(value);
}
/**
* <p>
* File ID for Structured Append mode of Aztec barcode (optional field). File ID should not contain spaces.
* Default value: empty string
* </p>
*/
getStructuredAppendFileId()
{
return this.getJavaClass().getStructuredAppendFileIdSync();
}
/**
* <p>
* File ID for Structured Append mode of Aztec barcode (optional field). File ID should not contain spaces.
* Default value: empty string
* </p>
*/
setStructuredAppendFileId(value)
{
this.getJavaClass().setStructuredAppendFileIdSync(value);
}
/**
* <p>
* Level of error correction of Aztec types of barcode.
* Value should between 5 to 95.
* </p>
*/
getAztecErrorLevel()
{
return this.getJavaClass().getAztecErrorLevelSync();
}
/**
* <p>
* Level of error correction of Aztec types of barcode.
* Value should between 5 to 95.
* </p>
*/
setAztecErrorLevel(value)
{
this.getJavaClass().setAztecErrorLevelSync(value);
}
/**
* <p>
* Gets a Aztec Symbol mode.
* Default value: AztecSymbolMode.Auto.
* </p>
*/
getAztecSymbolMode()
{
return this.getJavaClass().getAztecSymbolModeSync();
}
/**
* <p>
* Sets a Aztec Symbol mode.
* Default value: AztecSymbolMode.Auto.
* </p>
*/
setAztecSymbolMode(value)
{
this.getJavaClass().setAztecSymbolModeSync(value);
}
/**
* <p>
* Gets layers count of Aztec symbol. Layers count should be in range from 1 to 3 for Compact mode and
* in range from 1 to 32 for Full Range mode.
* Default value: 0 (auto).
* </p>
*/
getLayersCount()
{
return this.getJavaClass().getLayersCountSync();
}
/**
* <p>
* Sets layers count of Aztec symbol. Layers count should be in range from 1 to 3 for Compact mode and
* in range from 1 to 32 for Full Range mode.
* Default value: 0 (auto).
* </p>
*/
setLayersCount(value)
{
this.getJavaClass().setLayersCountSync(value);
}
/**
* <p>
* Used to instruct the reader to interpret the data contained within the symbol
* as programming for reader initialization.
* </p>
*/
isReaderInitialization()
{
return this.getJavaClass().isReaderInitializationSync();
}
/**
* <p>
* Used to instruct the reader to interpret the data contained within the symbol
* as programming for reader initialization.
* </p>
*/
setReaderInitialization(value)
{
this.getJavaClass().setReaderInitializationSync(value);
}
/**
* <p>
* Height/Width ratio of 2D BarCode module.
* </p>
*/
getAspectRatio()
{
return this.getJavaClass().getAspectRatioSync();
}
/**
* <p>
* Height/Width ratio of 2D BarCode module.
* </p>
*/
setAspectRatio(value)
{
this.getJavaClass().setAspectRatioSync(java.newFloat(value));
}
/**
* <p>
* Gets the encoding of codetext.
* Default value: UTF-8
* </p>
*/
getCodeTextEncoding()
{
console.log('This function is deprecated.');
return this.getJavaClass().getCodeTextEncodingSync();
}
/**
* <p>
* Sets the encoding of codetext.
* Default value: UTF-8
* </p>
*/
setCodeTextEncoding(codeTextEncoding)
{
console.log('This function is deprecated.');
this.getJavaClass().setCodeTextEncodingSync(codeTextEncoding);
}
/**
* <p>
* Returns a human-readable string representation of this {@code AztecParameters}.
* </p>
* @return A string that represents this {@code AztecParameters}.
*/
toString()
{
return this.getJavaClass().toStringSync();
}
}
/**
* Codabar parameters.
*/
class CodabarParameters extends joint.BaseJavaClass
{
constructor(javaClass)
{
super(javaClass);
this.init();
}
init()
{
}
/**
* Get the checksum algorithm for Codabar barcodes.<br>
* Default value: CodabarChecksumMode.MOD_16.<br>
* To enable checksum calculation set value EnableChecksum.YES to property EnableChecksum.<br>
* See CodabarChecksumMode.
*/
getCodabarChecksumMode()
{
return this.getJavaClass().getCodabarChecksumModeSync();
}
/**
* Set the checksum algorithm for Codabar barcodes.<br>
* Default value: CodabarChecksumMode.MOD_16.<br>
* To enable checksum calculation set value EnableChecksum.YES to property EnableChecksum.<br>
* See CodabarChecksumMode.
*/
setCodabarChecksumMode(value)
{
this.getJavaClass().setCodabarChecksumModeSync(value);
}
/**
* Start symbol (character) of Codabar symbology.<br>
* Default value: CodabarSymbol.A
*/
getCodabarStartSymbol()
{
return this.getJavaClass().getCodabarStartSymbolSync();
}
/**
* Start symbol (character) of Codabar symbology.<br>
* Default value: CodabarSymbol.A
*/
setCodabarStartSymbol(value)
{
this.getJavaClass().setCodabarStartSymbolSync(value);
}
/**
* Stop symbol (character) of Codabar symbology.<br>
* Default value: CodabarSymbol.A
*/
getCodabarStopSymbol()
{
return this.getJavaClass().getCodabarStopSymbolSync();
}
/**
* Stop symbol (character) of Codabar symbology.<br>
* Default value: CodabarSymbol.A
*/
setCodabarStopSymbol(value)
{
this.getJavaClass().setCodabarStopSymbolSync(value);
}
/**
* Returns a human-readable string representation of this CodabarParameters.<br>
* @return A string that represents this CodabarParameters.
*/
toString()
{
return this.getJavaClass().toStringSync();
}
}
/**
* Coupon parameters. Used for UpcaGs1DatabarCoupon, UpcaGs1Code128Coupon.
*/
class CouponParameters extends joint.BaseJavaClass
{
_space;
constructor(javaClass)
{
super(javaClass);
this.init();
}
init()
{
this._space = new Unit(this.getJavaClass().getSupplementSpaceSync());
}
/**
* Space between main the BarCode and supplement BarCode in Unit value.<br>
* @exception IllegalArgumentException<br>
* The Space parameter value is less than 0.
*/
getSupplementSpace()
{
return this._space;
}
/**
* Space between main the BarCode and supplement BarCode in Unit value.<br>
* @exception IllegalArgumentException<br>
* The Space parameter value is less than 0.
*/
setSupplementSpace(value)
{
this.getJavaClass().setSupplementSpaceSync(value.getJavaClass());
this._space = value;
}
/**
* Returns a human-readable string representation of this CouponParameters.<br>
* @return A string that represents this CouponParameters.
*/
toString()
{
return this.getJavaClass().toStringSync();
}
}
/**
* Defines a particular format for text, including font face, size, and style attributes<br>
* where size in Unit value property.<br>
* @example
* This sample shows how to create and save a BarCode image.
*
* let generator = new BarcodeGenerator(EncodeTypes.CODE_128);
* generator.getParameters().getCaptionAbove().setText("CAPTION ABOOVE");
* generator.getParameters().getCaptionAbove().setVisible(true);
* generator.getParameters().getCaptionAbove().getFont().setStyle(FontStyle.ITALIC);
* generator.getParameters().getCaptionAbove().getFont().getSize().setPoint(25);
*/
class FontUnit extends joint.BaseJavaClass
{
_size;
constructor(source)
{
super(FontUnit.initFontUnit(source));
this.init();
}
static initFontUnit(source)
{
if (source instanceof FontUnit)
{
return source.getJavaClass();
}
return source;
}
init()
{
this._size = new Unit(this.getJavaClass().getSizeSync());
}
/**
* Gets the face name of this Font.
*/
getFamilyName()
{
return this.getJavaClass().getFamilyNameSync();
}
/**
* Sets the face name of this Font.
*/
setFamilyName(value)
{
this.getJavaClass().setFamilyNameSync(value);
}
/**
* Gets style information for this FontUnit.
*/
getStyle()
{
return this.getJavaClass().getStyleSync();
}
/**
* Sets style information for this FontUnit.
*/
setStyle(value)
{
if (!("number" === typeof value))
{
value = parseInt(value, 10);
}
this.getJavaClass().setStyleSync(value);
}
/**
* Gets size of this FontUnit in Unit value.<br>
* @exception IllegalArgumentException<br>
* The Size parameter value is less than or equal to 0.
*/
getSize()
{
return this._size;
}
}
/**
* Helper class for automatic codetext generation of the Extended Codetext Mode
*/
class ExtCodetextBuilder extends joint.BaseJavaClass
{
constructor(javaClass)
{
super(javaClass);
this.init();
}
/**
* <p>
* Clears extended codetext items
* </p>
*/
clear()
{
this.getJavaClass().clearSync();
}
/**
* <p>
* Adds plain codetext to the extended codetext items
* </p>
*
* @param codetext Codetext in unicode to add as extended codetext item
*/
addPlainCodetext(codetext)
{
this.getJavaClass().addPlainCodetextSync(codetext);
}
/**
* <p>
* Adds codetext with Extended Channel Identifier
* </p>
*
* @param ECIEncoding Extended Channel Identifier
* @param codetext Codetext in unicode to add as extended codetext item with Extended Channel Identifier
*/
addECICodetext(ECIEncoding, codetext)
{
this.getJavaClass().addECICodetextSync(ECIEncoding, codetext);
}
/**
* <p>
* Generate extended codetext from generation items list
* </p>
*
* @return Return string of extended codetext
*/
getExtendedCodetext()
{
return this.getJavaClass().getExtendedCodetextSync();
}
}
/**
* <p>Extended codetext generator for 2D QR barcodes for ExtendedCodetext Mode of QREncodeMode</p>
* <p>Use Display2DText property of BarCodeBuilder to set visible text to removing managing characters.</p>
* @example
* //Example how to generate FNC1 first position for Extended Mode
* //create codetext
* QrExtCodetextBuilder lTextBuilder = new QrExtCodetextBuilder();
* lTextBuilder.addFNC1FirstPosition();
* lTextBuilder.addPlainCodetext("000%89%%0");
* lTextBuilder.addFNC1GroupSeparator();
* lTextBuilder.addPlainCodetext("12345&lt;FNC1&gt;");
* //generate codetext
* String lCodetext = lTextBuilder.getExtendedCodetext();
*
* @example
* //Example how to generate FNC1 second position for Extended Mode
* //create codetext
* QrExtCodetextBuilder lTextBuilder = new QrExtCodetextBuilder();
* lTextBuilder.addFNC1SecondPosition("12");
* lTextBuilder.addPlainCodetext("TRUE3456");
* //generate codetext
* String lCodetext = lTextBuilder.getExtendedCodetext();
*
* @example
* //Example how to generate multi ECI mode for Extended Mode
* //create codetext
* QrExtCodetextBuilder lTextBuilder = new QrExtCodetextBuilder();
* lTextBuilder.addECICodetext(ECIEncodings.Win1251, "Will");
* lTextBuilder.addECICodetext(ECIEncodings.UTF8, "Right");
* lTextBuilder.addECICodetext(ECIEncodings.UTF16BE, "Power");
* lTextBuilder.addPlainCodetext("t\\e\\\\st");
* //generate codetext
* String lCodetext = lTextBuilder.getExtendedCodetext();
*/
class QrExtCodetextBuilder extends ExtCodetextBuilder
{
static get javaClassName()
{
return "com.aspose.mw.barcode.MwQrExtCodetextBuilder";
}
constructor()
{
let java_class = java.import(QrExtCodetextBuilder.javaClassName);
super(new java_class());
this.init();
}
init()
{
}
/**
* <p>
* Adds FNC1 in first position to the extended codetext items
* </p>
*/
addFNC1FirstPosition()
{
this.getJavaClass().addFNC1FirstPositionSync();
}
/**
* <p>
* Adds FNC1 in second position to the extended codetext items
* </p>
*
* @param codetext Value of the FNC1 in the second position
*/
addFNC1SecondPosition(codetext)
{
this.getJavaClass().addFNC1SecondPositionSync(codetext);
}
/**
* <p>
* Adds Group Separator (GS - '\\u001D') to the extended codetext items
* </p>
*/
addFNC1GroupSeparator()
{
this.getJavaClass().addFNC1GroupSeparatorSync();
}
/**
* <p>
* Generates Extended codetext from the extended codetext list.
* </p>
*
* @return Extended codetext as string
*/
getExtendedCodetext()
{
return this.getJavaClass().getExtendedCodetextSync();
}
}
/**
* QR structured append parameters.
*/
class QrStructuredAppendParameters extends joint.BaseJavaClass
{
init()
{
// TODO: Implement init() method.
}
constructor(javaClass)
{
super(javaClass);
this.init();
}
/**
* Gets the QR structured append mode parity data.
*/
getParityByte()
{
return this.getJavaClass().getParityByteSync();
}
/**
* Sets the QR structured append mode parity data.
*/
setParityByte(value)
{
this.getJavaClass().setParityByteSync(value);
}
/**
* Gets the index of the QR structured append mode barcode. Index starts from 0.
*/
getSequenceIndicator()
{
return this.getJavaClass().getSequenceIndicatorSync();
}
/**
* Sets the index of the QR structured append mode barcode. Index starts from 0.
*/
setSequenceIndicator(value)
{
this.getJavaClass().setSequenceIndicatorSync(value);
}
/**
* Gets the QR structured append mode barcodes quantity. Max value is 16.
*/
getTotalCount()
{
return this.getJavaClass().getTotalCountSync();
}
/**
* Sets the QR structured append mode barcodes quantity. Max value is 16.
*/
setTotalCount(value)
{
this.getJavaClass().setTotalCountSync(value);
}
}
/**
* Extended codetext generator for MaxiCode barcodes for ExtendedCodetext Mode of MaxiCodeEncodeMode
* Use TwoDDisplayText property of BarcodeGenerator to set visible text to removing managing characters.
*
* This sample shows how to use MaxiCodeExtCodetextBuilder in Extended Mode.
*
* @example
* //create codetext
* let textBuilder = new MaxiCodeExtCodetextBuilder();
* textBuilder.addECICodetext(ECIEncodings.Win1251, "Will");
* textBuilder.addECICodetext(ECIEncodings.UTF8, "犬Right狗");
* textBuilder.addECICodetext(ECIEncodings.UTF16BE, "犬Power狗");
* textBuilder.addPlainCodetext("Plain text");
*
* //generate codetext
* let codetext = textBuilder.getExtendedCodetext();
*
* //generate
* let generator = new BarcodeGenerator(EncodeTypes.MAXI_CODE, codetext);
* generator.getParameters().getBarcode().getCodeTextParameters().setTwoDDisplayText("My Text");
* generator.save("test.bmp", BarcodeImageFormat.BMP);
*/
class MaxiCodeExtCodetextBuilder extends ExtCodetextBuilder
{
static JAVA_CLASS_NAME = "com.aspose.mw.barcode.generation.MwMaxiCodeExtCodetextBuilder";
constructor()
{
try
{
let java_class = java.import(MaxiCodeExtCodetextBuilder.JAVA_CLASS_NAME);
super(new java_class());
}
catch (ex)
{
throw new BarcodeException(ex.getMessage(), __FILE__, __LINE__);
}
}
init()
{
}
/**
* Generates Extended codetext from the extended codetext list.
* @return Extended codetext as string
*/
getExtendedCodetext()
{
return this.getJavaClass().getExtendedCodetextSync();
}
}
/**
* <p>
* Extended codetext generator for 2D DotCode barcodes for ExtendedCodetext Mode of DotCodeEncodeMode
* </p>
* @example
* //Extended codetext mode
* //create codetext
* let textBuilder = new DotCodeExtCodetextBuilder();
* textBuilder.addFNC1FormatIdentifier();
* textBuilder.addECICodetext(ECIEncodings.Win1251, "Will");
* textBuilder.addFNC1FormatIdentifier();
* textBuilder.addECICodetext(ECIEncodings.UTF8, "犬Right狗");
* textBuilder.addFNC1FormatIdentifier();
* textBuilder.addECICodetext(ECIEncodings.UTF16BE, "犬Power狗");
* textBuilder.addPlainCodetext("Plain text");
* textBuilder.addFNC3SymbolSeparator();
* textBuilder.addFNC3ReaderInitialization();
* textBuilder.addPlainCodetext("Reader initialization info");
* //generate codetext
* let codetext = textBuilder.getExtendedCodetext();
* //generate
* let generator = new BarcodeGenerator(EncodeTypes.DOT_CODE, codetext);
* generator.getParameters().getBarcode().getDotCode().setDotCodeEncodeMode(DotCodeEncodeMode.EXTENDED_CODETEXT);
* generator.save("test.bmp", BarCodeImageFormat.BMP);
*/
class DotCodeExtCodetextBuilder extends ExtCodetextBuilder
{
static JAVA_CLASS_NAME = "com.aspose.mw.barcode.generation.MwDotCodeExtCodetextBuilder";
constructor()
{
let java_class_link = java.import(DotCodeExtCodetextBuilder.JAVA_CLASS_NAME);
let javaClass = new java_class_link();
super(javaClass);
}
init() {}
/**
* <p>
* Adds FNC1 format identifier to the extended codetext items
* </p>
*/
addFNC1FormatIdentifier()
{
this.getJavaClass().addFNC1FormatIdentifierSync();
}
/**
* <p>
* Adds FNC3 symbol separator to the extended codetext items
* </p>
*/
addFNC3SymbolSeparator()
{
this.getJavaClass().addFNC3SymbolSeparatorSync();
}
/**
* <p>
* Adds FNC3 reader initialization to the extended codetext items
* </p>
*/
addFNC3ReaderInitialization()
{
this.getJavaClass().addFNC3ReaderInitializationSync();
}
/**
* <p>
* Adds structured append mode to the extended codetext items
* </p>
* @param barcodeId ID of barcode
* @param barcodesCount Barcodes count
*/
addStructuredAppendMode(barcodeId, barcodesCount)
{
this.getJavaClass().addStructuredAppendModeSync(barcodeId, barcodesCount);
}
/**
* <p>
* Generates Extended codetext from the extended codetext list.
* </p>
* @return Extended codetext as string
*/
getExtendedCodetext()
{
return this.getJavaClass().getExtendedCodetextSync();
}
}
/**
* Code128 parameters.
*/
class Code128Parameters extends joint.BaseJavaClass
{
init()
{
// TODO: Implement init() method.
}
constructor(javaClass)
{
super(javaClass);
this.init();
}
/**
* <p>
* Gets a Code128 encode mode.
* Default value: Code128EncodeMode.Auto
* </p>
*/
getCode128EncodeMode()
{
return this.getJavaClass().getCode128EncodeModeSync();
}
/**
* <p>
* Sets a Code128 encode mode.
* Default value: Code128EncodeMode.Auto
* </p>
*/
setCode128EncodeMode(value)
{
this.getJavaClass().setCode128EncodeModeSync(value);
}
/**
* Returns a human-readable string representation of this PatchCodeParameters.
* @return string A string that represents this PatchCodeParameters.
*/
toString()
{
return this.getJavaClass().toStringSync();
}
}
/**
* <p>
* Han Xin parameters.
* </p>
*/
class HanXinParameters extends joint.BaseJavaClass
{
constructor(javaClass)
{
super(javaClass);
this.init();
}
init()
{
}
/**
* <p>
* Version of HanXin Code.
* From Version01 to Version84 for Han Xin code.
* Default value is HanXinVersion.Auto.
* </p>
*/
getHanXinVersion()
{
return this.getJavaClass().getHanXinVersionSync();
}
/**
* <p>
* Version of HanXin Code.
* From Version01 to Version84 for Han Xin code.
* Default value is HanXinVersion.Auto.
* </p>
*/
setHanXinVersion(value)
{
this.getJavaClass().setHanXinVersionSync(value);
}
/**
* <p>
* Level of Reed-Solomon error correction for Han Xin barcode.
* From low to high: L1, L2, L3, L4. see HanXinErrorLevel.
* </p>
*/
getHanXinErrorLevel()
{
return this.getJavaClass().getHanXinErrorLevelSync();
}
/**
* <p>
* Level of Reed-Solomon error correction for Han Xin barcode.
* From low to high: L1, L2, L3, L4. see HanXinErrorLevel.
* </p>
*/
setHanXinErrorLevel(value)
{
this.getJavaClass().setHanXinErrorLevelSync(value);
}
/**
* <p>
* HanXin encoding mode.
* Default value: HanXinEncodeMode.Mixed.
* </p>
*/
getHanXinEncodeMode()
{
return this.getJavaClass().getHanXinEncodeModeSync();
}
/**
* <p>
* HanXin encoding mode.
* Default value: HanXinEncodeMode.Mixed.
* </p>
*/
setHanXinEncodeMode(value)
{
this.getJavaClass().setHanXinEncodeModeSync(value);
}
/**
* <p>
* Extended Channel Interpretation Identifiers. It is used to tell the barcode reader details
* about the used references for encoding the data in the symbol.
* Current implementation consists all well known charset encodings.
* </p>
*/
getHanXinECIEncoding()
{
return this.getJavaClass().getHanXinECIEncodingSync();
}
/**
* <p>
* Extended Channel Interpretation Identifiers. It is used to tell the barcode reader details
* about the used references for encoding the data in the symbol.
* Current implementation consists all well known charset encodings.
* </p>
*/
setHanXinECIEncoding(value)
{
this.getJavaClass().setHanXinECIEncodingSync(value);
}
/**
* <p>
* Returns a human-readable string representation of this {@code HanXinParameters}.
* </p>
* @return A string that represents this {@code HanXinParameters}.
*/
toString()
{
return this.getJavaClass().toStringSync();
}
}
/**
* <p>
* <p>Extended codetext generator for 2D DataMatrix barcodes for ExtendedCodetext Mode of DataMatrixEncodeMode</p>
* </p><p><hr><blockquote><pre>
* <pre>
* //Extended codetext mode
* //create codetext
* let textBuilder = new DataMatrixExtCodetextBuilder();
* codetextBuilder.addECICodetextWithEncodeMode(ECIEncodings.Win1251, DataMatrixEncodeMode.BYTES, "World");
* codetextBuilder.addPlainCodetext("Will");
* codetextBuilder.addECICodetext(ECIEncodings.UTF_8, "犬Right狗");
* codetextBuilder.addCodetextWithEncodeMode(DataMatrixEncodeMode.C_40, "ABCDE");
* //generate codetext
* let codetext = textBuilder.getExtendedCodetext();
* //generate
* let generator = new BarcodeGenerator(EncodeTypes.DATA_MATRIX, null, codetext);
* generator.getParameters().getBarcode().getDataMatrix().setDataMatrixEncodeMode(DataMatrixEncodeMode.EXTENDED_CODETEXT);
* generator.save("test.bmp", BarcodeImageFormat.BMP);
* </pre>
* </pre>
* </pre></blockquote></hr></p>
*/
class DataMatrixExtCodetextBuilder extends ExtCodetextBuilder
{
static JAVA_CLASS_NAME = "com.aspose.mw.barcode.generation.MwDataMatrixExtCodetextBuilder";
constructor()
{
let java_class_link = java.import(DataMatrixExtCodetextBuilder.JAVA_CLASS_NAME);
let javaClass = new java_class_link();
super(javaClass);
}
static construct(javaClass)
{
let obj = new DataMatrixExtCodetextBuilder();
obj.setJavaClass(javaClass);
return obj;
}
init()
{
}
/**
* <p>
* Adds codetext with Extended Channel Identifier with defined encode mode
* </p>
* @param ECIEncoding Extended Channel Identifier
* @param encodeMode Encode mode value
* @param codetext Codetext in unicode to add as extended codetext item with Extended Channel Identifier with defined encode mode
*/
addECICodetextWithEncodeMode(ECIEncoding, encodeMode, codetext)
{
this.getJavaClass().addECICodetextWithEncodeModeSync(ECIEncoding, encodeMode, codetext);
}
/**
* <p>
* Adds codetext with defined encode mode to the extended codetext items
* </p>
* @param encodeMode Encode mode value
* @param codetext Codetext in unicode to add as extended codetext item
*/
addCodetextWithEncodeMode(encodeMode, codetext)
{
this.getJavaClass().addCodetextWithEncodeModeSync(encodeMode, codetext);
}
/**
* <p>
* Generates Extended codetext from the extended codetext list.
* </p>
* @return Extended codetext as string
*/
getExtendedCodetext()
{
return this.getJavaClass().getExtendedCodetextSync();
}
}
/**
* <p>
* <p>Extended codetext generator for Han Xin Code for Extended Mode of HanXinEncodeMode</p>
* </p><p><hr><blockquote><pre>
* <pre>
*
* //Extended codetext mode
* //create codetext
* let codeTextBuilder = new HanXinExtCodetextBuilder();
* codeTextBuilder.addGB18030TwoByte("漄");
* codeTextBuilder.addGB18030FourByte("㐁");
* codeTextBuilder.addCommonChineseRegionOne("全");
* codeTextBuilder.addCommonChineseRegionTwo("螅");
* codeTextBuilder.addNumeric("123");
* codeTextBuilder.addText("qwe");
* codeTextBuilder.addUnicode("ıntəˈnæʃənəl");
* codeTextBuilder.addECI("ΑΒΓΔΕ", 9);
* codeTextBuilder.addAuto("abc");
* codeTextBuilder.addBinary("abc");
* codeTextBuilder.addURI("backslashes_should_be_doubled\000555:test");
* codeTextBuilder.addGS1("(01)03453120000011(17)191125(10)ABCD1234(21)10");
* let expectedStr = "漄㐁全螅123qweıntəˈnæʃənəlΑΒΓΔΕabcabcbackslashes_should_be_doubled\000555:test(01)03453120000011(17)191125(10)ABCD1234(21)10";
* //generate codetext
* let str = codeTextBuilder.getExtendedCodetext();
* //generate
* let bg = new BarcodeGenerator(EncodeTypes.HAN_XIN, str);
* bg.getParameters().getBarcode().getHanXin().setHanXinEncodeMode(HanXinEncodeMode.EXTENDED);
* let img = bg.generateBarCodeImage(BarcodeImageFormat.PNG);
* let r = new BarCodeReader(img, null, DecodeType.HAN_XIN))
* let found = r.readBarCodes();
* assert.assertEquals(1, found.length);
* assert.assertEquals(expectedStr, found[0].getCodeText());
* </pre>
* </pre></blockquote></hr></p>
*/
class HanXinExtCodetextBuilder extends joint.BaseJavaClass
{
static JAVA_CLASS_NAME = "com.aspose.mw.barcode.generation.MwHanXinExtCodetextBuilder";
constructor()
{
let java_class_link = java.import(HanXinExtCodetextBuilder.JAVA_CLASS_NAME);
let javaClass = new java_class_link();
super(javaClass);
}
init()
{
}
/**
* <p>
* Adds codetext fragment in ECI mode
* </p>
* @param text Codetext string
* @param encoding ECI encoding in number format
*/
addECI(text, encoding)
{
this.getJavaClass().addECISync(text, encoding);
}
/**
* <p>
* Adds codetext fragment in Auto mode
* </p>
* @param text Codetext string
*/
addAuto(text)
{
this.getJavaClass().addAutoSync(text);
}
/**
* <p>
* Adds codetext fragment in Binary mode
* </p>
* @param text Codetext string
*/
addBinary(text)
{
this.getJavaClass().addBinarySync(text);
}
/**
* <p>
* Adds codetext fragment in URI mode
* </p>
* @param text Codetext string
*/
addURI(text)
{
this.getJavaClass().addURISync(text);
}
/**
* <p>
* Adds codetext fragment in Text mode
* </p>
* @param text Codetext string
*/
addText(text)
{
this.getJavaClass().addTextSync(text);
}
/**
* <p>
* Adds codetext fragment in Numeric mode
* </p>
* @param text Codetext string
*/
addNumeric(text)
{
this.getJavaClass().addNumericSync(text);
}
/**
* <p>
* Adds codetext fragment in Unicode mode
* </p>
* @param text Codetext string
*/
addUnicode(text)
{
this.getJavaClass().addUnicodeSync(text);
}
/**
* <p>
* Adds codetext fragment in Common Chinese Region One mode
* </p>
* @param text Codetext string
*/
addCommonChineseRegionOne(text)
{
this.getJavaClass().addCommonChineseRegionOneSync(text);
}
/**
* <p>
* Adds codetext fragment in Common Chinese Region Two mode
* </p>
* @param text Codetext string
*/
addCommonChineseRegionTwo(text)
{
this.getJavaClass().addCommonChineseRegionTwoSync(text);
}
/**
* <p>
* Adds codetext fragment in GB18030 Two Byte mode
* </p>
* @param text Codetext string
*/
addGB18030TwoByte(text)
{
this.getJavaClass().addGB18030TwoByteSync(text);
}
/**
* <p>
* Adds codetext fragment in GB18030 Four Byte mode
* </p>
* @param text Codetext string
*/
addGB18030FourByte(text)
{
this.getJavaClass().addGB18030FourByteSync(text);
}
/**
* <p>
* Adds codetext fragment in GS1 mode
* </p>
* @param text Codetext string
*/
addGS1(text)
{
this.getJavaClass().addGS1Sync(text);
}
/**
* <p>
* Returns codetext from Extended mode codetext builder
* </p>
* @return Codetext in Extended mode
*/
getExtendedCodetext()
{
return this.getJavaClass().getExtendedCodetextSync();
}
}
/**
* Enable checksum validation during recognition for 1D barcodes.<br>
* Default is treated as Yes for symbologies which must contain checksum, as No where checksum only possible.<br>
* Checksum never used: Codabar<br>
* Checksum is possible: Code39 Standard/Extended, Standard2of5, Interleaved2of5, Matrix2of5, ItalianPost25, DeutschePostIdentcode, DeutschePostLeitcode, VIN<br>
* Checksum always used: Rest symbologies
* @example
* //This sample shows influence of ChecksumValidation on recognition quality and results
* let generator = new BarcodeGenerator(EncodeTypes.EAN_13, "1234567890128");
* generator.save("test.png", BarcodeImageFormat.PNG);
* let reader = new BarCodeReader("test.png", DecodeType.EAN_13);
* //checksum disabled
* reader.setChecksumValidation(ChecksumValidation.OFF);
* reader.readBarCodes().forEach(function(result, i, results)
* {
* console.log("BarCode CodeText: " + result.getCodeText());
* console.log("BarCode Value: " + result.getExtended().getOneD().getValue());
* console.log("BarCode Checksum: " + result.getExtended().getOneD().getCheckSum());
* });
* let reader = new BarCodeReader("test.png", DecodeType.EAN_13);
* //checksum enabled
* reader.setChecksumValidation(ChecksumValidation.ON);
* reader.readBarCodes().forEach(function(result, i, results)
* {
* console.log("BarCode CodeText: " + result.getCodeText());
* console.log("BarCode Value: " + result.getExtended().getOneD().getValue());
* console.log("BarCode Checksum: " + result.getExtended().getOneD().getCheckSum());
* });
* @enum
*/
ChecksumValidation =
{
/**
* If checksum is required by the specification - it will be validated.
*/
DEFAULT: 0,
/**
* Always validate checksum if possible.
*/
ON: 1,
/**
* Do not validate checksum.
*/
OFF: 2
};
/**
* BarcodeClassifications EncodeTypes classification
* @enum
*/
BarcodeClassifications =
{
/**
* Unspecified classification
*/
NONE: 0,
/**
* Specifies 1D-barcode
*/
TYPE_1D: 1,
/**
* Specifies 2D-barcode
*/
TYPE_2D: 2,
/**
* Specifies POSTAL-barcode
*/
POSTAL: 3,
/**
* Specifies DataBar-barcode
*/
DATABAR: 4,
/**
* Specifies COUPON-barcode
*/
COUPON: 5
};
/**
* FontStyle classification
* @enum
*/
FontStyle =
{
/**
* Bold text
*/
BOLD: 1,
/**
* Italic text
*/
ITALIC: 2,
/**
* Normal text
*/
REGULAR: 0,
/**
* Text with a line through the middle.
*/
STRIKEOUT: 8,
/**
* Underlined text.
*/
UNDERLINE: 4
};
/**
* Specifies the start or stop symbol of the Codabar barcode specification.
* @enum
*/
CodabarSymbol =
{
/**
* Specifies character A as the start or stop symbol of the Codabar barcode specification.
*/
A: 65,
/**
* Specifies character B as the start or stop symbol of the Codabar barcode specification.
*/
B: 66,
/**
* Specifies character C as the start or stop symbol of the Codabar barcode specification.
*/
C: 67,
/**
* Specifies character D as the start or stop symbol of the Codabar barcode specification.
*/
D: 68,
};
/**
* DataMatrix encoder's encoding mode, default to AUTO
* @enum
*/
DataMatrixEncodeMode =
{
/**
* Automatically pick up the best encode mode for datamatrix encoding
*/
AUTO: 0,
/**
* Encodes one alphanumeric or two numeric characters per byte
*/
ASCII: 1,
/**
* Encode 8 bit values
*/
BYTES: 6,
/**
* Uses C40 encoding. Encodes Upper-case alphanumeric, Lower case and special characters
*/
C40: 8,
/**
* UUses TEXT encoding. Encodes Lower-case alphanumeric, Upper case and special characters
*/
TEXT: 9,
/**
* Uses EDIFACT encoding. Uses six bits per character, encodes digits, upper-case letters, and many punctuation marks, but has no support for lower-case letters.
*/
EDIFACT: 10,
/**
* Uses ANSI X12 encoding.
*/
ANSIX12: 11,
/**
* ExtendedCodetext mode allows to manually switch encodation schemes in codetext.<br>
* Allowed encodation schemes are: EDIFACT, ANSIX12, ASCII, C40, Text, Auto.<br>
* Extended codetext example: @"\ansix12:ANSIX12TEXT\ascii:backslash must be \\ doubled\edifact:EdifactEncodedText"<br>
* All backslashes (\) must be doubled in text.<br>
*
* @example
* //This sample shows how to do codetext in Extended Mode.
*
* let generator = new BarcodeGenerator(EncodeTypes.DATA_MATRIX);
* generator.setCodeText("\\ansix12:ANSIX12TEXT\\ascii:backslash must be \\\\ doubled\\edifact:EdifactEncodedText");
* generator.getParameters().getBarcode().getDataMatrix().setDataMatrixEncodeMode(DataMatrixEncodeMode.EXTENDED_CODETEXT);
* generator.getParameters().getBarcode().getCodeTextParameters().setTwoDDisplayText("My Text");
* generator.save("test.png", BarcodeImageFormat.PNG);
*/
EXTENDED_CODETEXT: 12
};
/**
* Specifies the style of dashed border lines.
* @enum
*/
BorderDashStyle =
{
/**
* Specifies a solid line.
*/
SOLID: 0, //DashStyle.Solid
/**
* Specifies a line consisting of dashes.
*/
DASH: 1, // DashStyle.Dash
/**
* Specifies a line consisting of dots.
*/
DOT: 2, //(DashStyle.Dot
/**
* Specifies a line consisting of a repeating pattern of dash-dot.
*/
DASH_DOT: 3, //DashStyle.DashDot
/**
* Specifies a line consisting of a repeating pattern of dash-dot-dot.
*/
DASH_DOT_DOT: 4, //DashStyle.DashDotDot
};
/**
* ITF14 barcode's border type
* @enum
*/
ITF14BorderType =
{
/**
* NO border enclosing the barcode
*/
NONE: 0,
/**
* FRAME enclosing the barcode
*/
FRAME: 1,
/**
* Tow horizontal bars enclosing the barcode
*/
BAR: 2,
/**
* FRAME enclosing the barcode
*/
FRAME_OUT: 3,
/**
* Tow horizontal bars enclosing the barcode
*/
BAR_OUT: 4,
};
/**
* Encoding mode for QR barcodes. It is recommended to Use AUTO with CodeTextEncoding = Encoding.UTF8 for latin symbols or digits and UTF_8_BOM for unicode symbols.
* @example
* //Example how to use ECI encoding
* let generator = new BarcodeGenerator(EncodeTypes.QR);
* generator.setCodeText("12345TEXT");
* generator.getParameters().getBarcode().getQR().setQrEncodeMode(QREncodeMode.ECI_ENCODING);
* generator.getParameters().getBarcode().getQR().setQrEncodeType(QREncodeType.FORCE_QR);
* generator.getParameters().getBarcode().getQR().setQrECIEncoding(ECIEncodings.UTF8);
* generator.save("test.png", BarcodeImageFormat.PNG);
*
* @example
* //Example how to use FNC1 first position in Extended Mode
* QrExtCodetextBuilder textBuilder = new QrExtCodetextBuilder();
* textBuilder.addPlainCodetext("000%89%%0");
* textBuilder.addFNC1GroupSeparator();
* textBuilder.addPlainCodetext("12345&lt;FNC1&gt;");
* //generate barcode
* let generator = new BarcodeGenerator(EncodeTypes.QR);
* generator.setCodeText(textBuilder.getExtendedCodetext());
* generator.getParameters().getBarcode().getQR().setQrEncodeMode(QREncodeMode.EXTENDED_CODETEXT);
* generator.getParameters().getBarcode().getCodeTextParameters().setTwoDDisplayText("My Text");
* generator.save("d:/test.png", BarcodeImageFormat.PNG);
*
* @example
* // This sample shows how to use FNC1 second position in Extended Mode.
* //create codetext
* QrExtCodetextBuilder textBuilder = new QrExtCodetextBuilder();
* textBuilder.addFNC1SecondPosition("12");
* textBuilder.addPlainCodetext("TRUE3456");
* //generate barcode
* let generator = new BarcodeGenerator(EncodeTypes.QR);
* generator.setCodeText(textBuilder.getExtendedCodetext());
* generator.getParameters().getBarcode().getCodeTextParameters().setTwoDDisplayText("My Text");
* generator.save("d:/test.png", BarcodeImageFormat.PNG);
*
* @example
* //This sample shows how to use multi ECI mode in Extended Mode.
* //create codetext
* QrExtCodetextBuilder textBuilder = new QrExtCodetextBuilder();
* textBuilder.addECICodetext(ECIEncodings.Win1251, "Will");
* textBuilder.addECICodetext(ECIEncodings.UTF8, "Right");
* textBuilder.addECICodetext(ECIEncodings.UTF16BE, "Power");
* textBuilder.addPlainCodetext("t\e\\st");
* //generate barcode
* let generator = new BarcodeGenerator(EncodeTypes.QR);
* generator.setCodeText(textBuilder.getExtendedCodetext());
* generator.getParameters().getBarcode().getQR().setQrEncodeMode(QREncodeMode.EXTENDED_CODETEXT);
* generator.getParameters().getBarcode().getCodeTextParameters().setTwoDDisplayText("My Text");
* generator.save("d:/test.png", BarcodeImageFormat.PNG);
* @enum
*/
QREncodeMode =
{
/**
* Encode codetext as is non-unicode charset. <br>
* If there is any unicode character, <br>
* the codetext will be encoded with value which is set in CodeTextEncoding.
*/
AUTO: 0,
/**
* Encode codetext as plain bytes. If it detects any unicode character, the character will be encoded as two bytes, lower byte first.
*/
BYTES: 1,
//https://en.wikipedia.org/wiki/Byte_order_mark
/**
* Encode codetext with UTF8 encoding with first ByteOfMark character.
*/
UTF_8_BOM: 2,
/**
* Encode codetext with UTF8 encoding with first ByteOfMark character. It can be problems with some barcode scaners.
*/
UTF_16_BEBOM: 3,
/**
* Encode codetext with value set in the ECI_ENCODING property. It can be problems with some old (pre 2006) barcode scaners.
*/
ECI_ENCODING: 4,
/**
* Extended Channel mode which supports FNC1 first position, FNC1 second position and multi ECI modes.<br>
* It is better to use QrExtCodetextBuilder for extended codetext generation.<br>
* Use Display2DText property to set visible text to removing managing characters.<br>
* Encoding Principles:<br>
* All symbols "\" must be doubled "\\" in the codetext.<br>
* FNC1 in first position is set in codetext as as "&lt;FNC1&gt;"<br>
* FNC1 in second position is set in codetext as as "&lt;FNC1(value)&gt;". The value must be single symbols (a-z, A-Z) or digits from 0 to 99.<br>
* Group Separator for FNC1 modes is set as 0x1D character '\\u001D' <br>
* If you need to insert "&lt;FNC1&gt;" string into barcode write it as "&lt;\FNC1&gt;" <br>
* ECI identifiers are set as single slash and six digits identifier "\000026" - UTF8 ECI identifier<br>
* TO disable current ECI mode and convert to default JIS8 mode zero mode ECI indetifier is set. "\000000"<br>
* All unicode characters after ECI identifier are automatically encoded into correct character codeset.<br>
*/
EXTENDED_CODETEXT: 5
};
/**
* Specify the type of the ECC to encode.
* @enum
*/
DataMatrixEccType =
{
/**
* Specifies that encoded Ecc type is defined by default Reed-Solomon error correction or ECC 200.
*/
ECC_AUTO: 0,
/**
* Specifies that encoded Ecc type is defined ECC 000.
*/
ECC_000: 1,
/**
* Specifies that encoded Ecc type is defined ECC 050.
*/
ECC_050: 2,
/**
* Specifies that encoded Ecc type is defined ECC 080.
*/
ECC_080: 3,
/**
* Specifies that encoded Ecc type is defined ECC 100.
*/
ECC_100: 4,
/**
* Specifies that encoded Ecc type is defined ECC 140.
*/
ECC_140: 5,
/**
* Specifies that encoded Ecc type is defined ECC 200. Recommended to use.
*/
ECC_200: 6
};
/**
* Version of QR Code.
* From Version1 to Version40 for QR code and from M1 to M4 for MicroQr.
* @enum
*/
QRVersion =
{
/**
* Specifies to automatically pick up the best version for QR.<br>
* This is default value.
*/
AUTO: 0,
/**
* Specifies version 1 with 21 x 21 modules.
*/
VERSION_01: 1,
/**
* Specifies version 2 with 25 x 25 modules.
*/
VERSION_02: 2,
/**
* Specifies version 3 with 29 x 29 modules.
*/
VERSION_03: 3,
/**
* Specifies version 4 with 33 x 33 modules.
*/
VERSION_04: 4,
/**
* Specifies version 5 with 37 x 37 modules.
*/
VERSION_05: 5,
/**
* Specifies version 6 with 41 x 41 modules.
*/
VERSION_06: 6,
/**
* Specifies version 7 with 45 x 45 modules.
*/
VERSION_07: 7,
/**
* Specifies version 8 with 49 x 49 modules.
*/
VERSION_08: 8,
/**
* Specifies version 9 with 53 x 53 modules.
*/
VERSION_09: 9,
/**
* Specifies version 10 with 57 x 57 modules.
*/
VERSION_10: 10,
/**
* Specifies version 11 with 61 x 61 modules.
*/
VERSION_11: 11,
/**
* Specifies version 12 with 65 x 65 modules.
*/
VERSION_12: 12,
/**
* Specifies version 13 with 69 x 69 modules.
*/
VERSION_13: 13,
/**
* Specifies version 14 with 73 x 73 modules.
*/
VERSION_14: 14,
/**
* Specifies version 15 with 77 x 77 modules.
*/
VERSION_15: 15,
/**
* Specifies version 16 with 81 x 81 modules.
*/
VERSION_16: 16,
/**
* Specifies version 17 with 85 x 85 modules.
*/
VERSION_17: 17,
/**
* Specifies version 18 with 89 x 89 modules.
*/
VERSION_18: 18,
/**
* Specifies version 19 with 93 x 93 modules.
*/
VERSION_19: 19,
/**
* Specifies version 20 with 97 x 97 modules.
*/
VERSION_20: 20,
/**
* Specifies version 21 with 101 x 101 modules.
*/
VERSION_21: 21,
/**
* Specifies version 22 with 105 x 105 modules.
*/
VERSION_22: 22,
/**
* Specifies version 23 with 109 x 109 modules.
*/
VERSION_23: 23,
/**
* Specifies version 24 with 113 x 113 modules.
*/
VERSION_24: 24,
/**
* Specifies version 25 with 117 x 117 modules.
*/
VERSION_25: 25,
/**
* Specifies version 26 with 121 x 121 modules.
*/
VERSION_26: 26,
/**
* Specifies version 27 with 125 x 125 modules.
*/
VERSION_27: 27,
/**
* Specifies version 28 with 129 x 129 modules.
*/
VERSION_28: 28,
/**
* Specifies version 29 with 133 x 133 modules.
*/
VERSION_29: 29,
/**
* Specifies version 30 with 137 x 137 modules.
*/
VERSION_30: 30,
/**
* Specifies version 31 with 141 x 141 modules.
*/
VERSION_31: 31,
/**
* Specifies version 32 with 145 x 145 modules.
*/
VERSION_32: 32,
/**
* Specifies version 33 with 149 x 149 modules.
*/
VERSION_33: 33,
/**
* Specifies version 34 with 153 x 153 modules.
*/
VERSION_34: 34,
/**
* Specifies version 35 with 157 x 157 modules.
*/
VERSION_35: 35,
/**
* Specifies version 36 with 161 x 161 modules.
*/
VERSION_36: 36,
/**
* Specifies version 37 with 165 x 165 modules.
*/
VERSION_37: 37,
/**
* Specifies version 38 with 169 x 169 modules.
*/
VERSION_38: 38,
/**
* Specifies version 39 with 173 x 173 modules.
*/
VERSION_39: 39,
/**
* Specifies version 40 with 177 x 177 modules.
*/
VERSION_40: 40,
/**
* Specifies version M1 for Micro QR with 11 x 11 modules.
*/
VERSION_M1: 101,
/**
* Specifies version M2 for Micro QR with 13 x 13 modules.
*/
VERSION_M2: 102,
/**
* Specifies version M3 for Micro QR with 15 x 15 modules.
*/
VERSION_M3: 103,
/**
* Specifies version M4 for Micro QR with 17 x 17 modules.
*/
VERSION_M4: 104,
};
/**
* Specifies the Aztec symbol mode.
* @example
* let generator = new BarcodeGenerator(EncodeTypes.AZTEC);
* generator.setCodeText("125");
* generator.getParameters().getBarcode().getAztec().setAztecSymbolMode(AztecSymbolMode.RUNE);
* generator.save("test.png", BarCodeImageFormat.PNG);
* @enum
*/
AztecSymbolMode =
{
/**
* Specifies to automatically pick up the best symbol (COMPACT or FULL-range) for Aztec.<br>
* This is default value.
* @enum
*/
AUTO: 0,
/**
* Specifies the COMPACT symbol for Aztec.<br>
* Aztec COMPACT symbol permits only 1, 2, 3 or 4 layers.
*/
COMPACT: 1,
/**
* Specifies the FULL-range symbol for Aztec.<br>
* Aztec FULL-range symbol permits from 1 to 32 layers.
*/
FULL_RANGE: 2,
/**
* Specifies the RUNE symbol for Aztec.<br>
* Aztec Runes are a series of small but distinct machine-readable marks. It permits only number value from 0 to 255.
*/
RUNE: 3
};
/**
* pdf417 barcode's error correction level, from level 0 to level 9, level 0 means no error correction, level 9 means best error correction
* @enum
*/
Pdf417ErrorLevel =
{
/**
* level = 0.
*/
LEVEL_0: 0,
/**
* level = 1.
*/
LEVEL_1: 1,
/**
* level = 2.
*/
LEVEL_2: 2,
/**
* level = 3.
*/
LEVEL_3: 3,
/**
* level = 4.
*/
LEVEL_4: 4,
/**
* level = 5.
*/
LEVEL_5: 5,
/**
* level = 6.
*/
LEVEL_6: 6,
/**
* level = 7.
*/
LEVEL_7: 7,
/**
* level = 8.
*/
LEVEL_8: 8
};
/**
* Pdf417 barcode's compation mode
* @enum
*/
Pdf417CompactionMode =
{
/**
* auto detect compation mode
*/
AUTO: 0,
/**
* text compaction
*/
TEXT: 1,
/**
* numeric compaction mode
*/
NUMERIC: 2,
/**
* binary compaction mode
*/
BINARY: 3
};
/**
* Level of Reed-Solomon error correction. From low to high: LEVEL_L, LEVEL_M, LEVEL_Q, LEVEL_H.
* @enum
*/
QRErrorLevel =
{
/**
* Allows recovery of 7% of the code text
*/
LEVEL_L: 0,
/**
* Allows recovery of 15% of the code text
*/
LEVEL_M: 1,
/**
* Allows recovery of 25% of the code text
*/
LEVEL_Q: 2,
/**
* Allows recovery of 30% of the code text
*/
LEVEL_H: 3
};
/**
* QR / MicroQR selector mode. Select FORCE_QR for standard QR symbols, AUTO for MicroQR.<br>
* FORCE_MICRO_QR is used for strongly MicroQR symbol generation if it is possible.
* @enum
*/
QREncodeType =
{
/**
* Mode starts barcode version negotiation from MicroQR V1
*/
AUTO: 0,
/**
* Mode starts barcode version negotiation from QR V1
*/
FORCE_QR: 1,
/**
* Mode starts barcode version negotiation from from MicroQR V1 to V4. If data cannot be encoded into MicroQR, exception is thrown.
*/
FORCE_MICRO_QR: 2
};
/**
* Specifies the checksum algorithm for Codabar
* @enum
*/
CodabarChecksumMode =
{
/**
* Specifies Mod 10 algorithm for Codabar.
*/
MOD_10: 0,
/**
* Specifies Mod 16 algorithm for Codabar (recomended AIIM).
*/
MOD_16: 1
};
/**
* Codetext location
* @enum
*/
CodeLocation =
{
/**
* Codetext below barcode.
*/
BELOW: 0,
/**
* Codetext above barcode.
*/
ABOVE: 1,
/**
* Hide codetext.
*/
NONE: 2
};
/**
* Font size mode.
* @enum
*/
FontMode =
{
/**
* Automatically calculate Font size based on barcode size.
*/
AUTO: 0,
/**
* Use Font sized defined by user.
*/
MANUAL: 1
};
/**
* Text alignment.
* @enum
*/
TextAlignment =
{
/**
* Left position.
*/
LEFT: 0,
/**
* Center position.
*/
CENTER: 1,
/**
* Right position.
*/
RIGHT: 2
};
/**
* Specifies the different types of automatic sizing modes.<br>
* Default value is AutoSizeMode.NONE.
* @example
* //This sample shows how to create and save a BarCode image:
* let generator = new BarcodeGenerator(EncodeTypes.DATA_MATRIX);
* generator.setAutoSizeMode(AutoSizeMode.NEAREST);
* generator.getBarCodeWidth().setMillimeters(50);
* generator.getBarCodeHeight().setInches(1.3f);
* generator.save("test.png", BarcodeImageFormat.PNG);
*
* @enum
*/
AutoSizeMode =
{
/**
* Automatic resizing is disabled. Default value.
*/
NONE: 0, //or CUSTOM, or DEFAULT
/**
* Barcode resizes to nearest lowest possible size<br>
* which are specified by BarCodeWidth and BarCodeHeight properties.
*/
NEAREST: 1,
/**
* Resizes barcode to specified size with little scaling<br>
* but it can be little damaged in some cases<br>
* because using interpolation for scaling.<br>
* Size can be specified by BarcodeGenerator.BarCodeWidth<br>
* and BarcodeGenerator.BarCodeHeight properties.<br>
* @example
* This sample shows how to create and save a BarCode image in Scale mode.
*
* let generator = new BarcodeGenerator( EncodeTypes.DATA_MATRIX);
* generator.getParameters().getBarcode().setAutoSizeMode(AutoSizeMode.INTERPOLATION);
* generator.getParameters().getBarcode().getBarCodeWidth().setMillimeters(50);
* generator.getParameters().getBarcode().getBarCodeHeight().setInches(1.3);
* generator.save("test.png", BarcodeImageFormat.PNG);
*/
INTERPOLATION: 2,
};
/**
* Specifies the unit of measure for the given data.
* @enum
*/
GraphicsUnit =
{
/**
* Specifies the world coordinate system unit as the unit of measure.
*/
WORLD: 0,
/**
* Specifies the unit of measure of the display device. Typically pixels for video displays, and 1/100 inch for printers.
*/
DISPLAY: 1,
/**
* Specifies a device pixel as the unit of measure.
*/
PIXEL: 2,
/**
* Specifies a printer's point = 1/72 inch) as the unit of measure.
*/
POINT: 3,
/**
* Specifies the inch as the unit of measure.
*/
INCH: 4,
/**
* Specifies the document unit = 1/300 inch) as the unit of measure.
*/
DOCUMENT: 5,
/**
* Specifies the millimeter as the unit of measure.
*/
MILLIMETER: 6,
};
/**
* Specifies the type of barcode to encode.
* @enum
*/
EncodeTypes =
{
/**
* Unspecified encode type.
*/
NONE: -1,
/**
* Specifies that the data should be encoded with CODABAR barcode specification
*/
CODABAR: 0,
/**
* Specifies that the data should be encoded with CODE 11 barcode specification
*/
CODE_11: 1,
/**
* Specifies that the data should be encoded with Standard CODE 39 barcode specification
*/
CODE_39_STANDARD: 2,
/**
* Specifies that the data should be encoded with Extended CODE 39 barcode specification
*/
CODE_39_EXTENDED: 3,
/**
* Specifies that the data should be encoded with Standard CODE 93 barcode specification
*/
CODE_93_STANDARD: 4,
/**
* Specifies that the data should be encoded with Extended CODE 93 barcode specification
*/
CODE_93_EXTENDED: 5,
/**
* Specifies that the data should be encoded with CODE 128 barcode specification
*/
CODE_128: 6,
/**
* Specifies that the data should be encoded with GS1 Code 128 barcode specification. The codetext must contains parentheses for AI.
*/
GS_1_CODE_128: 7,
/**
* Specifies that the data should be encoded with EAN-8 barcode specification
*/
EAN_8: 8,
/**
* Specifies that the data should be encoded with EAN-13 barcode specification
*/
EAN_13: 9,
/**
* Specifies that the data should be encoded with EAN14 barcode specification
*/
EAN_14: 10,
/**
* Specifies that the data should be encoded with SCC14 barcode specification
*/
SCC_14: 11,
/**
* Specifies that the data should be encoded with SSCC18 barcode specification
*/
SSCC_18: 12,
/**
* Specifies that the data should be encoded with UPC-A barcode specification
*/
UPCA: 13,
/**
* Specifies that the data should be encoded with UPC-E barcode specification
*/
UPCE: 14,
/**
* Specifies that the data should be encoded with isBN barcode specification
*/
ISBN: 15,
/**
* Specifies that the data should be encoded with ISSN barcode specification
*/
ISSN: 16,
/**
* Specifies that the data should be encoded with ISMN barcode specification
*/
ISMN: 17,
/**
* Specifies that the data should be encoded with Standard 2 of 5 barcode specification
*/
STANDARD_2_OF_5: 18,
/**
* Specifies that the data should be encoded with INTERLEAVED 2 of 5 barcode specification
*/
INTERLEAVED_2_OF_5: 19,
/**
* Represents Matrix 2 of 5 BarCode
*/
MATRIX_2_OF_5: 20,
/**
* Represents Italian Post 25 barcode.
*/
ITALIAN_POST_25: 21,
/**
* Represents IATA 2 of 5 barcode.IATA (International Air Transport Assosiation) uses this barcode for the management of air cargo.
*/
IATA_2_OF_5: 22,
/**
* Specifies that the data should be encoded with ITF14 barcode specification
*/
ITF_14: 23,
/**
* Represents ITF-6 Barcode.
*/
ITF_6: 24,
/**
* Specifies that the data should be encoded with MSI Plessey barcode specification
*/
MSI: 25,
/**
* Represents VIN (Vehicle Identification Number) Barcode.
*/
VIN: 26,
/**
* Represents Deutsch Post barcode, This EncodeType is also known as Identcode,CodeIdentcode,German Postal 2 of 5 Identcode,<br>
* Deutsch Post AG Identcode, Deutsch Frachtpost Identcode, Deutsch Post AG (DHL)
*/
DEUTSCHE_POST_IDENTCODE: 27,
/**
* Represents Deutsch Post Leitcode Barcode,also known as German Postal 2 of 5 Leitcode, CodeLeitcode, Leitcode, Deutsch Post AG (DHL).
*/
DEUTSCHE_POST_LEITCODE: 28,
/**
* Represents OPC(Optical Product Code) Barcode,also known as , VCA Barcode VCA OPC, Vision Council of America OPC Barcode.
*/
OPC: 29,
/**
* Represents PZN barcode.This EncodeType is also known as Pharmacy central number, Pharmazentralnummer
*/
PZN: 30,
/**
* Represents Code 16K barcode.
*/
CODE_16_K: 31,
/**
* Represents Pharmacode barcode.
*/
PHARMACODE: 32,
/**
* 2D barcode symbology DataMatrix
*/
DATA_MATRIX: 33,
/**
* Specifies that the data should be encoded with QR Code barcode specification
*/
QR: 34,
/**
* Specifies that the data should be encoded with Aztec barcode specification
*/
AZTEC: 35,
/**
* <p>
* Specifies that the data should be encoded with {@code <b>GS1 Aztec</b>} barcode specification. The codetext must contains parentheses for AI.
* </p>
*/
GS_1_AZTEC:81,
/**
* Specifies that the data should be encoded with Pdf417 barcode specification
*/
PDF_417: 36,
/**
* Specifies that the data should be encoded with MacroPdf417 barcode specification
*/
MACRO_PDF_417: 37,
/**
* 2D barcode symbology DataMatrix with GS1 string format
*/
GS_1_DATA_MATRIX: 48,
/**
* Specifies that the data should be encoded with MicroPdf417 barcode specification
*/
MICRO_PDF_417: 55,
/**
* 2D barcode symbology QR with GS1 string format
*/
GS_1_QR: 56,
/**
* Specifies that the data should be encoded with MaxiCode barcode specification
*/
MAXI_CODE: 57,
/**
* Specifies that the data should be encoded with DotCode barcode specification
*/
DOT_CODE: 60,
/**
* Represents Australia Post Customer BarCode
*/
AUSTRALIA_POST: 38,
/**
* Specifies that the data should be encoded with Postnet barcode specification
*/
POSTNET: 39,
/**
* Specifies that the data should be encoded with Planet barcode specification
*/
PLANET: 40,
/**
* Specifies that the data should be encoded with USPS OneCode barcode specification
*/
ONE_CODE: 41,
/**
* Represents RM4SCC barcode. RM4SCC (Royal Mail 4-state Customer Code) is used for automated mail sort process in UK.
*/
RM_4_SCC: 42,
/**
* Represents Royal Mail Mailmark barcode.
*/
MAILMARK: 66,
/**
* Specifies that the data should be encoded with GS1 Databar omni-directional barcode specification.
*/
DATABAR_OMNI_DIRECTIONAL: 43,
/**
* Specifies that the data should be encoded with GS1 Databar truncated barcode specification.
*/
DATABAR_TRUNCATED: 44,
/**
* Represents GS1 DATABAR limited barcode.
*/
DATABAR_LIMITED: 45,
/**
* Represents GS1 Databar expanded barcode.
*/
DATABAR_EXPANDED: 46,
/**
* Represents GS1 Databar expanded stacked barcode.
*/
DATABAR_EXPANDED_STACKED: 52,
/**
* Represents GS1 Databar stacked barcode.
*/
DATABAR_STACKED: 53,
/**
* Represents GS1 Databar stacked omni-directional barcode.
*/
DATABAR_STACKED_OMNI_DIRECTIONAL: 54,
/**
* Specifies that the data should be encoded with Singapore Post Barcode barcode specification
*/
SINGAPORE_POST: 47,
/**
* Specifies that the data should be encoded with Australian Post Domestic eParcel Barcode barcode specification
*/
AUSTRALIAN_POSTE_PARCEL: 49,
/**
* Specifies that the data should be encoded with Swiss Post Parcel Barcode barcode specification. Supported types: Domestic Mail, International Mail, Additional Services (new)
*/
SWISS_POST_PARCEL: 50,
/**
* Represents Patch code barcode
*/
PATCH_CODE: 51,
/**
* Specifies that the data should be encoded with Code32 barcode specification
*/
CODE_32: 58,
/**
* Specifies that the data should be encoded with DataLogic 2 of 5 barcode specification
*/
DATA_LOGIC_2_OF_5: 59,
/**
* Specifies that the data should be encoded with Dutch KIX barcode specification
*/
DUTCH_KIX: 61,
/**
* Specifies that the data should be encoded with UPC coupon with GS1-128 Extended Code barcode specification.<br>
* @example
* An example of the input string:
* BarCodeGenerator.setCodetext("514141100906(8102)03"),
* where UPCA part is "514141100906", GS1Code128 part is (8102)03.
*/
UPCA_GS_1_CODE_128_COUPON: 62,
/**
* Specifies that the data should be encoded with UPC coupon with GS1 DataBar addition barcode specification.<br>
* @example
* An example of the input string:
* BarCodeGenerator.setCodetext("514141100906(8110)106141416543213500110000310123196000"),
* where UPCA part is "514141100906, DATABAR part is "(8110)106141416543213500110000310123196000".
* To change the caption, use barCodeBuilder.getCaptionAbove().setText("company prefix + offer code")",
*/
UPCA_GS_1_DATABAR_COUPON: 63,
/**
* Specifies that the data should be encoded with Codablock-F barcode specification.
*/
CODABLOCK_F: 64,
/**
* Specifies that the data should be encoded with GS1 Codablock-F barcode specification. The codetext must contains parentheses for AI.
*/
GS_1_CODABLOCK_F: 65,
/**
* Specifies that the data should be encoded with <b>GS1 Composite Bar</b> barcode specification. The codetext must contains parentheses for AI. 1D codetext and 2D codetext must be separated with symbol '/'
*/
GS_1_COMPOSITE_BAR: 67,
/**
* <p>
* Specifies that the data should be encoded with {@code <b>HIBC LIC Code39Standart</b>} barcode specification.
* </p>
*/
HIBC_CODE_39_LIC: 68,
/**
* <p>
* Specifies that the data should be encoded with {@code <b>HIBC LIC Code128</b>} barcode specification.
* </p>
*/
HIBC_CODE_128_LIC: 69,
/**
* <p>
* Specifies that the data should be encoded with {@code <b>HIBC LIC Aztec</b>} barcode specification.
* </p>
*/
HIBC_AZTEC_LIC: 70,
/**
* <p>
* Specifies that the data should be encoded with {@code <b>HIBC LIC DataMatrix</b>} barcode specification.
* </p>
*/
HIBC_DATA_MATRIX_LIC: 71,
/**
* <p>
* Specifies that the data should be encoded with {@code <b>HIBC LIC QR</b>} barcode specification.
* </p>
*/
HIBCQRLIC: 72,
/**
* <p>
* Specifies that the data should be encoded with {@code <b>HIBC PAS Code39Standart</b>} barcode specification.
* </p>
*/
HIBC_CODE_39_PAS: 73,
/**
* <p>
* Specifies that the data should be encoded with {@code <b>HIBC PAS Code128</b>} barcode specification.
* </p>
*/
HIBC_CODE_128_PAS: 74,
/**
* <p>
* Specifies that the data should be encoded with {@code <b>HIBC PAS Aztec</b>} barcode specification.
* </p>
*/
HIBC_AZTEC_PAS: 75,
/**
* <p>
* Specifies that the data should be encoded with {@code <b>HIBC PAS DataMatrix</b>} barcode specification.
* </p>
*/
HIBC_DATA_MATRIX_PAS: 76,
/**
* <p>
* Specifies that the data should be encoded with {@code <b>HIBC PAS QR</b>} barcode specification.
* </p>
*/
HIBCQRPAS: 77,
/**
* <p>
* Specifies that the data should be encoded with {@code <b>GS1 DotCode</b>} barcode specification. The codetext must contains parentheses for AI.
* </p>
*/
GS_1_DOT_CODE: 78,
/**
* Specifies that the data should be encoded with <b>Han Xin</b> barcode specification
*/
HAN_XIN: 79,
/**
* 2D barcode symbology QR with GS1 string format
*/
GS_1_HAN_XIN: 80,
parse(encodeTypeName)
{
if(encodeTypeName == "CODABAR") return 0;
else if(encodeTypeName == "CODE_11") return 1;
else if(encodeTypeName == "CODE_39_STANDARD") return 2;
else if(encodeTypeName == "CODE_39_EXTENDED") return 3;
else if(encodeTypeName == "CODE_93_STANDARD") return 4;
else if(encodeTypeName == "CODE_93_EXTENDED") return 5;
else if(encodeTypeName == "CODE_128") return 6;
else if(encodeTypeName == "GS_1_CODE_128") return 7;
else if(encodeTypeName == "EAN_8") return 8;
else if(encodeTypeName == "EAN_13") return 9;
else if(encodeTypeName == "EAN_14") return 10;
else if(encodeTypeName == "SCC_14") return 11;
else if(encodeTypeName == "SSCC_18") return 12;
else if(encodeTypeName == "UPCA") return 13;
else if(encodeTypeName == "UPCE") return 14;
else if(encodeTypeName == "ISBN") return 15;
else if(encodeTypeName == "ISSN") return 16;
else if(encodeTypeName == "ISMN") return 17;
else if(encodeTypeName == "STANDARD_2_OF_5") return 18;
else if(encodeTypeName == "INTERLEAVED_2_OF_5") return 19;
else if(encodeTypeName == "MATRIX_2_OF_5") return 20;
else if(encodeTypeName == "ITALIAN_POST_25") return 21;
else if(encodeTypeName == "IATA_2_OF_5") return 22;
else if(encodeTypeName == "ITF_14") return 23;
else if(encodeTypeName == "ITF_6") return 24;
else if(encodeTypeName == "MSI") return 25;
else if(encodeTypeName == "VIN") return 26;
else if(encodeTypeName == "DEUTSCHE_POST_IDENTCODE") return 27;
else if(encodeTypeName == "DEUTSCHE_POST_LEITCODE") return 28;
else if(encodeTypeName == "OPC") return 29;
else if(encodeTypeName == "PZN") return 30;
else if(encodeTypeName == "CODE_16_K") return 31;
else if(encodeTypeName == "PHARMACODE") return 32;
else if(encodeTypeName == "DATA_MATRIX") return 33;
else if(encodeTypeName == "QR") return 34;
else if(encodeTypeName == "AZTEC") return 35;
else if(encodeTypeName == "GS_1_AZTEC") return 81;
else if(encodeTypeName == "PDF_417") return 36;
else if(encodeTypeName == "MACRO_PDF_417") return 37;
else if(encodeTypeName == "GS_1_DATA_MATRIX") return 48;
else if(encodeTypeName == "MICRO_PDF_417") return 55;
else if(encodeTypeName == "GS_1_QR") return 56;
else if(encodeTypeName == "MAXI_CODE") return 57;
else if(encodeTypeName == "DOT_CODE") return 60;
else if(encodeTypeName == "AUSTRALIA_POST") return 38;
else if(encodeTypeName == "POSTNET") return 39;
else if(encodeTypeName == "PLANET") return 40;
else if(encodeTypeName == "ONE_CODE") return 41;
else if(encodeTypeName == "RM_4_SCC") return 42;
else if(encodeTypeName == "MAILMARK") return 66;
else if(encodeTypeName == "DATABAR_OMNI_DIRECTIONAL") return 43;
else if(encodeTypeName == "DATABAR_TRUNCATED") return 44;
else if(encodeTypeName == "DATABAR_LIMITED") return 45;
else if(encodeTypeName == "DATABAR_EXPANDED") return 46;
else if(encodeTypeName == "DATABAR_EXPANDED_STACKED") return 52;
else if(encodeTypeName == "DATABAR_STACKED") return 53;
else if(encodeTypeName == "DATABAR_STACKED_OMNI_DIRECTIONAL") return 54;
else if(encodeTypeName == "SINGAPORE_POST") return 47;
else if(encodeTypeName == "AUSTRALIAN_POSTE_PARCEL") return 49;
else if(encodeTypeName == "SWISS_POST_PARCEL") return 50;
else if(encodeTypeName == "PATCH_CODE") return 51;
else if(encodeTypeName == "CODE_32") return 58;
else if(encodeTypeName == "DATA_LOGIC_2_OF_5") return 59;
else if(encodeTypeName == "DUTCH_KIX") return 61;
else if(encodeTypeName == "UPCA_GS_1_CODE_128_COUPON") return 62;
else if(encodeTypeName == "UPCA_GS_1_DATABAR_COUPON") return 63;
else if(encodeTypeName == "CODABLOCK_F") return 64;
else if(encodeTypeName == "GS_1_CODABLOCK_F") return 65;
else if(encodeTypeName == "GS_1_COMPOSITE_BAR") return 67;
else if(encodeTypeName == "HIBC_CODE_39_LIC") return 68;
else if(encodeTypeName == "HIBC_CODE_128_LIC") return 69;
else if(encodeTypeName == "HIBC_AZTEC_LIC") return 70;
else if(encodeTypeName == "HIBC_DATA_MATRIX_LIC") return 71;
else if(encodeTypeName == "HIBCQRLIC") return 72;
else if(encodeTypeName == "HIBC_CODE_39_PAS") return 73;
else if(encodeTypeName == "HIBC_CODE_128_PAS") return 74;
else if(encodeTypeName == "HIBC_AZTEC_PAS") return 75;
else if(encodeTypeName == "HIBC_DATA_MATRIX_PAS") return 76;
else if(encodeTypeName == "HIBCQRPAS") return 77;
else if(encodeTypeName == "GS_1_DOT_CODE") return 78;
else if(encodeTypeName == "HAN_XIN") return 79;
else if(encodeTypeName == "GS_1_HAN_XIN") return 80;
else return -1;
}
}
/**
* <p>
* <p>Extended codetext generator for Aztec barcodes for ExtendedCodetext Mode of AztecEncodeMode</p>
* <p>Use TwoDDisplayText property of BarcodeGenerator to set visible text to removing managing characters.</p>
* </p><p><hr><blockquote><pre>
* This sample shows how to use AztecExtCodetextBuilder in Extended Mode.
* <pre>
* @example
* //create codetext
* let textBuilder = new AztecExtCodetextBuilder();
* textBuilder.addECICodetext(ECIEncodings.Win1251, "Will");
* textBuilder.addECICodetext(ECIEncodings.UTF8, "犬Right狗");
* textBuilder.addECICodetext(ECIEncodings.UTF16BE, "犬Power狗");
* textBuilder.addPlainCodetext("Plain text");
* //generate codetext
* let codetext = textBuilder.getExtendedCodetext();
* //generate
* let generator = new BarcodeGenerator(EncodeTypes.AZTEC, codetext);
* generator.getParameters().getBarcode().getCodeTextParameters().setwoDDisplayText("My Text");
* generator.save("test.bmp", BarcodeImageFormat.BMP);
*/
class AztecExtCodetextBuilder extends ExtCodetextBuilder
{
static JAVA_CLASS_NAME = "com.aspose.mw.barcode.generation.MwAztecExtCodetextBuilder";
constructor()
{
let java_class_link = java.import(AztecExtCodetextBuilder.JAVA_CLASS_NAME);
let javaClass = new java_class_link();
super(javaClass);
}
init()
{
}
/**
* <p>
* Generates Extended codetext from the extended codetext list.
* </p>
* @return Extended codetext as string
*/
getExtendedCodetext()
{
return this.getJavaClass().getExtendedCodetextSync();
}
}
/**
* Macro Characters 05 and 06 values are used to obtain more compact encoding in special modes.<br>
* 05 Macro craracter is translated to "[)>\u001E05\u001D" as decoded data header and "\u001E\u0004" as decoded data trailer.<br>
* 06 Macro craracter is translated to "[)>\u001E06\u001D" as decoded data header and "\u001E\u0004" as decoded data trailer.
*
* \code
* //to generate autoidentified GS1 message like this "(10)123ABC(10)123ABC" in ISO 15434 format you need:
* BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.DATA_MATRIX, "10123ABC\u001D10123ABC");
* generator.getParameters().getBarcode().getDataMatrix().setMacroCharacters(MacroCharacter.MACRO_05);
* BarCodeReader reader = new BarCodeReader(generator.generateBarCodeImage(), DecodeType.GS_1_DATA_MATRIX);
* for(BarCodeResult result : reader.readBarCodes())
* System.out.println("BarCode CodeText: " + result.getCodeText());
* \endcode
* @enum
*/
MacroCharacter =
{
/**
* None of Macro Characters are added to barcode data
*/
NONE: 0,
/**
* 05 Macro craracter is added to barcode data in first position.<br>
* GS1 Data Identifier ISO 15434<br>
* Character is translated to "[)>\u001E05\u001D" as decoded data header and "\u001E\u0004" as decoded data trailer.
*
* @example
* //to generate autoidentified GS1 message like this "(10)123ABC(10)123ABC" in ISO 15434 format you need:
* let generator = new BarcodeGenerator(EncodeTypes.DATA_MATRIX, "10123ABC\u001D10123ABC");
* generator.getParameters().getBarcode().getDataMatrix().setMacroCharacters(MacroCharacter.MACRO_05);
* let reader = new BarCodeReader(generator.generateBarCodeImage(BarcodeImageFormat.PNG), DecodeType.GS_1_DATA_MATRIX);
* reader.readBarCodes().forEach(function(result, i, results)
* {
* cosole.log("BarCode CodeText: " + result.getCodeText());
* });
*/
MACRO_05: 5,
/**
* 06 Macro craracter is added to barcode data in first position.<br>
* ASC MH10 Data Identifier ISO 15434<br>
* Character is translated to "[)>\u001E06\u001D" as decoded data header and "\u001E\u0004" as decoded data trailer.
*/
MACRO_06: 6
};
/**
* PatchCode format. Choose PatchOnly to generate single PatchCode. Use page format to generate Patch page with PatchCodes as borders
* @enum
*/
PatchFormat =
{
/**
* Generates PatchCode only
*/
PATCH_ONLY: 0,
/**
* Generates A4 format page with PatchCodes as borders and optional QR in the center
*/
A4: 1,
/**
* Generates A4 landscape format page with PatchCodes as borders and optional QR in the center
*/
A4_LANDSCAPE: 2,
/**
* Generates US letter format page with PatchCodes as borders and optional QR in the center
*/
US_LETTER: 3,
/**
* Generates US letter landscape format page with PatchCodes as borders and optional QR in the center
*/
US_LETTER_LANDSCAPE: 4
};
/**
* Extended Channel Interpretation Identifiers. It is used to tell the barcode reader details<br>
* about the used references for encoding the data in the symbol.<br>
* Current implementation consists all well known charset encodings.<br>
* Currently, it is used only for QR 2D barcode.
*
* @example
* let generator = new BarcodeGenerator(EncodeTypes.QR);
* generator.setCodeText("12345TEXT");
* generator.getParameters().getBarcode().getQR().setQrEncodeMode(QREncodeMode.ECI_ENCODING);
* generator.getParameters().getBarcode().getQR().setQrEncodeType(QREncodeType.FORCE_QR);
* generator.getParameters().getBarcode().getQR().setQrECIEncoding(ECIEncodings.UTF_8);
* generator.save("test.png", BarCodeImageFormat.PNG);
*
* @enum
*/
ECIEncodings =
{
/**
* ISO/IEC 8859-1 Latin alphabet No. 1 encoding. ECI Id:"\000003"
*/
ISO_8859_1: 3,
/**
* ISO/IEC 8859-2 Latin alphabet No. 2 encoding. ECI Id:"\000004"
*/
ISO_8859_2: 4,
/**
* ISO/IEC 8859-3 Latin alphabet No. 3 encoding. ECI Id:"\000005"
*/
ISO_8859_3: 5,
/**
* ISO/IEC 8859-4 Latin alphabet No. 4 encoding. ECI Id:"\000006"
*/
ISO_8859_4: 6,
/**
* ISO/IEC 8859-5 Latin/Cyrillic alphabet encoding. ECI Id:"\000007"
*/
ISO_8859_5: 7,
/**
* ISO/IEC 8859-6 Latin/Arabic alphabet encoding. ECI Id:"\000008"
*/
ISO_8859_6: 8,
/**
* ISO/IEC 8859-7 Latin/Greek alphabet encoding. ECI Id:"\000009"
*/
ISO_8859_7: 9,
/**
* ISO/IEC 8859-8 Latin/Hebrew alphabet encoding. ECI Id:"\000010"
*/
ISO_8859_8: 10,
/**
* ISO/IEC 8859-9 Latin alphabet No. 5 encoding. ECI Id:"\000011"
*/
ISO_8859_9: 11,
/**
* ISO/IEC 8859-10 Latin alphabet No. 6 encoding. ECI Id:"\000012"
*/
ISO_8859_10: 12,
/**
* ISO/IEC 8859-11 Latin/Thai alphabet encoding. ECI Id:"\000013"
*/
ISO_8859_11: 13,
//14 is reserved
/**
* ISO/IEC 8859-13 Latin alphabet No. 7 (Baltic Rim) encoding. ECI Id:"\000015"
*/
ISO_8859_13: 15,
/**
* ISO/IEC 8859-14 Latin alphabet No. 8 (Celtic) encoding. ECI Id:"\000016"
*/
ISO_8859_14: 16,
/**
* ISO/IEC 8859-15 Latin alphabet No. 9 encoding. ECI Id:"\000017"
*/
ISO_8859_15: 17,
/**
* ISO/IEC 8859-16 Latin alphabet No. 10 encoding. ECI Id:"\000018"
*/
ISO_8859_16: 18,
//19 is reserved
/**
* Shift JIS (JIS X 0208 Annex 1 + JIS X 0201) encoding. ECI Id:"\000020"
*/
Shift_JIS: 20,
//
/**
* Windows 1250 Latin 2 (Central Europe) encoding. ECI Id:"\000021"
*/
Win1250: 21,
/**
* Windows 1251 Cyrillic encoding. ECI Id:"\000022"
*/
Win1251: 22,
/**
* Windows 1252 Latin 1 encoding. ECI Id:"\000023"
*/
Win1252: 23,
/**
* Windows 1256 Arabic encoding. ECI Id:"\000024"
*/
Win1256: 24,
//
/**
* ISO/IEC 10646 UCS-2 (High order byte first) encoding. ECI Id:"\000025"
*/
UTF16BE: 25,
/**
* ISO/IEC 10646 UTF-8 encoding. ECI Id:"\000026"
*/
UTF8: 26,
//
/**
* ISO/IEC 646:1991 International Reference Version of ISO 7-bit coded character set encoding. ECI Id:"\000027"
*/
US_ASCII: 27,
/**
* Big 5 (Taiwan) Chinese Character Set encoding. ECI Id:"\000028"
*/
Big5: 28,
/**
* GB (PRC) Chinese Character Set encoding. ECI Id:"\000029"
*/
GB18030: 29,
/**
* Korean Character Set encoding. ECI Id:"\000030"
*/
EUC_KR: 30,
/**
* No Extended Channel Interpretation
*/
NONE: 0
};
/**
* <p>Enable checksum during generation for 1D barcodes.</p>
* <p>Default is treated as Yes for symbologies which must contain checksum, as No where checksum only possible.</p>
* <p>Checksum never used: Codabar</p>
* <p>Checksum is possible: Code39 Standard/Extended, Standard2of5, Interleaved2of5, Matrix2of5, ItalianPost25, DeutschePostIdentcode, DeutschePostLeitcode, VIN</p>
* <p>Checksum always used: Rest symbologies</p>
* @enum
*/
EnableChecksum =
{
/**
* <p>
* If checksum is required by the specification - it will be attached.
* </p>
*/
DEFAULT: 0,
/**
* <p>
* Always use checksum if possible.
* </p>
*/
YES: 1,
/**
* <p>
* Do not use checksum.
* </p>
*/
NO: 2
};
/**
* Function codewords for Code 128 emulation. Applied for MicroPDF417 only. Ignored for PDF417 and MacroPDF417 barcodes.
* @enum
*/
Code128Emulation =
{
/**
* No Code 128 emulation
*/
NONE: 0,
/**
* UCC/EAN-128 emulation. Text compactionmode implied.
*/
CODE_903: 903,
/**
* UCC/EAN-128 emulation. Numeric compactionmode implied.
*/
CODE_904: 904,
/**
* UCC/EAN-128 emulation. Implied “01” AI and 14-digit codetext.
*/
CODE_905: 905
}
/**
* Specifies the file format of the image.
* @enum
*/
BarCodeImageFormat =
{
/**
* Specifies the bitmap (BMP) image format.
*/
BMP: 0,
/**
* Specifies the Graphics Interchange Format (GIF) image format.
*/
GIF: 1,
/**
* Specifies the Joint Photographic Experts Group (JPEG) image format.
*/
JPEG: 2,
/**
* Specifies the W3C Portable Network Graphics (PNG) image format.
*/
PNG: 3,
/**
* Specifies the Tagged Image File Format (TIFF) image format.
*/
TIFF: 4,
/**
* Specifies the Tagged Image File Format (TIFF) image format in CMYK color model.
*/
TIFF_IN_CMYK: 5,
/**
* Specifies the Enhanced Metafile (EMF) image format.
*/
EMF: 6,
/**
* Specifies the Scalable Vector Graphics (SVG) image format.
*/
SVG: 7
};
/**
* Type of 2D component
* This sample shows how to create and save a GS1 Composite Bar image.
* Note that 1D codetext and 2D codetext are separated by symbol '/'
* <code>
* let codetext = "(01)03212345678906/(21)A1B2C3D4E5F6G7H8";
* let generator = new BarcodeGenerator(EncodeTypes.GS1_COMPOSITE_BAR, codetext))
*
* generator.getParameters().getBarcode().getGS1CompositeBar().setLinearComponentType(EncodeTypes.GS1_CODE_128);
* generator.getParameters().getBarcode().getGS1CompositeBar().setTwoDComponentType(TwoDComponentType.CC_A);
*
* // Aspect ratio of 2D component
* generator.getParameters().getBarcode().getPdf417().setAspectRatio(3);
* ///
* // X-Dimension of 1D and 2D components
* generator.getParameters().getBarcode().getXDimension().setPixels(3);
* ///
* // Height of 1D component
* generator.getParameters().getBarcode().getBarHeight().setPixels(100);
* ///
* generator.save("test.png", BarcodeImageFormat.PNG);
*
*/
TwoDComponentType =
{
/**
* Auto select type of 2D component
*/
AUTO: 0,
/**
* CC-A type of 2D component. It is a structural variant of MicroPDF417
*/
CC_A: 1,
/**
* CC-B type of 2D component. It is a MicroPDF417 symbol.
*/
CC_B: 2,
/**
* CC-C type of 2D component. It is a PDF417 symbol.
*/
CC_C: 3
}
/**
* Used to tell the encoder whether to add Macro PDF417 Terminator (codeword 922) to the segment.
* Applied only for Macro PDF417.
*/
Pdf417MacroTerminator =
{
/**
* The terminator will be added automatically if the number of segments is provided<br>
* and the current segment is the last one. In other cases, the terminator will not be added.
*/
AUTO: 0,
/**
* The terminator will not be added.
*/
NONE: 1,
/**
* The terminator will be added.
*/
SET: 2
}
/**
* Encoding mode for MaxiCode barcodes.
*
* @example
* //Auto mode
* let codetext = "犬Right狗";
* let generator = new BarcodeGenerator(EncodeTypes.MAXI_CODE, codetext));
* generator.getParameters().getBarcode().getMaxiCode().setECIEncoding(ECIEncodings.UTF8);
* generator.save("test.bmp", BarcodeImageFormat.BMP);
*
* @example
* //Bytes mode
* let encodedArr = [ 0xFF, 0xFE, 0xFD, 0xFC, 0xFB, 0xFA, 0xF9 ];
*
* //encode array to string
* let strBld = "";
* encodedArr.forEach(function(bval, i, bvals)
* {
* strBld += bval;
* });
* let codetext = strBld;
*
* let generator = new BarcodeGenerator(EncodeTypes.MAXI_CODE, codetext))
* generator.getParameters().getBarcode().getMaxiCode().setMaxiCodeEncodeMode(MaxiCodeEncodeMode.BYTES);
* generator.save("test.bmp", BarcodeImageFormat.BMP);
*
* @example
* //Extended codetext mode
* //create codetext
* let textBuilder = new MaxiCodeExtCodetextBuilder();
* textBuilder.addECICodetext(ECIEncodings.Win1251, "Will");
* textBuilder.addECICodetext(ECIEncodings.UTF8, "犬Right狗");
* textBuilder.addECICodetext(ECIEncodings.UTF16BE, "犬Power狗");
* textBuilder.addPlainCodetext("Plain text");
*
* // generate codetext
* let codetext = textBuilder.getExtendedCodetext();
*
* //generate
* let generator = new BarcodeGenerator(EncodeTypes.MaxiCode, codetext);
* generator.getParameters().getBarcode().getMaxiCode().setMaxiCodeEncodeMode(MaxiCodeEncodeMode.EXTENDED_CODETEXT);
* generator.getParameters().getBarcode().getMaxiCode().setTwoDDisplayText("My Text");
* generator.save("test.bmp", BarcodeImageFormat.BMP);
*/
MaxiCodeEncodeMode =
{
/**
* Encode codetext with value set in the ECIEncoding property.
*/
AUTO: 0,
/**
* Encode codetext as plain bytes. If it detects any Unicode character, the character will be encoded as two bytes, lower byte first.
*/
BYTES: 1,
/**
* Extended mode which supports multi ECI modes.<br>
* It is better to use MaxiCodeExtCodetextBuilder for extended codetext generation.<br>
* Use Display2DText property to set visible text to removing managing characters.<br>
* ECI identifiers are set as single slash and six digits identifier "\000026" - UTF8 ECI identifier<br>
* All unicode characters after ECI identifier are automatically encoded into correct character codeset.
*/
EXTENDED_CODETEXT: 2
}
/**
* Encoding mode for MaxiCode barcodes.<br>
*
* @example
* This sample shows how to genereate MaxiCode barcodes using ComplexBarcodeGenerator
* //Mode 2 with standart second message
* let maxiCodeCodetext = new MaxiCodeCodetextMode2();
* maxiCodeCodetext.setPostalCode("524032140");
* maxiCodeCodetext.setCountryCode(056);
* maxiCodeCodetext.setServiceCategory(999);
* let maxiCodeStandartSecondMessage = new MaxiCodeStandartSecondMessage();
* maxiCodeStandartSecondMessage.setMessage("Test message");
* maxiCodeCodetext.setSecondMessage(maxiCodeStandartSecondMessage);
* let complexGenerator = new ComplexBarcodeGenerator(maxiCodeCodetext);
* complexGenerator.generateBarCodeImage(BarcodeImageFormat.PNG);
*
* @example
* //Mode 2 with structured second message
* let maxiCodeCodetext = new MaxiCodeCodetextMode2();
* maxiCodeCodetext.setPostalCode("524032140");
* maxiCodeCodetext.setCountryCode(056);
* maxiCodeCodetext.setServiceCategory(999);
* let maxiCodeStructuredSecondMessage = new MaxiCodeStructuredSecondMessage();
* maxiCodeStructuredSecondMessage.add("634 ALPHA DRIVE");
* maxiCodeStructuredSecondMessage.add("PITTSBURGH");
* maxiCodeStructuredSecondMessage.add("PA");
* maxiCodeStructuredSecondMessage.setYear(99);
* maxiCodeCodetext.setSecondMessage(maxiCodeStructuredSecondMessage);
* let complexGenerator = new ComplexBarcodeGenerator(maxiCodeCodetext);
* complexGenerator.generateBarCodeImage(BarcodeImageFormat.PNG);
*
* @example
* //Mode 3 with standart second message
* let maxiCodeCodetext = new MaxiCodeCodetextMode3();
* maxiCodeCodetext.setPostalCode("B1050");
* maxiCodeCodetext.setCountryCode(056);
* maxiCodeCodetext.setServiceCategory(999);
* let maxiCodeStandartSecondMessage = new MaxiCodeStandartSecondMessage();
* maxiCodeStandartSecondMessage.setMessage("Test message");
* maxiCodeCodetext.setSecondMessage(maxiCodeStandartSecondMessage);
* let complexGenerator = new ComplexBarcodeGenerator(maxiCodeCodetext);
* complexGenerator.generateBarCodeImage(BarcodeImageFormat.PNG);
*
* @example
* //Mode 3 with structured second message
* let maxiCodeCodetext = new MaxiCodeCodetextMode3();
* maxiCodeCodetext.setPostalCode("B1050");
* maxiCodeCodetext.setCountryCode(056);
* maxiCodeCodetext.setServiceCategory(999);
* let maxiCodeStructuredSecondMessage = new MaxiCodeStructuredSecondMessage();
* maxiCodeStructuredSecondMessage.add("634 ALPHA DRIVE");
* maxiCodeStructuredSecondMessage.add("PITTSBURGH");
* maxiCodeStructuredSecondMessage.add("PA");
* maxiCodeStructuredSecondMessage.setYear(99);
* maxiCodeCodetext.setSecondMessage(maxiCodeStructuredSecondMessage);
* let complexGenerator = new ComplexBarcodeGenerator(maxiCodeCodetext.getConstructedCodetext();
* complexGenerator.generateBarCodeImage(BarcodeImageFormat.PNG);
*
* @example
* //Mode 4
* let maxiCodeCodetext = new MaxiCodeStandardCodetext();
* maxiCodeCodetext.setMode(MaxiCodeMode.MODE_4);
* maxiCodeCodetext.setMessage("Test message");
* let complexGenerator = new ComplexBarcodeGenerator(maxiCodeCodetext.getConstructedCodetext();
* complexGenerator.generateBarCodeImage(BarcodeImageFormat.PNG);
*
* @example
* //Mode 5
* let maxiCodeCodetext = new MaxiCodeStandardCodetext();
* maxiCodeCodetext.setMode(MaxiCodeMode.MODE_5);
* maxiCodeCodetext.setMessage("Test message");
* let complexGenerator = new ComplexBarcodeGenerator(maxiCodeCodetext.getConstructedCodetext())
* complexGenerator.generateBarCodeImage(BarcodeImageFormat.PNG);
*
* @example
* //Mode 6
* let maxiCodeCodetext = new MaxiCodeStandardCodetext();
* maxiCodeCodetext.setMode(MaxiCodeMode.MODE_6);
* maxiCodeCodetext.setMessage("Test message");
* let complexGenerator = new ComplexBarcodeGenerator(maxiCodeCodetext.getConstructedCodetext();
* complexGenerator.generateBarCodeImage(BarcodeImageFormat.PNG);
*/
MaxiCodeMode =
{
/**
* Mode 2 encodes postal information in first message and data in second message.<br>
* Has 9 digits postal code (used only in USA).
*/
MODE_2: 2,
/**
* Mode 3 encodes postal information in first message and data in second message.<br>
* Has 6 alphanumeric postal code, used in the world.
*/
MODE_3: 3,
/**
* Mode 4 encodes data in first and second message, with short ECC correction.<br>
*/
MODE_4: 4,
/**
* Mode 5 encodes data in first and second message, with long ECC correction.
*/
MODE_5: 5,
/**
* Mode 6 encodes data in first and second message, with short ECC correction.<br>
* Used to encode device.
*/
MODE_6: 6
}
/**
* Encoding mode for DotCode barcodes.
*
* @example
* //Auto mode with macros
* let codetext = ""[)>\u001E05\u001DCodetextWithMacros05\u001E\u0004"";
* let generator = new BarcodeGenerator(EncodeTypes.DOT_CODE, codetext);
* generator.save("test.bmp", BarCodeImageFormat.BMP);
*
* @example
* //Auto mode
* let codetext = "犬Right狗";
* let generator = new BarcodeGenerator(EncodeTypes.DOT_CODE, codetext);
* generator.getParameters().getBarcode().getDotCode().setECIEncoding(ECIEncodings.UTF8);
* generator.save("test.bmp", BarCodeImageFormat.BMP);
*
* @example
* //Bytes mode
* let encodedArr = array( 0xFF, 0xFE, 0xFD, 0xFC, 0xFB, 0xFA, 0xF9 );
* //encode array to string
* let codetext = "";
* encodedArr.forEach(function(bval, i, bvals)
* {
* codetext += bval;
* });
*
* @example
* let generator = new BarcodeGenerator(EncodeTypes.DOT_CODE, codetext);
* generator.getParameters().getBarcode().getDotCode().setDotCodeEncodeMode(DotCodeEncodeMode.BYTES);
* generator.save("test.bmp", BarCodeImageFormat.BMP);
*
* @example
* //Extended codetext mode
* //create codetext
* let textBuilder = new DotCodeExtCodetextBuilder();
* textBuilder.addFNC1FormatIdentifier();
* textBuilder.addECICodetext(ECIEncodings.Win1251, "Will");
* textBuilder.addFNC1FormatIdentifier();
* textBuilder.addECICodetext(ECIEncodings.UTF8, "犬Right狗");
* textBuilder.addFNC3SymbolSeparator();
* textBuilder.addFNC1FormatIdentifier();
* textBuilder.addECICodetext(ECIEncodings.UTF16BE, "犬Power狗");
* textBuilder.addPlainCodetext("Plain text");
* //generate codetext
* let codetext = textBuilder.getExtendedCodetext();
* //generate
* let generator = new BarcodeGenerator(EncodeTypes.DOT_CODE, codetext);
* generator.getParameters().getBarcode().getDotCode().setDotCodeEncodeMode(DotCodeEncodeMode.EXTENDED_CODETEXT);
* generator.save("test.bmp", BarCodeImageFormat.BMP);
*/
DotCodeEncodeMode =
{
/**
* <p>
* Encode codetext with value set in the ECIEncoding property.
* </p>
*/
AUTO: 0,
/**
* <p>
* Encode codetext as plain bytes. If it detects any Unicode character, the character will be encoded as two bytes, lower byte first.
* </p>
*/
BYTES: 1,
/**
* <p>Extended mode which supports multi ECI modes.</p>
* <p>It is better to use DotCodeExtCodetextBuilder for extended codetext generation.</p>
* <p>Use Display2DText property to set visible text to removing managing characters.</p>
* <p>ECI identifiers are set as single slash and six digits identifier "\000026" - UTF8 ECI identifier</p>
* <p>All unicode characters after ECI identifier are automatically encoded into correct character codeset.</p>
*/
EXTENDED_CODETEXT: 2
}
/**
* <p>
* Encoding mode for Code128 barcodes.
* {@code Code 128} specification.
* </p><p><hr><blockquote><pre>
* Thos code demonstrates how to generate code 128 with different encodings
* <pre>
*
* //Generate code 128 with ISO 15417 encoding
*
* let generator = new BarcodeGenerator(EncodeTypes.CODE_128, "ABCD1234567890");
* generator.getParameters().getBarcode().getCode128().setCode128EncodeMode(Code128EncodeMode.AUTO);
* generator.save("d:\\code128Auto.png", BarCodeImageFormat.PNG);
*
* //Generate code 128 only with Codeset A encoding
* let generator = new BarcodeGenerator(EncodeTypes.CODE_128, "ABCD1234567890");
* generator.getParameters().getBarcode().getCode128().setCode128EncodeMode(Code128EncodeMode.CODE_A);
* generator.save("d:\\code128CodeA.png", BarCodeImageFormat.PNG);
* </pre>
* </pre></blockquote></hr></p>
*/
Code128EncodeMode =
{
/**
* <p>
* Encode codetext in classic ISO 15417 mode. The mode should be used in all ordinary cases.
* </p>
*/
AUTO: 0,
/**
* <p>
* Encode codetext only in 128A codeset.
* </p>
*/
CODE_A: 1,
/**
* <p>
* Encode codetext only in 128B codeset.
* </p>
*/
CODE_B: 2,
/**
* <p>
* Encode codetext only in 128C codeset.
* </p>
*/
CODE_C: 4,
/**
* <p>
* Encode codetext only in 128A and 128B codesets.
* </p>
*/
CODE_AB: 3,
/**
* <p>
* Encode codetext only in 128A and 128C codesets.
* </p>
*/
CODE_AC: 5,
/**
* <p>
* Encode codetext only in 128B and 128C codesets.
* </p>
*/
CODE_BC: 6
}
/**
* <p>
* Version of Han Xin Code.
* From Version01 - 23 x 23 modules to Version84 - 189 x 189 modules, increasing in steps of 2 modules per side.
* </p>
*/
HanXinVersion =
{
/**
* <p>
* Specifies to automatically pick up the best version.
* This is default value.
* </p>
*/
AUTO:0,
/**
* <p>
* Specifies version 1 with 23 x 23 modules.
* </p>
*/
VERSION_01:1,
/**
* <p>
* Specifies version 2 with 25 x 25 modules.
* </p>
*/
VERSION_02:2,
/**
* <p>
* Specifies version 3 with 27 x 27 modules.
* </p>
*/
VERSION_03:3,
/**
* <p>
* Specifies version 4 with 29 x 29 modules.
* </p>
*/
VERSION_04:4,
/**
* <p>
* Specifies version 5 with 31 x 31 modules.
* </p>
*/
VERSION_05:5,
/**
* <p>
* Specifies version 6 with 33 x 33 modules.
* </p>
*/
VERSION_06:6,
/**
* <p>
* Specifies version 7 with 35 x 35 modules.
* </p>
*/
VERSION_07:7,
/**
* <p>
* Specifies version 8 with 37 x 37 modules.
* </p>
*/
VERSION_08:8,
/**
* <p>
* Specifies version 9 with 39 x 39 modules.
* </p>
*/
VERSION_09:9,
/**
* <p>
* Specifies version 10 with 41 x 41 modules.
* </p>
*/
VERSION_10:10,
/**
* <p>
* Specifies version 11 with 43 x 43 modules.
* </p>
*/
VERSION_11:11,
/**
* <p>
* Specifies version 12 with 45 x 45 modules.
* </p>
*/
VERSION_12:12,
/**
* <p>
* Specifies version 13 with 47 x 47 modules.
* </p>
*/
VERSION_13:13,
/**
* <p>
* Specifies version 14 with 49 x 49 modules.
* </p>
*/
VERSION_14:14,
/**
* <p>
* Specifies version 15 with 51 x 51 modules.
* </p>
*/
VERSION_15:15,
/**
* <p>
* Specifies version 16 with 53 x 53 modules.
* </p>
*/
VERSION_16:16,
/**
* <p>
* Specifies version 17 with 55 x 55 modules.
* </p>
*/
VERSION_17:17,
/**
* <p>
* Specifies version 18 with 57 x 57 modules.
* </p>
*/
VERSION_18:18,
/**
* <p>
* Specifies version 19 with 59 x 59 modules.
* </p>
*/
VERSION_19:19,
/**
* <p>
* Specifies version 20 with 61 x 61 modules.
* </p>
*/
VERSION_20:20,
/**
* <p>
* Specifies version 21 with 63 x 63 modules.
* </p>
*/
VERSION_21:21,
/**
* <p>
* Specifies version 22 with 65 x 65 modules.
* </p>
*/
VERSION_22:22,
/**
* <p>
* Specifies version 23 with 67 x 67 modules.
* </p>
*/
VERSION_23:23,
/**
* <p>
* Specifies version 24 with 69 x 69 modules.
* </p>
*/
VERSION_24:24,
/**
* <p>
* Specifies version 25 with 71 x 71 modules.
* </p>
*/
VERSION_25:25,
/**
* <p>
* Specifies version 26 with 73 x 73 modules.
* </p>
*/
VERSION_26:26,
/**
* <p>
* Specifies version 27 with 75 x 75 modules.
* </p>
*/
VERSION_27:27,
/**
* <p>
* Specifies version 28 with 77 x 77 modules.
* </p>
*/
VERSION_28:28,
/**
* <p>
* Specifies version 29 with 79 x 79 modules.
* </p>
*/
VERSION_29:29,
/**
* <p>
* Specifies version 30 with 81 x 81 modules.
* </p>
*/
VERSION_30:30,
/**
* <p>
* Specifies version 31 with 83 x 83 modules.
* </p>
*/
VERSION_31:31,
/**
* <p>
* Specifies version 32 with 85 x 85 modules.
* </p>
*/
VERSION_32:32,
/**
* <p>
* Specifies version 33 with 87 x 87 modules.
* </p>
*/
VERSION_33:33,
/**
* <p>
* Specifies version 34 with 89 x 89 modules.
* </p>
*/
VERSION_34:34,
/**
* <p>
* Specifies version 35 with 91 x 91 modules.
* </p>
*/
VERSION_35:35,
/**
* <p>
* Specifies version 36 with 93 x 93 modules.
* </p>
*/
VERSION_36:36,
/**
* <p>
* Specifies version 37 with 95 x 95 modules.
* </p>
*/
VERSION_37:37,
/**
* <p>
* Specifies version 38 with 97 x 97 modules.
* </p>
*/
VERSION_38:38,
/**
* <p>
* Specifies version 39 with 99 x 99 modules.
* </p>
*/
VERSION_39:39,
/**
* <p>
* Specifies version 40 with 101 x 101 modules.
* </p>
*/
VERSION_40:40,
/**
* <p>
* Specifies version 41 with 103 x 103 modules.
* </p>
*/
VERSION_41:41,
/**
* <p>
* Specifies version 42 with 105 x 105 modules.
* </p>
*/
VERSION_42:42,
/**
* <p>
* Specifies version 43 with 107 x 107 modules.
* </p>
*/
VERSION_43:43,
/**
* <p>
* Specifies version 44 with 109 x 109 modules.
* </p>
*/
VERSION_44:44,
/**
* <p>
* Specifies version 45 with 111 x 111 modules.
* </p>
*/
VERSION_45:45,
/**
* <p>
* Specifies version 46 with 113 x 113 modules.
* </p>
*/
VERSION_46:46,
/**
* <p>
* Specifies version 47 with 115 x 115 modules.
* </p>
*/
VERSION_47:47,
/**
* <p>
* Specifies version 48 with 117 x 117 modules.
* </p>
*/
VERSION_48:48,
/**
* <p>
* Specifies version 49 with 119 x 119 modules.
* </p>
*/
VERSION_49:49,
/**
* <p>
* Specifies version 50 with 121 x 121 modules.
* </p>
*/
VERSION_50:50,
/**
* <p>
* Specifies version 51 with 123 x 123 modules.
* </p>
*/
VERSION_51:51,
/**
* <p>
* Specifies version 52 with 125 x 125 modules.
* </p>
*/
VERSION_52:52,
/**
* <p>
* Specifies version 53 with 127 x 127 modules.
* </p>
*/
VERSION_53:53,
/**
* <p>
* Specifies version 54 with 129 x 129 modules.
* </p>
*/
VERSION_54:54,
/**
* <p>
* Specifies version 55 with 131 x 131 modules.
* </p>
*/
VERSION_55:55,
/**
* <p>
* Specifies version 56 with 133 x 133 modules.
* </p>
*/
VERSION_56:56,
/**
* <p>
* Specifies version 57 with 135 x 135 modules.
* </p>
*/
VERSION_57:57,
/**
* <p>
* Specifies version 58 with 137 x 137 modules.
* </p>
*/
VERSION_58:58,
/**
* <p>
* Specifies version 59 with 139 x 139 modules.
* </p>
*/
VERSION_59:59,
/**
* <p>
* Specifies version 60 with 141 x 141 modules.
* </p>
*/
VERSION_60:60,
/**
* <p>
* Specifies version 61 with 143 x 143 modules.
* </p>
*/
VERSION_61:61,
/**
* <p>
* Specifies version 62 with 145 x 145 modules.
* </p>
*/
VERSION_62:62,
/**
* <p>
* Specifies version 63 with 147 x 147 modules.
* </p>
*/
VERSION_63:63,
/**
* <p>
* Specifies version 64 with 149 x 149 modules.
* </p>
*/
VERSION_64:64,
/**
* <p>
* Specifies version 65 with 151 x 151 modules.
* </p>
*/
VERSION_65:65,
/**
* <p>
* Specifies version 66 with 153 x 153 modules.
* </p>
*/
VERSION_66:66,
/**
* <p>
* Specifies version 67 with 155 x 155 modules.
* </p>
*/
VERSION_67:67,
/**
* <p>
* Specifies version 68 with 157 x 157 modules.
* </p>
*/
VERSION_68:68,
/**
* <p>
* Specifies version 69 with 159 x 159 modules.
* </p>
*/
VERSION_69:69,
/**
* <p>
* Specifies version 70 with 161 x 161 modules.
* </p>
*/
VERSION_70:70,
/**
* <p>
* Specifies version 71 with 163 x 163 modules.
* </p>
*/
VERSION_71:71,
/**
* <p>
* Specifies version 72 with 165 x 165 modules.
* </p>
*/
VERSION_72:72,
/**
* <p>
* Specifies version 73 with 167 x 167 modules.
* </p>
*/
VERSION_73:73,
/**
* <p>
* Specifies version 74 with 169 x 169 modules.
* </p>
*/
VERSION_74:74,
/**
* <p>
* Specifies version 75 with 171 x 171 modules.
* </p>
*/
VERSION_75:75,
/**
* <p>
* Specifies version 76 with 173 x 173 modules.
* </p>
*/
VERSION_76:76,
/**
* <p>
* Specifies version 77 with 175 x 175 modules.
* </p>
*/
VERSION_77:77,
/**
* <p>
* Specifies version 78 with 177 x 177 modules.
* </p>
*/
VERSION_78:78,
/**
* <p>
* Specifies version 79 with 179 x 179 modules.
* </p>
*/
VERSION_79:79,
/**
* <p>
* Specifies version 80 with 181 x 181 modules.
* </p>
*/
VERSION_80:80,
/**
* <p>
* Specifies version 81 with 183 x 183 modules.
* </p>
*/
VERSION_81:81,
/**
* <p>
* Specifies version 82 with 185 x 185 modules.
* </p>
*/
VERSION_82:82,
/**
* <p>
* Specifies version 83 with 187 x 187 modules.
* </p>
*/
VERSION_83:83,
/**
* <p>
* Specifies version 84 with 189 x 189 modules.
* </p>
*/
VERSION_84:84,
}
/**
* <p>
* Level of Reed-Solomon error correction. From low to high: L1, L2, L3, L4.
* </p>
*/
HanXinErrorLevel =
{
/**
* <p>
* Allows recovery of 8% of the code text
* </p>
*/
L1:0,
/**
* <p>
* Allows recovery of 15% of the code text
* </p>
*/
L2:1,
/**
* <p>
* Allows recovery of 23% of the code text
* </p>
*/
L3:2,
/**
* <p>
* Allows recovery of 30% of the code text
* </p>
*/
L4:3
}
/**
* <p>
* Han Xin Code encoding mode. It is recommended to use Auto with ASCII / Chinese characters or Unicode for Unicode characters.
* </p><p><hr><blockquote><pre>
* <pre>
* @example
* // Auto mode
* let codetext = "1234567890ABCDEFGabcdefg,Han Xin Code";
* let generator = new BarcodeGenerator(EncodeTypes.HAN_XIN, codetext);
* generator.save("test.bmp", BarcodeImageFormat.BMP);
*
* @example
* // Bytes mode
* let encodedArr = [0xFF, 0xFE, 0xFD, 0xFC, 0xFB, 0xFA, 0xF9];
*
* //encode array to string
* let codetext = "";
* for (int i = 0; i <encodedArr.length; i++)
* {
* let bval = String.fromCharCode(encodedArr[i]);
* codetext += bval;
* }
*
* let generator = new BarcodeGenerator(EncodeTypes.HAN_XIN, codetext);
* generator.getParameters().getBarcode().getHanXin().setHanXinEncodeMode(HanXinEncodeMode.BYTES);
* generator.save("test.bmp", BarcodeImageFormat.BMP);
*
* @example
* // ECI mode
* let codetext = "ΑΒΓΔΕ";
* let generator = new BarcodeGenerator(EncodeTypes.HAN_XIN, codetext);
* generator.getParameters().getBarcode().getHanXin().setHanXinEncodeMode(HanXinEncodeMode.ECI);
* generator.getParameters().getBarcode().getHanXin().setHanXinECIEncoding(ECIEncodings.ISO_8859_7);
* generator.save("test.bmp", BarcodeImageFormat.BMP);
*
* @example
* // URI mode
* let codetext = "https://www.test.com/%BC%DE%%%ab/search=test";
* generator = new BarcodeGenerator(EncodeTypes.HAN_XIN, codetext);
* generator.getParameters().getBarcode().getHanXin().setHanXinEncodeMode(HanXinEncodeMode.URI);
* generator.save("test.bmp", BarcodeImageFormat.BMP);
*
* // Extended mode - TBD
* </pre>
* </pre></blockquote></hr></p>
*/
HanXinEncodeMode =
{
/**
* <p>
* Sequence of Numeric, Text, ECI, Binary Bytes and 4 GB18030 modes changing automatically.
* </p>
*/
AUTO:0,
/**
* <p>
* Binary byte mode encodes binary data in any form and encodes them in their binary byte. Every byte in
* Binary Byte mode is represented by 8 bits.
* </p>
*/
BINARY:1,
/**
* <p>
* Extended Channel Interpretation (ECI) mode
* </p>
*/
ECI:2,
/**
* <p>
* Unicode mode designs a way to represent any text data reference to UTF8 encoding/charset in Han Xin Code.
* </p>
*/
UNICODE:3,
/**
* <p>
* URI mode indicates the data represented in Han Xin Code is Uniform Resource Identifier (URI)
* reference to RFC 3986.
* </p>
*/
URI:4,
/**
* <p>
* Extended mode will allow more flexible combinations of other modes, this mode is currently not implemented.
* </p>
*/
EXTENDED:5
}
/**
* <p>
* Specify the type of the ECC to encode.
* </p>
*/
DataMatrixVersion =
{
/**
* <p>
* Specifies to automatically pick up the smallest size for DataMatrix.
* This is default value.
* </p>
*/
AUTO:0,
/**
* <p>
* Instructs to get symbol sizes from Rows And Columns parameters. Note that DataMatrix does not support
* custom rows and columns numbers. This option is not recommended to use.
* </p>
*/
ROWS_COLUMNS:1,
/**
* <p>
* Specifies size of 9 x 9 modules for ECC000 type.
* </p>
*/
ECC000_9x9:2,
/**
* <p>
* Specifies size of 11 x 11 modules for ECC000-ECC050 types.
* </p>
*/
ECC000_050_11x11:3,
/**
* <p>
* Specifies size of 13 x 13 modules for ECC000-ECC100 types.
* </p>
*/
ECC000_100_13x13:4,
/**
* <p>
* Specifies size of 15 x 15 modules for ECC000-ECC100 types.
* </p>
*/
ECC000_100_15x15:5,
/**
* <p>
* Specifies size of 17 x 17 modules for ECC000-ECC140 types.
* </p>
*/
ECC000_140_17x17:6,
/**
* <p>
* Specifies size of 19 x 19 modules for ECC000-ECC140 types.
* </p>
*/
ECC000_140_19x19:7,
/**
* <p>
* Specifies size of 21 x 21 modules for ECC000-ECC140 types.
* </p>
*/
ECC000_140_21x21:8,
/**
* <p>
* Specifies size of 23 x 23 modules for ECC000-ECC140 types.
* </p>
*/
ECC000_140_23x23:9,
/**
* <p>
* Specifies size of 25 x 25 modules for ECC000-ECC140 types.
* </p>
*/
ECC000_140_25x25:10,
/**
* <p>
* Specifies size of 27 x 27 modules for ECC000-ECC140 types.
* </p>
*/
ECC000_140_27x27:11,
/**
* <p>
* Specifies size of 29 x 29 modules for ECC000-ECC140 types.
* </p>
*/
ECC000_140_29x29:12,
/**
* <p>
* Specifies size of 31 x 31 modules for ECC000-ECC140 types.
* </p>
*/
ECC000_140_31x31:13,
/**
* <p>
* Specifies size of 33 x 33 modules for ECC000-ECC140 types.
* </p>
*/
ECC000_140_33x33:14,
/**
* <p>
* Specifies size of 35 x 35 modules for ECC000-ECC140 types.
* </p>
*/
ECC000_140_35x35:15,
/**
* <p>
* Specifies size of 37 x 37 modules for ECC000-ECC140 types.
* </p>
*/
ECC000_140_37x37:16,
/**
* <p>
* Specifies size of 39 x 39 modules for ECC000-ECC140 types.
* </p>
*/
ECC000_140_39x39:17,
/**
* <p>
* Specifies size of 41 x 41 modules for ECC000-ECC140 types.
* </p>
*/
ECC000_140_41x41:18,
/**
* <p>
* Specifies size of 43 x 43 modules for ECC000-ECC140 types.
* </p>
*/
ECC000_140_43x43:19,
/**
* <p>
* Specifies size of 45 x 45 modules for ECC000-ECC140 types.
* </p>
*/
ECC000_140_45x45:20,
/**
* <p>
* Specifies size of 47 x 47 modules for ECC000-ECC140 types.
* </p>
*/
ECC000_140_47x47:21,
/**
* <p>
* Specifies size of 49 x 49 modules for ECC000-ECC140 types.
* </p>
*/
ECC000_140_49x49:22,
/**
* <p>
* Specifies size of 10 x 10 modules for ECC200 type.
* </p>
*/
ECC200_10x10:23,
/**
* <p>
* Specifies size of 12 x 12 modules for ECC200 type.
* </p>
*/
ECC200_12x12:24,
/**
* <p>
* Specifies size of 14 x 14 modules for ECC200 type.
* </p>
*/
ECC200_14x14:25,
/**
* <p>
* Specifies size of 16 x 16 modules for ECC200 type.
* </p>
*/
ECC200_16x16:26,
/**
* <p>
* Specifies size of 18 x 18 modules for ECC200 type.
* </p>
*/
ECC200_18x18:27,
/**
* <p>
* Specifies size of 20 x 20 modules for ECC200 type.
* </p>
*/
ECC200_20x20:28,
/**
* <p>
* Specifies size of 22 x 22 modules for ECC200 type.
* </p>
*/
ECC200_22x22:29,
/**
* <p>
* Specifies size of 24 x 24 modules for ECC200 type.
* </p>
*/
ECC200_24x24:30,
/**
* <p>
* Specifies size of 26 x 26 modules for ECC200 type.
* </p>
*/
ECC200_26x26:31,
/**
* <p>
* Specifies size of 32 x 32 modules for ECC200 type.
* </p>
*/
ECC200_32x32:32,
/**
* <p>
* Specifies size of 36 x 36 modules for ECC200 type.
* </p>
*/
ECC200_36x36:33,
/**
* <p>
* Specifies size of 40 x 40 modules for ECC200 type.
* </p>
*/
ECC200_40x40:34,
/**
* <p>
* Specifies size of 44 x 44 modules for ECC200 type.
* </p>
*/
ECC200_44x44:35,
/**
* <p>
* Specifies size of 48 x 48 modules for ECC200 type.
* </p>
*/
ECC200_48x48:36,
/**
* <p>
* Specifies size of 52 x 52 modules for ECC200 type.
* </p>
*/
ECC200_52x52:37,
/**
* <p>
* Specifies size of 64 x 64 modules for ECC200 type.
* </p>
*/
ECC200_64x64:38,
/**
* <p>
* Specifies size of 72 x 72 modules for ECC200 type.
* </p>
*/
ECC200_72x72:39,
/**
* <p>
* Specifies size of 80 x 80 modules for ECC200 type.
* </p>
*/
ECC200_80x80:40,
/**
* <p>
* Specifies size of 88 x 88 modules for ECC200 type.
* </p>
*/
ECC200_88x88:41,
/**
* <p>
* Specifies size of 96 x 96 modules for ECC200 type.
* </p>
*/
ECC200_96x96:42,
/**
* <p>
* Specifies size of 104 x 104 modules for ECC200 type.
* </p>
*/
ECC200_104x104:43,
/**
* <p>
* Specifies size of 120 x 120 modules for ECC200 type.
* </p>
*/
ECC200_120x120:44,
/**
* <p>
* Specifies size of 132 x 132 modules for ECC200 type.
* </p>
*/
ECC200_132x132:45,
/**
* <p>
* Specifies size of 144 x 144 modules for ECC200 type.
* </p>
*/
ECC200_144x144:46,
/**
* <p>
* Specifies size of 8 x 18 modules for ECC200 type.
* </p>
*/
ECC200_8x18:47,
/**
* <p>
* Specifies size of 8 x 32 modules for ECC200 type.
* </p>
*/
ECC200_8x32:48,
/**
* <p>
* Specifies size of 12 x 26 modules for ECC200 type.
* </p>
*/
ECC200_12x26:49,
/**
* <p>
* Specifies size of 12 x 36 modules for ECC200 type.
* </p>
*/
ECC200_12x36:50,
/**
* <p>
* Specifies size of 16 x 36 modules for ECC200 type.
* </p>
*/
ECC200_16x36:51,
/**
* <p>
* Specifies size of 16 x 48 modules for ECC200 type.
* </p>
*/
ECC200_16x48:52,
/**
* <p>
* Specifies size of 8 x 48 modules for DMRE barcodes.
* </p>
*/
DMRE_8x48:53,
/**
* <p>
* Specifies size of 8 x 64 modules for DMRE barcodes.
* </p>
*/
DMRE_8x64:54,
/**
* <p>
* Specifies size of 8 x 80 modules for DMRE barcodes.
* </p>
*/
DMRE_8x80:55,
/**
* <p>
* Specifies size of 8 x 96 modules for DMRE barcodes.
* </p>
*/
DMRE_8x96:56,
/**
* <p>
* Specifies size of 8 x 120 modules for DMRE barcodes.
* </p>
*/
DMRE_8x120:57,
/**
* <p>
* Specifies size of 8 x 144 modules for DMRE barcodes.
* </p>
*/
DMRE_8x144:58,
/**
* <p>
* Specifies size of 12 x 64 modules for DMRE barcodes.
* </p>
*/
DMRE_12x64:59,
/**
* <p>
* Specifies size of 12 x 88 modules for DMRE barcodes.
* </p>
*/
DMRE_12x88:60,
/**
* <p>
* Specifies size of 16 x 64 modules for DMRE barcodes.
* </p>
*/
DMRE_16x64:61,
/**
* <p>
* Specifies size of 20 x 36 modules for DMRE barcodes.
* </p>
*/
DMRE_20x36:62,
/**
* <p>
* Specifies size of 20 x 44 modules for DMRE barcodes.
* </p>
*/
DMRE_20x44:63,
/**
* <p>
* Specifies size of 20 x 64 modules for DMRE barcodes.
* </p>
*/
DMRE_20x64:64,
/**
* <p>
* Specifies size of 22 x 48 modules for DMRE barcodes.
* </p>
*/
DMRE_22x48:65,
/**
* <p>
* Specifies size of 24 x 48 modules for DMRE barcodes.
* </p>
*/
DMRE_24x48:66,
/**
* <p>
* Specifies size of 24 x 64 modules for DMRE barcodes.
* </p>
*/
DMRE_24x64:67,
/**
* <p>
* Specifies size of 26 x 40 modules for DMRE barcodes.
* </p>
*/
DMRE_26x40:68,
/**
* <p>
* Specifies size of 26 x 48 modules for DMRE barcodes.
* </p>
*/
DMRE_26x48:69,
/**
* <p>
* Specifies size of 26 x 64 modules for DMRE barcodes.
* </p>
*/
DMRE_26x64:70
}
/**
* <p>
* Encoding mode for Aztec barcodes.
* </p><p><hr><blockquote><pre>
* <pre>
*
* @example
* //Auto mode
* let codetext = "犬Right狗";
* let generator = new BarcodeGenerator(EncodeTypes.AZTEC, codetext);
* generator.getParameters().getBarcode().getAztec().setECIEncoding(ECIEncodings.UTF_8);
* generator.save("test.bmp");
*
* @example
* //Bytes mode
* let encodedArr = [ 0xFF, 0xFE, 0xFD, 0xFC, 0xFB, 0xFA, 0xF9 ];
* //encode array to string
* let strBld = "";
* for(let i = 0; i < encodedArr; i++)
* {
* byte bval = encodedArr[i]
* strBld.append(String.fromCharCode(bval));
* }
* let codetext = strBld;
* let generator = new BarcodeGenerator(EncodeTypes.AZTEC, codetext);
* generator.getParameters().getBarcode().getAztec().setAztecEncodeMode(AztecEncodeMode.BYTES);
* generator.save("test.bmp", BarcodeImageFormat.PNG);
*
* @example
* //Extended codetext mode
* //create codetext
* let textBuilder = new AztecExtCodetextBuilder();
* textBuilder.addECICodetext(ECIEncodings.Win1251, "Will");
* textBuilder.addECICodetext(ECIEncodings.UTF8, "犬Right狗");
* textBuilder.addECICodetext(ECIEncodings.UTF16BE, "犬Power狗");
* textBuilder.addPlainCodetext("Plain text");
* //generate codetext
* let codetext = textBuilder.getExtendedCodetext();
* //generate
* let generator = new BarcodeGenerator(EncodeTypes.AZTEC, codetext);
* generator.getParameters().getBarcode().getAztec().setAztecEncodeMode(AztecEncodeMode.EXTENDED_CODETEXT);
* generator.getParameters().getBarcode().getCodeTextParameters().setTwoDDisplayText("My Text");
* generator.save("test.bmp", BarcodeImageFormat.PNG);
*
* </pre>
* </pre></blockquote></hr></p>
*/
AztecEncodeMode =
{
/**
* <p>
* Encode codetext with value set in the ECIEncoding property.
* </p>
*/
AUTO: 0,
/**
* <p>
* Encode codetext as plain bytes. If it detects any Unicode character, the character will be encoded as two bytes, lower byte first.
* </p>
*/
BYTES: 1,
/**
* <p>
* <p>Extended mode which supports multi ECI modes.</p>
* <p>It is better to use AztecExtCodetextBuilder for extended codetext generation.</p>
* <p>Use Display2DText property to set visible text to removing managing characters.</p>
* <p>ECI identifiers are set as single slash and six digits identifier "\000026" - UTF8 ECI identifier</p>
* <p>All unicode characters after ECI identifier are automatically encoded into correct character codeset.</p>
* </p>
*/
EXTENDED_CODETEXT: 2
}
module.exports = {
BarcodeGenerator,
EncodeTypes,
BarcodeParameters,
BaseGenerationParameters,
BorderParameters,
ChecksumValidation,
CaptionParameters,
BorderDashStyle,
AutoSizeMode,
PatchFormat,
PatchCodeParameters,
DataMatrixEncodeMode,
ECIEncodings,
QrExtCodetextBuilder,
ExtCodetextBuilder,
Unit,
Padding,
CodetextParameters,
BarCodeImageFormat,
PostalParameters,
AustralianPostParameters,
CodablockParameters,
DataBarParameters,
DataMatrixParameters,
Code16KParameters,
DotCodeParameters,
ITFParameters,
QrParameters,
Pdf417Parameters,
SupplementParameters,
MaxiCodeParameters,
AztecParameters,
CodabarParameters,
CouponParameters,
FontUnit,
QrStructuredAppendParameters,
Code128Parameters,
BarcodeClassifications,
FontStyle,
CodabarSymbol,
ITF14BorderType,
QREncodeMode,
DataMatrixEccType,
QRVersion,
AztecSymbolMode,
Pdf417ErrorLevel,
Pdf417CompactionMode,
QRErrorLevel,
QREncodeType,
CodabarChecksumMode,
CodeLocation,
FontMode,
TextAlignment,
GraphicsUnit,
MacroCharacter,
EnableChecksum,
TwoDComponentType,
GS1CompositeBarParameters,
Pdf417MacroTerminator,
MaxiCodeExtCodetextBuilder,
DotCodeExtCodetextBuilder,
DotCodeEncodeMode,
HanXinEncodeMode,
HanXinErrorLevel,
HanXinVersion,
Code128EncodeMode,
HanXinParameters,
DataMatrixVersion,
DataMatrixExtCodetextBuilder,
HanXinExtCodetextBuilder,
AztecEncodeMode,
AztecExtCodetextBuilder
};