About this plugin
This plugin for NeoBook allows you to generate and save into Bitmap images up to 82 barcode symbols. The plugin support dozens of 1D and 2D barcodes and you can generate it easily specifiying lot of general and specific symbols options.
The plugin provide you with actions to list the names of all available barcode symbols, generate barcodes and, optionally, set the appropiate options for that symbols. This plugin do not require any thirdparty library or DLL in order to work.
Thirparty
This plugin are imposible without the aid of this people:
Thanks a lot!
npZintCreate
This action creates a new instance of an Zint object. The result variable store the ID of the new Zint object. You can use this ID with other plugin actions.
↑↑
npZintDestroy
This action destruct a previously created Zint object instance. The result variable store "True" if every is OK, or "False" if not, for example, because no instance is found with the provided ID. The [LastError] variable contain information about the error.
↑↑
npZintDestroyAll
This action destruct all previously created Zint object instances.
↑↑
npZintBarcode
Generate a barcode with the specified options and save it to the specified Bitmap file. Specify the Bitmap file path in which the barcode must be saved. Specify the barcode symbol by their name (you can get it using the npZintBarcodes action). Specify the barcode data and, optionally, the barcode primary data (used optionally by some barcode symbols) and finally your desired width and height. Note this width and height can vary depending of the generated barcode.
Barcode Application identifiers must be indicated using brackets. Barcode symbols requires some specific data length, may allow digits or only alpha characters, etc. You need to know the appropiate barcode symbol specification in order to provide the appropiate barcode data and barcode primary data. It's something out of the scope of this plugin to refer in this help every barcode specification since this can be easily found in internet and probably anyone need to generate all the available barcodes, but generate the appropiate barcode in order to suit their own requeriments.
The result variable store "True" if everything is OK, or "False" if an error ocurr. On this last case the variable [LastError] store information about the error.
The supported barcode symbols list is:
- Australia Post Redirection
- Australia Post Reply Paid
- Australia Post Routing
- Australia Post Standard Customer
- Aztec Code
- Aztec Runes
- Channel Code
- Codabar
- Code 11
- Code 128 (automatic subset switching)
- Code 128 (Subset B)
- Code 16K
- Code 2 of 5 Data Logic
- Code 2 of 5 IATA
- Code 2 of 5 Industrial
- Code 3 of 9 (Code 39)
- Code 32
- Code 49
- Code 93
- Code One
- Composite Symbol with EAN linear component
- Composite Symbol with GS1 DataBar Expanded Stacked component
- Composite Symbol with GS1 DataBar Extended component
- Composite Symbol with GS1 DataBar Limited component
- Composite Symbol with GS1 DataBar-14 linear component
- Composite Symbol with GS1 DataBar-14 Stacked component
- Composite Symbol with GS1 DataBar-14 Stacked Omnidirectional component
- Composite Symbol with GS1-128 linear component
- Composite Symbol with UPC A linear component
- Composite Symbol with UPC E linear component
- DAFT Code
- Data Matrix
- Deutsche Post Identcode
- Deutsche Post Leitcode
- Dutch Post KIX Code
- EAN
- EAN-14
- Extended Code 3 of 9 (Code 39+)
- FIM
- Flattermarken
- Grid Matrix
- GS1 DataBar Expanded Stacked
- GS1 DataBar Extended
- GS1 DataBar Limited
- GS1 DataBar-14
- GS1 DataBar-14 Stacked
- GS1 DataBar-14 Stacked Omnidirectional
- GS1-128 (UCC.EAN-128)
- HIBC Aztec Code
- HIBC Code 128
- HIBC Code 39
- HIBC Data Matrix
- HIBC MicroPDF417
- HIBC PDF417
- HIBC QR Code
- Interleaved 2 of 5
- ISBN (EAN-13 with verification stage)
- ITF-14
- Japanese Postal Code
- Korea Post
- LOGMARS
- Maxicode
- Micro QR Code
- MicroPDF417
- MSI Plessey
- NVE-18
- PDF417
- PDF417 Truncated
- Pharmacode One-Track
- Pharmacode Two-Track
- PLANET
- Plessey Code
- PostNet
- PZN
- QR Code
- Royal Mail 4 State (RM4SCC)
- Standard Code 2 of 5
- Telepen Alpha
- Telepen Numeric
- UPC A
- UPC E
- USPS OneCode
↑↑
npZintBarcodes
Retrieve a list of names of all the supported barcode symbologies. The barcode variable store an NeoBook array with all barcode symbol names. The barcode count variable store the total count of symbols. Then is easy (for example) to fill a list with the available symbols using a code like this:
npZintBarcodes "[Barcodes]" "[BarcodesCount]"
Loop "1" "[BarcodesCount]" "[I]"
ListBoxAddItem "BarcodesListBox" "0" "[Barcodes[I]]"
EndLoop
SetVar "[BarcodesListBox]" "[Barcodes1]"
↑↑
npZintOptions
Set some general options to be used by all barcodes symbologies. You must execute this action before npZintBarcode in order to take effect. This option take effect on all barcode symbols: for specific options see the npZintOptionsEx action. Here is a list with the available options and the possible values:
- Font: NeoBook font. Specify the font of the text below barcode. Default: "Tahoma|11|8,0,0"
- ShowText: Boolean. "True" to shown the text below barcode, "False" to hide. Default: "True"
- ForegroundColor: NeoBook color. Specify the barcode foreground color. Default: "0,0,0"
- BackgroundColor: NeoBook color. Specify the barcode background color. Default: "255,255,255"
- Border.Top: Numeric. Specify the barcode top border length. "0" by default.
- Border.Left: Numeric. Specify the barcode left border length. "0" by default.
- Border.Right: Numeric. Specify the barcode right border length. "0" by default.
- Border.Bottom: Numeric. Specify the barcode bottom border length. "0" by default.
- Padding.Top: Numeric. Specify the barcode top padding length. "0" by default.
- Padding.Left: Numeric. Specify the barcode left padding length. "0" by default.
- Padding.Right: Numeric. Specify the barcode left padding length. "0" by default.
- Padding.Bottom: Numeric. Specify the barcode bottom padding length. "0" by default.
- Margin.Top: Numeric. Specify the barcode top margin length. "0" by default.
- Margin.Left: Numeric. Specify the barcode left margin length. "0" by default.
- Margin.Right: Numeric. Specify the barcode right margin length. "0" by default.
- Margin.Bottom: Numeric. Specify the barcode bottom margin length. "0" by default.
- Whitespace.Top: Numeric. Specify the barcode top whitespace length. "0" by default.
- Whitespace.Left: Numeric. Specify the barcode left whitespace length. "0" by default.
- Whitespace.Right: Numeric. Specify the barcode right whitespace length. "0" by default.
- Whitespace.Bottom: Numeric. Specify the barcode bottom whitespace length. "0" by default.
- TextSpacing.Top: Numeric. Specify the barcode top textspacing length. "0" by default.
- TextSpacing.Left: Numeric. Specify the barcode left textspacing length. "0" by default.
- TextSpacing.Right: Numeric. Specify the barcode right length. "0" by default.
- TextSpacing.Bottom: Numeric. Specify the barcode bottom textspacing length. "0" by default.
The result variable store "True" if everything is OK, or "False" if an error ocurr. On this last case the variable [LastError] store information about the error.
↑↑
npZintOptionsEx
Set some specific options to be used only by some barcodes symbologies. You must execute this action before npZintBarcode in order to take effect. This option only take effect on the appropiate barcode symbols: for general options see the npZintOptions action. Here is a list with the available options and the possible values:
- MSIPlesseyOptions.CheckDigitType: Constant. Determine the check digit type. Possible constants values: cdtNone, cdtMod10, cdtMod1010, cdtMod11, cdtMod1110. Default: "cdtNone".
- ExtCode39Options.AddCheckDigit: Boolean. "True" to add check digit, "False" to not. Default: "False".
- CompositeOptions.CompositeType: Constant. Determine the composite type for composite symbols. Possible constants values: ctAuto, ctCC_A, ctCC_B, ctCC_C. Default: "ctAuto".
- GridMatrixOptions.Size: Constant. Determine the size. Possible constants values: gmsAuto, gms18, gms30, gms42, gms54, gms66, gms78, gms90, gms102, gms114, gms126, gms138, gms150, gms162. Default: "gmsAuto".
- GridMatrixOptions.ErrorCorrectionCapacity: Constant. Determine the error correction capacity. Possible constants values: gmeccAuto, gmecc10Percent, gmecc20Percent, gmecc30Percent, gmecc40Percent, gmecc50Percent. Default: "gmeccAuto".
- PDF417Options.CheckDigitCount: Numeric. From -1 to 8. Default: "-1".
- PDF417Options.Columns: Numeric. From 0 to 30. Default: "30".
- AztecOptions.ErrorCorrectCapacity: Constant. Determine the error correction capacity. Possible constants values: ateccAuto, atecc10Percent, atecc23Percent, atecc36Percent, atecc50Percent. Default value: "ateccAuto".
- AztecOptions.Size: Constant. Determine the size. Possible constants values: atsAuto, ats15Compact, ats19Compact, ats23Compact, ats27Compact, ats19, ats23, ats27, ats31, ats37, ats41, ats45, ats49, ats53, ats57, ats61, ats67, ats71, ats75, ats79, ats83, ats87, ats91, ats95, ats101, ats105, ats109, ats113, ats117, ats121, ats125, ats131, ats135, ats139, ats143, ats147, ats151. Default: "atsAuto".
- MaxiCodeOptions.Mode: Constant. Determine the mode. Possible constants values: mcmAuto, mcmMode2, mcmMode3, mcmMode4, mcmMode5, mcmMode6. Default: "mcmAuto".
- DatamatrixOptions.Size: Constant. Determine the size. Possible constants values: dmsAuto, dms10x10, dms12x12, dms14x14, dms16x16, dms18x18, dms20x20, dms22x22, dms24x24, dms26x26, dms32x32, dms36x36, dms40x40, dms44x44, dms48x48, dms52x52, dms64x64, dms72x72, dms80x80, dms88x88, dms96x96, dms104x104, dms120x120, dms132x132, dms144x144, dms8x18, dms8x32, dms12x26, dms12x36, dms16x36, dms16x48. Default: "dmsAuto".
- DatamatrixOptions.ForceSquare: Boolean. "True" to force square, "False" to not. Default: "False".
- MicroQROptions.ECCLevel: Constant. Determine the error correction code. Possible constants values: mqeAuto, mqeL, mqeM, mqeQ, mqeH. Default: "mqeAuto".
- MicroQROptions.Version: Constant. Determine the version. Possible constants values: mqvAuto, mqv1, mqv2, mqv3, mqv4. Default: "mqvAuto".
- Code1Option.Version: Constant. Determine the version. Possible constants values: c1vAuto, c1vA, c1vB, c1vC, c1vD, c1vE, c1vF, c1vG, c1vH, c1vS. Default "c1vAuto".
- QRCodeOptions.ECCLevel: Constant. Determine the error correction code. Possible constants values: qreAuto, qreLevelL, qreLevelM, qreLevelQ, qreLevelH. Default "qreAuto".
- QRCodeOptions.Size: Constant. Determine the size. Possible constants values: qrsAuto, qrs21, qrs25, qrs29, qrs33, qrs37, qrs41, qrs45, qrs49, qrs53, qrs57, qrs61, qrs65, qrs69, qrs73, qrs77, qrs81, qrs85, qrs89, qrs93, qrs97, qrs101, qrs105, qrs109, qrs113, qrs117, qrs121, qrs125, qrs129, qrs133, qrs137, qrs141, qrs145, qrs149, qrs153, qrs157, qrs161, qrs165, qrs169, qrs173, qrs177. Default: "qrsAuto".
The result variable store "True" if everything is OK, or "False" if an error ocurr. On this last case the variable [LastError] store information about the error.
↑↑
Action errors subroutine
All the NeoPlugins deal with errors in the same way that NeoBook does: when the plugin found an action error the [LastError] variable store information about the error, so you can take care about this variable when execute an action.
But all the NeoPlugins also incorporate an advanced way to deal with possible action errors. You can define a subroutine named OnNeoPluginActionError in order to be executed when some action error are found and you can use this variables inside:
- [LastError] The last action error message.
- [PluginName] Store the plugin name which cause the error.
Note that this error handling subroutine are shared for all the NeoPlugins, so you no need to specify a subroutine for every plugin you use in your publication because the same subroutine are recognized and automagically used by every NeoPlugin. Below you can view a sample of this subroutine code:
:OnNeoPluginActionError
AlertBox "NeoPlugin Error" "Error [LastError] in plugin: [PluginName]"
Return
Also note that the use of this NeoPlugins error handling subroutine is completelly optional. You can continue using the [LastError] variable as usual and even use the both methods at the same time.
↑↑