2D Barcode Font Kits



Comments



Description

dLSoft2D-Barcode Fonts By dLSoft This manual was produced using ComponentOne Doc-To-Help.™ Contents 2D-Barcode Fonts 1 Introduction ............................................................................................................................... 1 Aztec barcodes .......................................................................................................................... 2 Security and Layers..................................................................................................... 2 The Aztec font............................................................................................................. 2 The AZTDF DLL........................................................................................................ 3 The Aztec control........................................................................................................ 5 Aztec .NET Managed Component .............................................................................. 6 The dFontAZ Java class .............................................................................................. 9 The Aztec UFL for Crystal Reports ............................................................................ 9 DataMatrix barcodes ............................................................................................................... 11 DataMatrix font......................................................................................................... 12 The DMATDF DLL .................................................................................................. 12 The Datamatrix control ............................................................................................. 15 Datamatrix .NET Managed Component.................................................................... 16 The dFontDM Java class ........................................................................................... 18 The DataMatrix UFL for Crystal Reports ................................................................. 19 GS1 Databar barcodes ............................................................................................................. 21 The Databar Fonts ..................................................................................................... 22 The DBARDF DLL................................................................................................... 23 The Databar control................................................................................................... 24 Databar .NET Managed Component ......................................................................... 26 The Databar UFL for Crystal Reports....................................................................... 28 QR Code barcodes................................................................................................................... 31 Micro QR Code ......................................................................................................... 31 The QR Code Fonts................................................................................................... 31 The DQRDF DLL ..................................................................................................... 32 The QR control.......................................................................................................... 34 QR Code .NET Managed Component....................................................................... 36 The dFontQR Java class............................................................................................ 38 The QR Code UFL for Crystal Reports..................................................................... 39 PDF417 barcodes .................................................................................................................... 41 Encoding Modes........................................................................................................ 41 Security level............................................................................................................. 41 Aspect ratio ............................................................................................................... 42 Micro PDF 417.......................................................................................................... 42 The PDF font............................................................................................................. 43 The PDFDF DLL ...................................................................................................... 43 The PDF417 control.................................................................................................. 46 PDF417 .NET Managed Component ........................................................................ 48 The dFontPDF Java class .......................................................................................... 51 The PDF417 UFL for Crystal Reports ...................................................................... 51 Common DLL features............................................................................................................ 54 ErrorMessXX() ......................................................................................................... 54 EnumModeXX() ....................................................................................................... 54 MaxLevelXX().......................................................................................................... 54 dLSoft 2D-Barcode Fonts Contents  iii ................................................... 59 GetModeName() ...................................NET Components in Visual Studio............................................................................. 63 Retrieving the barcode .................................NET component features ........NET..................NET Component Methods ................................. 60 Java properties................................................................................................................................................................................................................................. 60 Common Java class features........................................................................ 58 BarSave() .......... 64 Index 67 iv  Contents dLSoft 2D-Barcode Fonts ....NET Information properties ............................................................................................ 57 ............................................................................................. 59 GetMaxLevel()...........................Common .............................. 64 Error Codes..................................................................................................................................... 64 Font table................................................................................................................... 55 ............................................ 58 Common Control Methods ............................................................................................ 58 BarCopy().................................................................................................................................................................................................................................... 60 Information properties from Java classes .................................................... 62 Java methods .............................................................................................................................................. 59 GetError()....................................... 55 Using .................................................... In the case of PDF417 each row of the barcode starts with a start pattern and ends with a stop pattern. 2. Barcodes – especially 2D barcodes like PDF417 – include other "characters" in addition to those which you enter as data. and produce a scannable barcode image. such as dBarcode. but codes printed by matrix printers must be reproduced at a large enough scale that the barcodes unit size is at least as large as the printer's pins. 1. this does NOT mean that you can type ABC. Barcodes printed by laser or quality ink-jet printer will. but are otherwise used in the same was as their 32 bit counterparts. Even when you print a barcode using a dLSoft barcode font. and others more. the user needs to be aware of a number of factors that determine whether printed barcodes can actually be scanned correctly. Picking the wrong font usually produces unreadable images! If greater control of bar thickness is needed then an image creating system. The narrow fonts should only be used if you know that a bar thickness reduction is required. The Narrow font (names ending in N) has all bars reduced by 10-16% and is supplied for users who will be creating master copy which will subsequently be printed using a wet ink technique (in which the ink spreads.e. will be required. However. in general. Many of the characters in the barcode are actually "error correction digits" designed to enable the barcode to be decoded correctly even if some parts of the image have been damaged. Just because you are using a barcode font. Consequently it is essential that you check that a printed barcode is readable using an appropriate scanner or reader. you need to ensure that the barcode has not been printed too small .it has the bar/space ratio defined at its correct value. Note that the 64 bit DLLs have names ending in 64. The font details and translation DLL calling instructions given in the following sections cover the following font kits: Aztec Font Kit DataMatrix Font Kit GS1 Databar Font Kit PDF417 Font Kit QR Code Font Kit Please see the relevant section for details of your kit. Some types of barcode use only two thicknesses of bar.names ending in W) should be suitable for most 600 and 1200 dpi laser printers .so that within the resolution of the printer a single thickness bar has been printed at the same size as a double thickness bar. render it is the barcode font. The Regular font (names ending in R) has all bars reduced by 5-8% and will probably be a better choice for 300 dpi laser printers and good quality ink-jets.2D-Barcode Fonts Introduction Barcode fonts enable you to print barcodes on high quality graphics printers that can accept fonts (i. dLSoft 2D-Barcode Fonts 2D-Barcode Fonts  1 . be printed correctly. 3. a Windows supported graphics printer or a PostScript printer that can accept downloaded fonts). Bar thickness reduction: Most dLSoft barcode fonts (apart from the GS1 Databar font) are supplied in three bar thicknesses. so making each bar thicker than in the master). others use three thicknesses. The thickness of bars and spaces in barcodes is important. The Wide font (and its variants . Aztec symbols are square and may be read at any orientation. and this can range from 1 – 32. but this time the range is 1 – 32. In Compact mode the user specifies the number of layers used to contain the symbols information – and this is restricted to the range 1 – 4. Again error correction data is used to fill otherwise unused space in the specified number of layers.DLL functions.z to represent 64 combinations of 6 bars and spaces as shown in the font table at the end of this document. to allow for ink spread during wet ink printing and the line broadening found in several printers designed for use with personal computers. The DLL will insert error correction data in the space available. This is the Level parameter in calls to the AZTDF. Security and Layers In Normal mode the user may select any percentage of the symbol to contain error checking data within the range 1 – 99%. If a value of 0 is used then the symbol will actually be produced with the default amount of error correction (which is 23% + 3 codewords). where a 1 is a bar and a 0 is a space. Appended symbols are not supported at this time. The Aztec font The Aztec font system includes TrueType and PostScript fonts for creating Aztec barcodes by printing characters to generate bars and spaces. The higher the security level the greater will be the number of layers required to contain the symbol – and hence its overall size.Aztec barcodes Aztec is a matrix symbology that supports the entire ASCII character set and offers several error checking modes. The dLSoft Aztec fonts are provided in different weights. The symbol is made up of squares which "grow" from the centre around a centre mark. The size of the symbol is characterised by the number of "layers" outside the centre mark. Aztec barcodes are made up of bars and spaces that may be 1 or more units wide. In Full range mode again the user specifies the number of layers allowed for the symbol. Font name AZTW AZTR AZTN weight full size 5% width and height reduction 10% width and height reduction 2  2D-Barcode Fonts dLSoft 2D-Barcode Fonts . The individual characters are made up of six square in a pattern 3 high by 2 wide. punctuation and new lines/paragraphs reduce this value. The dLSoft Aztec fonts uses the ASCII characters 0 (zero) .) Runes are special Aztec symbols that consist of a single layer and have no security options. with each square representing a bit of a 6 bit binary value. In Full range mode the maximum capacity of Aztec Code symbols is approximately as follows: Digits only – maximum capacity 3800 digits Alphanumeric text – maximum capacity 3000 characters* Byte values – maximum capacity 1900 bytes (*Note that capital letters. DLL – 32 bit Unicode version AZTDF64. n – a pointer to an integer which is either 0 or specified the length of the data in szIn. flags – may be used in the Unicode versions to force encoding the data as Unicode by setting bit 7 to 1.DLL – 32 bit ANSI version AZTDFU. LPINT level. dLSoft 2D-Barcode Fonts 2D-Barcode Fonts  3 . C++ Builder. (ie.z characters present in the Aztec font. The AZTDF DLL To convert a string of characters into the bars and spaces required for the barcode requires converting the character string into another string – made up of only the 0 . 1-4 for Compact mode. While passed as a text string. LPINT flags. Allowed values for Aztec codes depend on the mode. and in fact virtually every language that can make DLL calls. copy it to the clipboard. level – a pointer to an integer specifying the security level of the barcode generated. The functions are called with parameters that specify the options available for the barcode: szIn – is a pointer to a string containing the bytes used as data to create the barcode. LPINT mode. Aztdf Function calls The available function calls are: Bar2Dazf () . Visual C++.DLL – 64 bit Unicode version The DLLs provide three function calls which can either return the required string. and are 0-99 for Normal mode. The allowed values are shown below. LPSTR szOut). mode parameter 0 1 2 3 Barcode type Normal Compact Full range Rune For most applications a mode of 0 is recommended. the string can contain non-text bytes (including ASCII 0) provided that the length parameter (n) is used to specify the length of the data.creates text for Aztec font and returns text in szOut Declared for C as int WINAPI Bar2Dazf(LPSTR szIn. Delphi. It should be noted that if gaps between the font squares are clearly visible then the barcode will not scan correctly.LPINT n. Note that for Compact and Full range the security level is actually the required number of Aztec layers in the symbol. Visual Foxpro. If n is 0. Otherwise this value should be 0. then the string is assumed to be a null-terminated string. mode – a pointer to an integer specifying the type of Aztec barcode created. 128). These functions may be called from Visual Basic (including Visual Basic for Applications in Microsoft Office). along with a level of 0 which provides the default value of 23% + 3 codewords.Users should determine which font weight is suitable for their printer by testing each font weight. and 1-32 for Full range mode (the value is ignored for Runes). The following DLLs will perform the conversion: AZTDF. or save it to a named disk file.DLL – 64 bit ANSI version AZTDF64U. mode is the mode for the barcode type (normally 0). ByRef szFilename As String) As Long Bar2Dazd () . ByRef mo As Long. LPINT flags. mode is the mode for the barcode type (normally 0). which is 0 in the event of a barcode creation error.creates text for Aztec font and copies text to the Windows clipboard Declared for C as int WINAPI Bar2Dazc(LPSTR szIn.LPINT n. n is the number of characters in the string (or 0 – in which case the string may not contain NULL characters). ByRef lv As Long. LPSTR szFilename). ByRef n As Long. LPINT mode). ByRef n As Long. flags must be 0 in the present release.LPINT n. ByRef szOut As String) As Long Bar2Dazc () . LPINT flags. where szIn is a pointer to a string containing the text which is to be converted into the barcode. or -1 in the event of a file creation error. ByRef lv As Long. ByRef mo As Long) As Long Bar2Dazw () . If it does not exist it will be created if possible.Bar2Dazc(). ByRef fl As Long. LPINT level. Basic Declaration (VB6 & VBA) Private Declare Function Bar2Dazf Lib "aztdf" (ByVal szIn As String. ByRef n As Long. n is the number of characters in the string (or 0 – in which case the string may not contain NULL characters). or Bar2Dazw().where szIn is a pointer to a string containing the text which is to be converted into the barcode. ByRef mo As Long. and szOut is a pointer to a string which will receive the characters to be rendered in the PDF font. ByRef fl As Long. 4  2D-Barcode Fonts dLSoft 2D-Barcode Fonts . ByRef fl As Long. ByRef lv As Long. If the file exists it will be overwritten.creates text for Aztec font and writes text to file szFilename Declared for C as int WINAPI Bar2Dazw(LPSTR szIn. n is the number of characters in the string (or 0 – in which case the string may not contain NULL characters). flags must be 0 in the present release. LPINT mode. Basic Declaration (VB6 & VBA) Private Declare Function Bar2Dazw Lib "aztdf" (ByVal szIn As String. and szFilename is a pointer to a string that contains the full pathname of the file to receive the text. The call returns the number of bytes written to file. mode is the mode for the barcode type (normally 0). Basic Declaration (VB6 & VBA) Private Declare Function Bar2Dazc Lib "aztdf" (ByVal szIn As String. LPINT level. flags must be 0 in the present release. where szIn is a pointer to a string containing the text which is to be converted into the barcode.decodes text strings previously encoded using Bar2Dazf(). such as Visual Basic. The control will then appear as an icon on the Toolbox. Draw a rectangle for the control on the from or report. VB.NET Toolbox by right clicking on the Toolbox and selecting Add/Remove Items (or Choose Items for VS 2005) from the pop-up menu displayed. then select AZTOCX Active-X Control module from the list of controls displayed and push the OK button. ByRef szOut As String) As Long The Aztec control The AZTOCX control is an Active-X control which simplifies the use of barcodes in Active-X containers such as Visual Basic and MS Access. If the control is to be hidden. Select the “More controls” icon on the Toolbox and then select the AZTOCX Active-X Control module from the list of controls displayed. where szIn is a pointer to a string containing the barcode which is to be decoded. Basic Declaration (VB6 & VBA) Private Declare Function Bar2Dazd Lib "aztdf" (ByVal szIn As String. Once added to a form. selection of the control will show the available properties in Access’s properties window. The control may then be added to a form by clicking on the control’s icon and then drawing a rectangle for the control on the required form. szOut is a pointer to a string that will receive the decoded output. then checking the control in the list presented. or by setting the properties in the control’s property pages. open the form or report in Design view and ensure that the Toolbox is visible (its on the View menu). LPSTR szOut). Placing the Aztec control on a form Visual Basic To add the control to a Visual Basic project select Components from the Project menu. Aztec Property pages The control also has its own property pages which may be accessed by right-clicking on the control and selecting Properties from the displayed menu. The font should be set by right-clicking on the control and choosing the Aztocx control properties from the displayed menu. Access To add the control to an Access Form or Report. then the size is irrelevant. selection of the control will show the available properties in Visual Basic’s properties window. Once added to a form or report. etc. dLSoft 2D-Barcode Fonts 2D-Barcode Fonts  5 . Microsoft Access. The module’s icon will appear in the Toolbox. either via programming. The AZTOCX control may be placed on a form in most applications which support Active-X controls.NET and C# The control may be added to the Visual Studio. The Aztec barcode properties may be specified through a series of Properties.Declared for C as int WINAPI Bar2Dazd(LPSTR szIn. If the control is to be visible then the area allowed should be large enough to hold the largest barcode required. Errorcode: (integer) a non-zero value is returned if the data supplied in the Caption property can be converted into a valid barcode.NET Managed Component Developer versions require the developer’s serial number to be passed to the component using the Serial property before the Barcode() method is called. produce the barcode. Flags: (integer) if bit 7 is set (ie 128) the data is encoded as Unicode. in which case the length of the data string in the Caption property is determined automatically.Serial="12345". To provide data which includes non-printable characters the Caption property should be set via programming. Caption: (BSTR) the data which will be converted into a barcode AutoSize: (Boolean) if non-zero causes the control to resize itself to contain the barcode.g. Width. and allows the control to be set to resize itself each time it is drawn Data Property page The edit box on this page shows the data currently being used to generate the barcode image. Aztnet1. etc.General Property page This permits the setting of the barcode’s mode and security level properties. such as Visible. The Serial property should be set to the serial number provided for your product. Colors Property page This page allows the user to specify the foreground (the bars) and background color of the barcode generated. Note that this string may be much larger than the Caption string. BackColor: (Colorref) the background color CapLength: (integer) normally 0. Aztec Control Properties The control has the following properties which may be set in the property pages or programmatically with Visual Basic. In addition the control supports the normal Active-X properties. e. Height. Font Property page This page allows the user to select the barcode font and font size used to generate the barcode.Serial="12345" for VB aztnet1. otherwise as ANSI. for C# 6  2D-Barcode Fonts dLSoft 2D-Barcode Fonts . It is useful only for displayable characters. If non-zero it is taken to be the number of characters in the Caption property to be used as data. In general barcodes should be produced with a black foreground and a white background color. Aztec . Font: (Font) the font in which the Output characters will be displayed ForeColor: (Colorref) the color of the bars in the barcode Level: (integer) the security level for the generated barcode (see the DLL above for a description) Mode: (integer) the mode used to generate the barcode (see the DLL above for a description) Output: (CString) the characters which when displayed in the correct font. set_Serial("12345"). dLSoft 2D-Barcode Fonts 2D-Barcode Fonts  7 . for J# Use of an incorrect serial number will result in randomly scrambled symbols. Main properties and methods are shown below.NET component features section Aztec. others are listed in the Common . AzRvideo Type: bool Default: false Sets the Reverse Video flag on or off. ByteNumber Type: integer Default: 0 Allowed values: 0 – barcode byte capacity When ByteValue is greater than 0 the Caption string (which is a Unicode string) is unpacked into 8-bit ASCII characters before the data is used to generate the barcode. AzMenu Type: bool Default: false Sets the Menu flag on or off. Note: only text strings recognised as valid barcodes will result in a barcode picture. Caption Type: string Default: "0123456789" Allowed values: Any text string.NET Properties AzFlag Type: bool Default: false Sets the Aztec flag on or off. An Illegal character in the text string will cause an Error value to be set.aztnet1. Flag Type: Boolean Default: false Allowed values: true or false When Flag is set to true the Caption data is treated as a Unicode string and converted to a byte stream.AZT CodeTypeValue Type: integer Default: 0 Allowed values: 0 The barcode type can be set using either the CodeType property or the CodeTypeValue property. when displayed in the AZTx font will form the barcode symbol. SecurityLevel Type: integer Default: 0 Allowed values: See 2D Barcodes section for allowed security level setting for specific barcode types and modes. Note that the barcode symbol is determined only when this method is called. Aztec.NET Methods Barcode() Return Type: string This method causes a barcode to be created as a sequence of character that.CodeType Type: bCode enumeration member Default: bCode. StartMode Type: integer Default: 0 Allowed values: See 2D Barcodes section for allowed mode setting for specific barcode types.AZT Allowed values: bCode. so the information properties are not set until this method has been called. When Flag is false the Caption data is handled as described for the ByteNumber property. 8  2D-Barcode Fonts dLSoft 2D-Barcode Fonts . Typically this will be the directory holding the Crystal Reports executable file (CRW32.0\bin for CR 9. or \Program Files\Common Files\Crystal Decisions\2. but an inherent feature of Crystal Reports. and the associated sample files are placed in the installation directory of your Barcode Font kit. } Details of the properties and methods implemented in the java class are given in the Common Java class Features section The Aztec UFL for Crystal Reports While a UFL for Crystal Reports is included with the kit. The number of rows of characters in the resulting barcode may be obtained from the getNStrings() method.getBarcodeString(i). Note that bc is a barcode created by the Barcode() method. Most modern versions of Crystal can access the UFL from the Windows\System32 directory. i<n. It is important to note that Crystal Reports sets a limit on the number of characters that can be displayed from a formula. you must delete the function and recreate it .jar provided. The Crystal Reports UFL (User Function Library .exe). but if you are using an older version you may need to copy it to a directory where Crystal can find it.getNStrings(). limitations of the Crystal Reports formula model require that larger barcodes should be stored in the underlying database rather than generated through a formula. Consequently only relatively small Aztec barcodes (100 characters maximum) may be generated using this UFL. eg. and each line of the barcode returned using getBarcodeString(i). The dFontAZ Java class The dFontAZ Java class may be used to return strings that contain rows of characters that.drawString(az1. for (i=0.x.DLL) is installed into the Windows\System32 directory. The class is instantiated with the new command: dFontAZ az1=new dFontAZ().otherwise the barcodes will continue to be scrambled. The data is supplied to the class using the setCaption() methods and the update) method called to generated the barcode characters. The class may be used directly or through the dFontAZ. This is not a limitation of the dLSoft Aztec barcode font. when displayed in the AZT font form an Aztec symbol. Note that if you add barcode to reports using the Testware version and subsequently upgrade to the full version.(y+i*ht)). dLSoft 2D-Barcode Fonts 2D-Barcode Fonts  9 . //g is output graphics – screen or printer // ht is the chose font height in points //x and y are the top left coordinated required for the symbol n=az1.U2LAZTDF.BarDecode(string bc) Return Type: string This method returns a string decoded from the barcode passed as parameter bc. c:\Program Files\Seagate Software\Crystal Reports for CR 8. i++) { g. and the required properties set using the setModeType() and setLevel() methods. Open the report in Design view 2. The Formula Editor appears. ie. such as "1234"). ensure that the item becomes highlighted.. If field data is to be used it must be text data . Select the DLAzbars function from the list..which will usually be ToText(x.z) where the x represent the number to be used as data.such as barcode1 . 7. A barcode is included on the report with its data taken from the Order ID filed of the data. with the cursor now placed in the first parameter position of the ToText function. eg. The first parameter is the barcode data (a string).) The "Order Packing ListAz.) Now double click on the required data source field in the list of Report fields.) 8.then push the OK button.Order ID}. and the final parameter (normally 0) can be used to specify start mode. DLAzbars ({@address1&2}. . and the cursor in the position of the first parameter...) 10  2D-Barcode Fonts dLSoft 2D-Barcode Fonts . If you do not have the samples installed on your system then the modified sample report will not work and you should skip to the section "Creating a barcode on a report" below.rpt" sample may be run on a machine that contains a full Crystal Reports installation just by double clicking on the report file. Switching the report to Design view. the second parameter is an integer that specifies the Flags parameter (must be 0 in this release).. Now select the required function . ). . Select the Formula Fields item in the dialog box. 5. (You can change the barcode font to one you have installed as described below. complete with its parameter brackets and commas. 4. ie. DLAzbars (. 6. DLAzbars (ToText (. then either double click on it or press the Enter key. Also the report displays barcodes using the AZTW font.. Enter a name for the formula . if you have not installed that font the report will not display a barcode . The first parameter must be a string containing the barcode data. the third parameter is an integer that specifies the security level.Running the sample The sample report included with the kit is "Order Packing ListAz. and the barcode will then display correctly. This is a modified version of the "Order Packing List.rpt" which will be found in the crystal subdirectory of the kits installation directory. eg.. This can be a literal string (ie. the expand this item by click on the + symbol alongside the Additional Items name.y. Right-clicking on the barcode and selecting Edit Field Object from the drop-down menu displays the Function (DLAzbars) and parameters used to generate the barcode.) If a required field contains numerical data then expand the Strings item in the list of functions and the expand the ToText function. From the list of Functions (normally the middle list) scroll down to the Additional Functions item.rpt" report included with the Crystal Reports Xtreme Mountain Bike Inc samples. or field data. data enclosed in quotation marks. Either hold down the Control key and press N. Double click on the required version of the ToText function and this will be copied to the first parameter position of the DLAzbars function. y represent the number of decimal places (typically 0) and z is a character used to separate thousands from hundreds etc (which unfortunately defaults to a comma and is generally not wanted in a barcode).so if the required field actually contains numeric data this must be converted into text data. Creating an Aztec barcode on a report To create your own barcode on a report follow the steps below: 1. If a required data field contains text data just double click on the field name in the list of Report Fields. Select Field Object from the Insert menu 3. DLAzbars (ToText ({Orders.but a collection of characters. the function then appears in the formula box below the lists. ). and the field name enclosed in curly brackets will be copied to the function's first parameter position.. or select the New icon in the toolbar. 0 .) 9. Now click on the Save and Close icon to return to the Field Explorer and the formula named by you will be present in the list.. Double-click on the formula name the move the cursor to locate the object (ie. DataMatrix symbols may be square or rectangular. and click on the Font tab in the displayed dialog box. ie. From the list of fonts presented select the AZ. 12 Return to the report's Preview display and you should have a perfect barcode. both enclosed in quotation marks. choose Format Field from the drop down menu.0 . Follow the procedure above to replace the formula. Then click on OK. The character spacing must be left at 0. dLSoft 2D-Barcode Fonts 2D-Barcode Fonts  11 .and fill in the other two ToText parameters with a 0 (the number of decimal places) and a NULL character (two single quotes) respectively.10 point). the barcode) where you want it on the report. right click on the barcode (or its' empty box) and select Edit Field Object from the drop down menu."0". Aztec Function parameters The function is DLAzbars(szIn. eg. right click on it. Finally select the barcode object. Note that invalid barcodes will not be visible. szStartMode) where szIn is the string containing the data text for the barcode szFlags is a string version of the flags parameter . DLAzbars (ToText ({Orders. szFlags.'').Order ID}. To make changes to the barcode formula Open the report in Design view. Now complete the other three DLAzbars parameters with the flags.Order ID}."0") 10.. DLAzbars (ToText ({Orders. level and startmode parameters (see Help file for a complete list of these).."0". otherwise the barcodes will look nice but wont scan. then the barcode will change as you navigate around the record source.which in this release must be "0" szLevel is a string version of the Aztec security level (see Security and layers) szStartMode is a string version of the mode parameter (see Mode) DataMatrix barcodes DataMatrix is a two-dimensional matrix symbology that is made up of square modules arranged within a finder pattern.'' ). szLevel. If you are using data from a database as the data source for the barcode. 11. font you require and select a suitable size (typically 4 . Also at this time ECI and Appended symbols are not supported. dLSoft 2D barcode products support only ECC200 symbols – the older ECC140 and below are not supported. where a 1 is a bar and a 0 is a space. DataMatrix symbols can encode the entire ASCII character set and uses multiple encoding modes. The DMATDF DLL To convert a string of characters into the bars and spaces required for the barcode requires converting the character string into another string – made up of only the 0 . The following DLLs will perform the conversion: 12  2D-Barcode Fonts dLSoft 2D-Barcode Fonts . Font name AZTW AZTR AZTN weight full size 5% width reduction 10% width reduction (DataMatrix fonts are the same as the Aztec fonts) Users should determine which font weight is suitable for their printer by testing each font weight. DataMatrix font The DataMatrix font system includes TrueType and PostScript fonts for creating DataMatrix barcodes by printing characters to generate bars and spaces. It should be noted that if gaps between the font squares are clearly visible then the barcode will not scan correctly. with each square representing a bit of a 6 bit binary value. The dLSoft DataMatrix fonts uses the ASCII characters 0 (zero) . set by the security parameter. punctuation and new lines/paragraphs reduce this value. The individual characters are made up of six square in a pattern 3 high by 2 wide. The size of a Datamatrix barcode is determined by its content. and the only control allowed is whether the barcode is square or rectangular. in order of efficiency: Double digits – maximum capacity 3100 digits Alphanumeric text – maximum capacity 2300 characters* Byte values – maximum capacity 1550 bytes *Note that capital letters.DataMatrix symbols may include a user-select amount of error-correction. DataMatrix barcodes are made up of bars and spaces that may be 1 or more units wide. The dLSoft DataMatrix fonts are provided in different weights.6.z to represent 64 combinations of 6 bars and spaces as shown in the font table at the end of this document. For Square symbols the value may range from 0 – 24. For Rectangular symbols the value may range from 0 .z characters present in the Datamatrix font. which are. to allow for ink spread during wet ink printing and the line broadening found in several printers designed for use with personal computers. LPINT mode. The allowed values are 0 for square barcodes and 1 for rectangular barcodes. If n is 0.DLL – 64 bit Unicode version The DLLs provide three function calls which can either return the required string. LPINT mode. (ie. sec is the security level and szOut is a pointer to a string which will receive the characters to be rendered in the DataMatrix (AZT) font. LPSTR szOut). Otherwise this value should be 0. Dmatdf Function calls The available function calls are: Bar2Ddmf () . (ie. Delphi.DLL – 64 bit ANSI version DMATDF 64U. mode specifies the shape of the barcode (0=square. C++ Builder.DMATDF.creates text for Datamatrix font and returns the text in szOut Declared for C as int WINAPI Bar2Ddmf(LPSTR szIn. ByRef mo As Long. where szIn is a pointer to a string containing the text which is to be converted into the barcode. n is the number of characters in the string (or 0 – in which case the string may not contain NULL characters). copy it to the clipboard. The security level has allowed values of 0 – 24 for square symbols. or save it to a named disk file. ByRef sec As Long. ByRef flg As Long. A negative security level may be used to specify the number of columns in the symbol. The functions are called with parameters that specify the options available for the barcode: szIn – is a pointer to a string containing the bytes used as data to create the barcode. ByRef szOut As String) As Long Bar2Ddmc () .LPINT n. 1= rectangular) or whether the symbol is encoded using GS1 Datamatrix encoding rule (2=square GS1. or 0 – 6 for rectangular symbols. mode – a pointer to an integer specifying the type of DataMatrix barcode created. ). 128). LPINT flags. Visual C++. dLSoft 2D-Barcode Fonts 2D-Barcode Fonts  13 .DLL – 32 bit Unicode version DMATDF 64. LPINT sec. ByRef n As Long. flags – may be used in the Unicode versions to force encoding the data as Unicode by setting bit 7 to 1. Basic Declaration (VB6 & VBA) Private Declare Function Bar2Ddmf Lib "dmatdf" (ByVal szIn As String. 128). the string can contain non-text bytes (including ASCII 0) provided that the length parameter (n) is used to specify the length of the data. Otherwise this value should be 0.creates text for Datamatrix font and copies to the Windows clipboard Declared for C as int WINAPI Bar2Ddmc(LPSTR szIn.DLL – 32 bit ANSI version DMATDFU. and in fact virtually every language that can make DLL calls. Visual Foxpro. n – a pointer to an integer which is either 0 or specified the length of the data in szIn. These functions may be called from Visual Basic (including Visual Basic for Applications in Microsoft Office). LPINT sec. then the string is assumed to be a null-terminated string. 3=rectangular GS1).LPINT n. flags – may be used in the Unicode versions to force encoding the data as Unicode by setting bit 7 to 1. While passed as a text string. or 0 – 6 for rectangular symbols. and sec is the security level The security level has allowed values of 0 – 24 for square symbols.decodes text strings previously encoded using Bar2Ddmf().Bar2Ddmc(). If the file exists it will be overwritten. LPSTR szOut). n is the number of characters in the string (or 0 – in which case the string may not contain NULL characters). Basic Declaration (VB6 & VBA) Private Declare Function Bar2Ddmw Lib "dmatdf" (ByVal szIn As String. LPINT sec. mode specifies the shape of the barcode (0=square. If it does not exist it will be created if possible. mode specifies the shape of the barcode (0=square. 1= rectangular) or whether the symbol is encoded using GS1 Datamatrix encoding rule (2=square GS1. or 0 – 6 for rectangular symbols. 3=rectangular GS1). sec is the security level and szFilename is a pointer to a string that contains the full pathname of the file to receive the text. szOut is a pointer to a string that will receive the decoded output. n is the number of characters in the string (or 0 – in which case the string may not contain NULL characters). ByRef szFilename As String) As Long Bar2Ddmd () . Basic Declaration (VB6 & VBA) Private Declare Function Bar2Ddmc Lib "dmatdf" (ByVal szIn As String. LPSTR szFilename). which is 0 in the event of a barcode creation error. ByRef szOut As String) As Long 14  2D-Barcode Fonts dLSoft 2D-Barcode Fonts . 3=rectangular GS1). 1= rectangular) or whether the symbol is encoded using GS1 Datamatrix encoding rule (2=square GS1. ByRef n As Long. Basic Declaration (VB6 & VBA) Private Declare Function Bar2Ddmd Lib "dmatdf" (ByVal szIn As String. ByRef sec As Long) As Long Bar2Ddmw () . A negative security level may be used to specify the number of columns in the symbol.LPINT n. ByRef mo As Long. Declared for C as int WINAPI Bar2Ddmd(LPSTR szIn.creates text for Datamatrix font and writes to file szFilename Declared for C as int WINAPI Bar2Ddmw(LPSTR szIn. ByRef sec As Long. or -1 in the event of a file creation error. where szIn is a pointer to a string containing the text which is to be converted into the barcode.where szIn is a pointer to a string containing the text which is to be converted into the barcode. ByRef mo As Long. or Bar2Ddmw(). where szIn is a pointer to a string containing the barcode which is to be decoded. The call returns the number of bytes written to file. ByRef n As Long. LPINT mode. A negative security level may be used to specify the number of columns in the symbol. The security level has allowed values of 0 – 24 for square symbols. Access To add the control to an Access Form or Report. Once added to a form. The DMFOCX control may be placed on a form in most applications which support Active-X controls. or by setting the properties in the control’s property pages. open the form or report in Design view and ensure that the Toolbox is visible (its on the View menu). Square with GS1 encoding or Rectangular with GS1 encoding) and security level properties.NET Toolbox by right clicking on the Toolbox and selecting Add/Remove Items (or Choose Items for VS 2005) from the pop-up menu displayed. If the control is to be hidden. DataMatrix Property pages The control also has its own property pages which may be accessed by right-clicking on the control and selecting Properties from the displayed menu. The module’s icon will appear in the Toolbox. either via programming. then checking the control in the list presented. Select the “More controls” icon on the Toolbox and then select the DMFOCX Active-X Control module from the list of controls displayed. General Property page This permits the setting of the barcode’s mode (Square. such as Visual Basic. Rectangular. selection of the control will show the available properties in Access’s properties window. The font should be set by right-clicking on the control and choosing the Dmfocx control properties from the displayed menu. The control may then be added to a form by clicking on the control’s icon and then drawing a rectangle for the control on the required form. selection of the control will show the available properties in Visual Basic’s properties window. To provide data which includes non-printable characters the Caption property should be set via programming. Draw a rectangle for the control on the from or report. Microsoft Access. If the control is to be visible then the area allowed should be large enough to hold the largest barcode required.The Datamatrix control The DMFOCX control is an Active-X control which simplifies the use of barcodes in Active-X containers such as Visual Basic and MS Access. The control will then appear as an icon on the Toolbox. The Datamatrix barcode properties may be specified through a series of Properties. It is useful only for displayable characters. Placing the Datamatrix control on a form Visual Basic To add the control to a Visual Basic project select Components from the Project menu. etc.NET and C# The control may be added to the Visual Studio. Once added to a form or report. and allows the control to be set to resize itself each time it is drawn Data Property page The edit box on this page shows the data currently being used to generate the barcode image. then select DMFOCX Active-X Control module from the list of controls displayed and push the OK button. dLSoft 2D-Barcode Fonts 2D-Barcode Fonts  15 . VB. then the size is irrelevant. for C# dmfnet1. BackColor: (Colorref) the background color CapLength: (integer) normally 0. Flags: (integer) if bit 7 is set (ie 128) the data is encoded as Unicode. Errorcode: (integer) a non-zero value is returned if the data supplied in the Caption property can be converted into a valid barcode. 1 produces rectangular barcodes. Colors Property page This page allows the user to specify the foreground (the bars) and background color of the barcode generated.Serial="12345". 0 produces Square barcodes. In general barcodes should be produced with a black foreground and a white background color. produce the barcode. in which case the length of the data string in the Caption property is determined automatically.Font Property page This page allows the user to select the barcode font and font size used to generate the barcode. otherwise as ANSI. Mode: (integer) the mode used to generate the barcode. Level: (integer) the security level for the generated barcode (see the DLL above for a description) A negative Level may be used to specify the number of columns in the symbol.g.set_Serial("12345"). for J# Main properties and methods are shown below. Output: (CString) the characters which when displayed in the correct font. Note that this string may be much larger than the Caption string. Datamatrix . Caption: (BSTR) the data which will be converted into a barcode AutoSize: (Boolean) if non-zero causes the control to resize itself to contain the barcode. In addition the control supports the normal Active-X properties.NET component features section 16  2D-Barcode Fonts dLSoft 2D-Barcode Fonts . The Serial property should be set to the serial number provided for your product. e.NET Managed Component Developer versions require the developer’s serial number to be passed to the component using the Serial property before the Barcode() method is called. If non-zero it is taken to be the number of characters in the Caption property to be used as data. others are listed in the Common . Font: (Font) the font in which the Output characters will be displayed ForeColor: (Colorref) the color of the bars in the barcode Columns: (integer) the number of columns in the symbol. such as Visible. The DataMatrix Control Properties The control has the following properties which may be set in the property pages or programmatically with Visual Basic. Height.Serial="12345" for VB dmfnet1. etc. may be overridden by the security level. Dmfnet1. Width. DMT CodeTypeValue Type: integer Default: 0 Allowed values: 0 The barcode type can be set using either the CodeType property or the CodeTypeValue property Flag Type: Boolean Default: false Allowed values: true or false When Flag is set to true the Caption data is treated as a Unicode string and converted to a byte stream. Only the low-order byte of each character is used.DMT Allowed values: bCode. When Flag is false the Caption data is handled as described for the ByteNumber property.Datamatrix. Note: only text strings recognised as valid barcodes will result in a barcode picture. When ByteNumber is 0 the Caption string is converted to bytes according to the length of each character in the string. GS1_Flag Type: Boolean dLSoft 2D-Barcode Fonts 2D-Barcode Fonts  17 . (see also Flag) Caption Type: string Default: "0123456789" Allowed values: Any text string.NET Properties ByteNumber Type: integer Default: 0 Allowed values: 0 – barcode byte capacity When ByteValue is greater than 0 the Caption string (which is a Unicode string) is unpacked into 8-bit ASCII characters before the data is used to generate the barcode – ie. An Illegal character in the text string will cause an Error value to be set. CodeType Type: bCode enumeration member Default: bCode. BarDecode(string bc) Return Type: string This method returns a string decoded from the barcode passed as parameter bc. 18  2D-Barcode Fonts dLSoft 2D-Barcode Fonts . StartMode Type: integer Default: 0 Allowed values: 0 (for Square symbols) or 1 (for Rectangular symbols). Note that making the first data character FNC1 (ASCII 232) has the same effect as setting the GS1_Flag to true. If GS1_Flag is false the symbol is created using standard Datamatrix rules. Note that bc is a barcode created by the Barcode() method. and brackets removed. Datamatrix. when displayed in the AZT font form a DataMatrix symbol.NET Methods Barcode() Return Type: string This method causes a barcode to be created as a sequence of character that. scanned for valid Application Identifiers (AIs). when displayed in the AZTx font will form the barcode symbol. A negative SecurityLevel may be used to specify the number of columns in the symbol. SecurityLevel Type: integer Default: 0 Allowed values: See 2D Barcodes section for allowed security level setting for specific barcode types and modes. Note that rectangular symbols have a much smaller capacity than square ones!.Default: false Allowed values: true or false When GS1_Flag is set to true the Caption data is encoded using GS1 Datamatrix rules. The dFontDM Java class The dFontDM Java class may be used to return strings that contain rows of characters that. so the information properties are not set until this method has been called. Note that the barcode symbol is determined only when this method is called.jar provided. The class may be used directly or through the dFontDM. drawString(dm1. for (i=0. c:\Program Files\Seagate Software\Crystal Reports for CR 8. i++) { g. //g is output graphics – screen or printer // ht is the chose font height in points //x and y are the top left coordinated required for the symbol n=dm1. or \Program Files\Common Files\Crystal Decisions\2. Running the sample The sample report included with the kit is "Order Packing ListDm. Consequently only relatively small DataMatrix barcodes (100 characters maximum) may be generated using this UFL. i<n. eg. } Details of the properties and methods implemented in the java class are given in the Common Java class Features section The DataMatrix UFL for Crystal Reports While a UFL for Crystal Reports is included with the kit.exe). If you do not have the samples installed on your system then the modified sample report will not work and you should skip to the section "Creating a barcode on a report" below.(y+i*ht)). The number of rows of characters in the resulting barcode may be obtained from the getNStrings() method.) The "Order Packing ListDm. This is not a limitation of the dLSoft Aztec/DataMatrix barcode font.The class is instantiated with the new command: dFontDM dm1=new dFontDM().but a collection of characters. Note that if you add barcode to reports using the Testware version and subsequently upgrade to the full version.getBarcodeString(i). The first parameter is the dLSoft 2D-Barcode Fonts 2D-Barcode Fonts  19 . Most modern versions of Crystal can access the UFL from the Windows\System32 directory. It is important to note that Crystal Reports sets a limit on the number of characters that can be displayed from a formula. and the required properties set using the setModeType() and setLevel() methods. The data is supplied to the class using the setCaption() methods and the update) method called to generated the barcode characters. This is a modified version of the "Order Packing List. but if you are using an older version you may need to copy it to a directory where Crystal can find it. and the barcode will then display correctly. and the associated sample files are placed in the installation directory of your Barcode Font kit. Right-clicking on the barcode and selecting Edit Field Object from the drop-down menu displays the Function (DLDmbars) and parameters used to generate the barcode.0\bin for CR 9. if you have not installed that font the report will not display a barcode . limitations of the Crystal Reports formula model require that larger barcodes should be stored in the underlying database rather than generated through a formula.U2LDMATDF. but an inherent feature of Crystal Reports.DLL) is installed into the Windows\System32 directory. Switching the report to Design view. you must delete the function and recreate it .x. Also the report displays barcodes using the AZTW font. The Crystal Reports UFL (User Function Library .getNStrings().otherwise the barcodes will continue to be scrambled.rpt" which will be found in the crystal subdirectory of the kits installation directory.rpt" report included with the Crystal Reports Xtreme Mountain Bike Inc samples.rpt" sample may be run on a machine that contains a full Crystal Reports installation just by double clicking on the report file. (You can change the barcode font to one you have installed as described below. and each line of the barcode returned using getBarcodeString(i). A barcode is included on the report with its data taken from the Order ID filed of the data. Typically this will be the directory holding the Crystal Reports executable file (CRW32. DLDmbars (. . 6. and the field name enclosed in curly brackets will be copied to the function's first parameter position.so if the required field actually contains numeric data this must be converted into text data. y represent the number of decimal places (typically 0) and z is a character used to separate thousands from hundreds etc (which unfortunately defaults to a comma and is generally not wanted in a barcode). complete with its parameter brackets and commas. If field data is to be used it must be text data . 2=square GS1.) Now double click on the required data source field in the list of Report fields.) 9. DLDmbars (ToText ({Orders.. DLDmbars ({@address1&2}. or field data.0 . with the cursor now placed in the first parameter position of the ToText function. 1 for rectangular). eg. the second parameter is an integer that specifies the security level.which will usually be ToText(x. ). the expand this item by click on the + symbol alongside the Additional Items name. eg. data enclosed in quotation marks. Now select the required function .) If a required field contains numerical data then expand the Strings item in the list of functions and the expand the ToText function.''). both enclosed in quotation marks."0".then push the OK button. and the cursor in the position of the first parameter. Open the report in Design view 2.Order ID}.y. DLDmbars (ToText (.'' ). and the final parameter can be used to specify start mode (0 for square. or select the New icon in the toolbar. the barcode) where you want it on the report.. such as "1234"). Select the DLDmbars function from the list. then either double click on it or press the Enter key. DLDmbars (ToText ({Orders. Now click on the Save and Close icon to return to the Field Explorer and the formula named by you will be present in the list. 5.. Double click on the required version of the ToText function and this will be copied to the first parameter position of the DLDmbars function. If a required data field contains text data just double click on the field name in the list of Report Fields. ie.Order ID}. eg. 4. 1=rectangular. Enter a name for the formula . The first parameter must be a string containing the barcode data.barcode data (a string).0 . . Double-click on the formula name the move the cursor to locate the object (ie. From the list of Functions (normally the middle list) scroll down to the Additional Functions item. 7.such as barcode1 . Now complete the other two DLDmbars parameters with the mode ( 0=square. Either hold down the Control key and press N.) 8.Order ID}.z) where the x represent the number to be used as data. DLDmbars (ToText ({Orders."0") 10.) and fill in the other two ToText parameters with a 0 (the number of decimal places) and a NULL character (two single quotes) respectively. 3=rectangular GS1) and security level parameters (see above for a complete list of these). ie. 20  2D-Barcode Fonts dLSoft 2D-Barcode Fonts ... Creating a DataMatrix barcode on a report To create your own barcode on a report follow the steps below: 1. Select Field Object from the Insert menu 3. ). ensure that the item becomes highlighted. This can be a literal string (ie. ie. The Formula Editor appears. Select the Formula Fields item in the dialog box. the function then appears in the formula box below the lists. . From the list of fonts presented select the AZ. szLevel) where szIn is the string containing the data text for the barcode szMode is a string version of the mode parameter (see Mode) szLevel is a string version of the DataMatrix security level (see Security and layers). To make changes to the barcode formula Open the report in Design view. right click on the barcode (or its' empty box) and select Edit Field Object from the drop down menu. then the barcode will change as you navigate around the record source. The character spacing must be left at 0.11. Function parameters The function is DLDmbars(szIn. Follow the procedure above to replace the formula. font you require and select a suitable size (typically 4 .UCC Reduced Space Symbology (RSS) . Then click on OK. GS1-DataBar -Expanded encodes the 14 digit GS1/EAN/UCC item identification plus supplementary AI elements.10 point). If you are using data from a database as the data source for the barcode.formerly known as EAN. and click on the Font tab in the displayed dialog box. Finally select the barcode object. dLSoft 2D-Barcode Fonts 2D-Barcode Fonts  21 . szStartMode. GS1-DataBar Limited encodes item identification suitable for use on small items. known as GS1-DataBar barcodes. but not for use at point-of-sale. GS1-DataBar-14 encodes the full 14 digit GS1/EAN/UCC item identification in a linear symbol that can be scanned in any direction. 12 Return to the report's Preview display and you should have a perfect barcode. choose Format Field from the drop down menu. GS1 Databar barcodes The GS1 DataBar symbology . or (when negative) the number of columns in a symbol. otherwise the barcodes will look nice but wont scan.is a family containing three linear symbologies and three stacked variants. right click on it. Note that invalid barcodes will not be visible. GS1-DataBar -14 Stacked is a variant which is stacked in two rows, either as a truncated version used for small item marking, or as an omni-directional version designed to be read by omnidirectional scanners. The Databar Fonts The Databar font system includes TrueType, OpenType and PostScript fonts for creating Databar barcodes by printing characters to generate bars and spaces. Databar barcodes are made up of bars and spaces that may be 1 or more units wide. The dL Databar fonts use the following ASCII characters: A – P and a – f for the Databar modes Omnidirectional and Expanded (including the stacked variants) 0, 1 for the Truncated mode 2, 3 for the Limited mode 4 – 9 for the Stacked mode. The minimum height of the bars in relation to the width of the thinnest bar is different for different modes, so for a given point size the width of the characters is different. The height;width ratio for the characters is: A – P and a-f: ratio = 1000 : 27 0, 1: ratio = 1000 : 77 2, 3: ratio = 1000 : 100 4 – 9 : ratio = 1000 : 143 22  2D-Barcode Fonts dLSoft 2D-Barcode Fonts The DBARDF DLL To convert a string of characters into the bars and spaces required for the barcode requires converting the character string into another string – made up of only the characters present in the dL Databar font. The following DLLs will perform the conversion: DBARDF.DLL – 32 bit ANSI version DBARDFU.DLL – 32 bit Unicode version DBARDF 64.DLL – 64 bit ANSI version DBARDF64U.DLL – 64 bit Unicode version The DLLs provide three function calls which can either return the required string, copy it to the clipboard, or save it to a named disk file. These functions may be called from Visual Basic (including Visual Basic for Applications in Microsoft Office), Visual C++, Visual Foxpro, Delphi, C++ Builder, and in fact virtually every language that can make DLL calls. The functions are called with parameters that specify the options available for the barcode: pMode – a pointer to an integer which specifies the type of Databar symbol required: 0 for Omnidirectional 1 for Truncated 2 for Limited 3 for Stacked 4 for Omnidirectional Stacked 5 for Expanded 6 for Expanded Stacked szIn – is a pointer to a string containing the characters used as data to create the barcode. pCols – a pointer to an integer which is either 0 or specifies the number of codeword pairs per row of an ExpandedStacked symbol – which may be 1 - 7. Dbardf Function calls The available function calls are: Bar2Drsf () - creates text for the Databar font and returns the text in szOut Declared for C as int WINAPI Bar2Dqrf(LPINT mode, LPSTR szIn,LPINT cols, LPSTR szOut); where mode is a pointer to an integer that specifies the barcode type required szIn is a pointer to a string containing the text which is to be converted into the barcode; cols is a pointer to an integer that specifies that number of codeword pairs per row in an Expanded-Stacked symbol, and szOut is a pointer to a string which will receive the characters to be rendered in the dL Databar font. Basic Declaration (VB6 & VBA) Private Declare Function Bar2Drsf Lib "dbardf" (ByRef mo As Long, ByVal szIn As String, ByRef co As Long, ByRef szOut As String) As Long Bar2Drsc () - creates text for the dL Databar font and copies it to the Windows clipboard Declared for C as dLSoft 2D-Barcode Fonts 2D-Barcode Fonts  23 int WINAPI Bar2Drsc(LPINT mode, LPSTR szIn,LPINT cols ); where mode is a pointer to an integer that specifies the barcode type required szIn is a pointer to a string containing the text which is to be converted into the barcode; cols is a pointer to an integer that specifies that number of codeword pairs per row in an Expanded-Stacked symbol, Basic Declaration (VB6 & VBA) Private Declare Function Bar2Drsc Lib "dbardf" (ByRef mo As Long, ByVal szIn As String, ByRef co As Long) As Long Bar2Drsw () - creates text for the dL Databar font and writes to file szFilename Declared for C as int WINAPI Bar2Drsw(LPINT mode, LPSTR szIn,LPINT cols, LPSTR szFilename); where mode is a pointer to an integer that specifies the barcode type required szIn is a pointer to a string containing the text which is to be converted into the barcode; cols is a pointer to an integer that specifies that number of codeword pairs per row in an Expanded-Stacked symbol, szFilename is a pointer to a string that contains the full pathname of the file to receive the text. If the file exists it will be overwritten. If it does not exist it will be created if possible. The call returns the number of bytes written to file, which is 0 in the event of a barcode creation error, or -1 in the event of a file creation error. Basic Declaration (VB6 & VBA) Private Declare Function Bar2Drsw Lib "dbardf" (ByRef mo As Long, ByVal szIn As String, ByRef co As Long, ByRef szFilename As String) As Long The Databar control The DBAROCX control is an Active-X control which simplifies the use of barcodes in Active-X containers such as Visual Basic and MS Access. The DBAROCX control may be placed on a form in most applications which support Active-X controls, such as Visual Basic, Microsoft Access, etc. The Databar barcode properties may be specified through a series of Properties, either via programming, or by setting the properties in the control’s property pages. Placing the Databar control on a form Visual Basic To add the control to a Visual Basic project select Components from the Project menu, then select DBAROCX Active-X Control module from the list of controls displayed and push the OK button. The module’s icon will appear in the Toolbox. The control may then be added to a form by clicking on the control’s icon and then drawing a rectangle for the control on the required form. If the control is to be visible then the area allowed should be large enough to hold the largest barcode required. If the control is to be hidden, then the size is irrelevant. 24  2D-Barcode Fonts dLSoft 2D-Barcode Fonts It is useful only for displayable characters.) and (for Expanded Stacked symbols) the number of codeword pairs per row. Font Property page This page allows the user to select the barcode font and font size used to generate the barcode.NET and C# The control may be added to the Visual Studio. Once added to a form or report. selection of the control will show the available properties in Visual Basic’s properties window. Caption: (BSTR) the data which will be converted into a barcode AutoSize: (Boolean) if non-zero causes the control to resize itself to contain the barcode. The font should be set by right-clicking on the control and choosing the Dbarocx control properties from the displayed menu. selection of the control will show the available properties in Access’s properties window. Draw a rectangle for the control on the from or report. Stacked. BackColor: (Colorref) the background color dLSoft 2D-Barcode Fonts 2D-Barcode Fonts  25 . VB. then checking the control in the list presented.NET Toolbox by right clicking on the Toolbox and selecting Add/Remove Items (or Choose Items for VS 2005) from the pop-up menu displayed.Once added to a form. The Databar Control Properties The control has the following properties which may be set in the property pages or programmatically with Visual Basic. Access To add the control to an Access Form or Report. Databar Control Property pages The control also has its own property pages which may be accessed by right-clicking on the control and selecting Properties from the displayed menu. etc. The control will then appear as an icon on the Toolbox. Select the “More controls” icon on the Toolbox and then select the DBAROCX ActiveX Control module from the list of controls displayed. open the form or report in Design view and ensure that the Toolbox is visible (its on the View menu). General Property page This permits the setting of the barcode’s mode (Omnidirectional. In general barcodes should be produced with a black foreground and a white background color. Colors Property page This page allows the user to specify the foreground (the bars) and background color of the barcode generated. and allows the control to be set to resize itself each time it is drawn Data Property page The edit box on this page shows the data currently being used to generate the barcode image. Databar Allowed values: bCode. Main properties and methods are shown below.NET component features section Databar . CodeType Type: bCode enumeration member Default: bCode.set_Serial("12345"). In addition the control supports the normal Active-X properties. Databar . Height. produce the barcode. An Illegal character in the text string will cause an Error value to be set. Note that this string may be much larger than the Caption string.CapLength: (integer) normally 0. such as Visible. others are listed in the Common . etc.Serial="12345". for J# Use of an incorrect serial number will result in randomly scrambled symbols. Allowed values are: 0 for Omnidirectional 1 for Truncated 2 for Limited 3 for Stacked 4 for Omnidirectional Stacked 5 for Expanded 6 for Expanded Stacked Output: (CString) the characters which when displayed in the correct font. Font: (Font) the font in which the Output characters will be displayed ForeColor: (Colorref) the color of the bars in the barcode Mode: (integer) the mode of the barcode.g. The Serial property should be set to the serial number provided for your product. e. Note: only text strings recognised as valid barcodes will result in a barcode picture. Width.Databar 26  2D-Barcode Fonts dLSoft 2D-Barcode Fonts . for C# dbarfcnet1. Errorcode: (integer) a non-zero value is returned if the data supplied in the Caption property can be converted into a valid barcode.NET Managed Component Developer versions require the developer’s serial number to be passed to the component using the Serial property before the Barcode() method is called.Serial="12345" for VB dbarfnet1.NET Properties Caption Type: string Default: "1234567890123" Allowed values: Any text string. Dbarfnet1. Note that the barcode symbol is determined only when this method is called. When Flag is false the Caption data is handled as described for the ByteNumber property.NET Methods Barcode() Return Type: string This method causes a barcode to be created as a sequence of character that. StartMode Type: integer Default: 0 Allowed values: 0 = Omnidirectional 1 = Truncated 2 = Limited 3 = Stacked 4 = Omnidirectional Stacked 5 = Expanded 6 = Expanded Stacked Databar . Flag Type: Boolean Default: false Allowed values: true or false When Flag is set to true the Caption data is treated as a Unicode string and converted to a byte stream.This is the default value and should not be changed. CodeTypeValue Type: integer Default: 0 Allowed values: 0 This is the default value and should not be changed. dLSoft 2D-Barcode Fonts 2D-Barcode Fonts  27 . so the information properties are not set until this method has been called. when displayed in the dL Databar font will form the barcode symbol. (You can change the barcode font to one you have installed as described below. you must delete the function and recreate it . the second parameter is an integer that specifies the mode. Enter a name for the formula . ensure that the item becomes highlighted. complete with its parameter brackets and commas. DLDbars (. the expand this item by click on the + symbol alongside the Additional Items name. Open the report in Design view 2. From the list of Functions (normally the middle list) scroll down to the Additional Functions item. The Formula Editor appears. Switching the report to Design view. or \Program Files\Common Files\Crystal Decisions\2. Most modern versions of Crystal can access the UFL from the Windows\System32 directory.) 28  2D-Barcode Fonts dLSoft 2D-Barcode Fonts .rpt" sample may be run on a machine that contains a full Crystal Reports installation just by double clicking on the report file.DLL) is installed into the Windows\System32 directory. Note that if you add barcode to reports using the Testware version and subsequently upgrade to the full version.exe). or select the New icon in the toolbar. and the barcode will then display correctly.0\bin for CR 9.) The "Order Packing ListDb. Typically this will be the directory holding the Crystal Reports executable file (CRW32. limitations of the Crystal Reports formula model to 255 output characters may require that larger Databar Expanded or Expanded Stacked barcodes should be stored in the underlying database rather than generated through a formula.. c:\Program Files\Seagate Software\Crystal Reports for CR 8. However.then push the OK button.but a collection of characters.The Databar UFL for Crystal Reports A UFL for Crystal Reports is included with the kit. If you do not have the samples installed on your system then the modified sample report will not work and you should skip to the section "Creating a barcode on a report" below. if you have not installed that font the report will not display a barcode . then either double click on it or press the Enter key. 5. 6. Right-clicking on the barcode and selecting Edit Field Object from the drop-down menu displays the Function (DLDbars) and parameters used to generate the barcode. 7. A barcode is included on the report with its data taken from the Order ID field of the data with a prefix to produce the number of characters required to a Databar symbol. This is a modified version of the "Order Packing List.rpt" report included with the Crystal Reports Xtreme Mountain Bike Inc samples. Select the DLDbars function from the list. Also the report displays barcodes using the dL Databar font. 4. and the associated sample files are placed in the installation directory of your Barcode Font kit. ie. but if you are using an older version you may need to copy it to a directory where Crystal can find it.rpt" which will be found in the crystal subdirectory of the kits installation directory. Creating a Databar barcode on a report To create your own barcode on a report follow the steps below: 1. The first parameter is the barcode data (a string).such as barcode1 . the function then appears in the formula box below the lists. Either hold down the Control key and press N. Select Field Object from the Insert menu 3. and the cursor in the position of the first parameter.otherwise the barcodes will continue to be scrambled.U2LDBARDF. Select the Formula Fields item in the dialog box. Running the sample The sample report included with the kit is "Order Packing ListDb. and the final parameter can be used to specify the number of codeword columns in an Expanded Stacked symbol – but otherwise should be 0. The Crystal Reports UFL (User Function Library . ie. and click on the Font tab in the displayed dialog box.which will usually be ToText(x.8. eg.) and fill in the other two ToText parameters with a 0 (the number of decimal places) and a NULL character (two single quotes) respectively. If you are using data from a database as the data source for the barcode. Then click on OK. choose Format Field from the drop down menu. Note that invalid barcodes will not be visible.so if the required field actually contains numeric data this must be converted into text data.0 . Double-click on the formula name the move the cursor to locate the object (ie. ). such as "1234").. the barcode) where you want it on the report. ). otherwise the barcodes will look nice but wont scan. y represent the number of decimal places (typically 0) and z is a character used to separate thousands from hundreds etc (which unfortunately defaults to a comma and is generally not wanted in a barcode).Order ID}.) In this case we actually require at least 13 digits to create a barcode. Now click on the Save and Close icon to return to the Field Explorer and the formula named by you will be present in the list..0 .Order ID}. Now select the required function .z) where the x represent the number to be used as data. DLQRbars (ToText ({Orders. From the list of fonts presented select the dL Databar font you require and select a suitable size (typically 24 . right click on it. . If field data is to be used it must be text data .. eg.Order ID}. then the barcode will change as you navigate around the record source. eg. Double click on the required version of the ToText function and this will be copied to the first parameter position of the DLDbars function. dLSoft 2D-Barcode Fonts 2D-Barcode Fonts  29 .. Now complete the other three DLDbars parameters with the mode and columns parameters.0 . DLDbars ((“123456789” + ToText ({Orders. data enclosed in quotation marks. 11.'' )). or field data.'' ). DLDbars ({@address1&2}.48 point in this case).) 9. DLDbars (ToText (.. If a required data field contains text data just double click on the field name in the list of Report Fields. DLDbars (ToText ({Orders.y. each enclosed in quotation marks.. "4".Order ID}. The first parameter must be a string containing the barcode data. The character spacing must be left at 0.) If a required field contains numerical data then expand the Strings item in the list of functions and the expand the ToText function. This can be a literal string (ie. ."0") [Mode 4 will created a Stacked Omnidirectional symbol] 10.'' )). right click on the barcode (or its' empty box) and select Edit Field Object from the drop down menu. To make changes to the barcode formula Open the report in Design view. Follow the procedure above to replace the formula. so we we artificially enlarge the data by prefixing the Order ID data with “123456789”: DLDbars ((“123456789” + ToText ({Orders. and the field name enclosed in curly brackets will be copied to the function's first parameter position. ie. with the cursor now placed in the first parameter position of the ToText function.) Now double click on the required data source field in the list of Report fields. Finally select the barcode object. 12 Return to the report's Preview display and you should have a perfect barcode. szMode.Function parameters The function is DLDbars(szIn.szColumns) where szIn is the string containing the data text for the barcode szMode is a string version of the Mode parameter szColumns is a string version of the Columns parameter 30  2D-Barcode Fonts dLSoft 2D-Barcode Fonts . such as ID of printed circuit boards and electronics parts. The dLSoft QR fonts uses the ASCII characters 0 (zero) . dLSoft 2D-Barcode Fonts 2D-Barcode Fonts  31 . where a 1 is a bar and a 0 is a space. the space and the $ % * + .QR Code barcodes QR Code is a matrix symbology consisting of a square array of modules with a finder pattern located at three corners. The dLSoft libraries support QR Code Version 2 in Numeric.. The Reed-Solomon error correction allows the following recovery of damaged codewords: Level 0: 7% Level 1: 15% Level 2: 25% Level 3: 30% Micro QR Code The dLSoft Libraries also support Micro QR Code. / : characters only. QR barcodes are made up of bars and spaces that may be 1 or more units wide. Alphanumeric and Byte modes. The individual characters are made up of six square in a pattern 3 high by 2 wide. A wide range of symbol sizes is supported along with four levels of error correction. (Kanji mode is supported by some but not all components). The efficiency of data encoding has been increased with the use of only one position detection pattern.z to represent 64 combinations of 6 bars and spaces as shown in the font table at the end of this document. Micro QR Code is a very small QR Code that fits applications that require a smaller space and use smaller amounts of data. etc. The maximum data capacity of the symbols (at Level 0 error correction) are: Numeric data 7089 digits Alphanumeric data 4296 characters Byte data 2953 bytes Note that Alphanumeric includes digits and uppercase letters. with each square representing a bit of a 6 bit binary value. The capacity of Micro QR Code symbols at the lowest error correction level is: Numeric data 35 digits Alphanumeric data 21 characters Byte data 15 bytes The QR Code Fonts The QR font system includes TrueType and PostScript fonts for creating QR barcodes by printing characters to generate bars and spaces. and the symbology is noted for its high data density. DLL – 32 bit ANSI version DQRDFU. 128). These functions may be called from Visual Basic (including Visual Basic for Applications in Microsoft Office).DLL – 32 bit Unicode version DQRDF64. If n is 0. Visual C++. Font name AZTW AZTR AZTN weight full size 5% width reduction 10% width reduction (QR Code fonts are the same as the Aztec fonts) Users should determine which font weight is suitable for their printer by testing each font weight. Visual Foxpro. or 1 for Micro QR Code. Delphi. and in fact virtually every language that can make DLL calls. While passed as a text string. to allow for ink spread during wet ink printing and the line broadening found in several printers designed for use with personal computers. C++ Builder. Otherwise this value should be 0. or save it to a named disk file. It should be noted that if gaps between the font squares are clearly visible then the barcode will not scan correctly. the string can contain non-text bytes (including ASCII 0) provided that the length parameter (n) is used to specify the length of the data. szIn – is a pointer to a string containing the bytes used as data to create the barcode.DLL – 64 bit ANSI version DQRDF64U. The following DLLs will perform the conversion: DQRDF. The allowed values are: 0 for Numeric mode 1 for Alphanumeric mode 2 for Byte mode 3 for Kanji mode.z characters present in the QR font. flags – may be used in the Unicode versions to force encoding the data as Unicode by setting bit 7 to 1.The dLSoft QR fonts are provided in different weights. copy it to the clipboard. (ie. mode – a pointer to an integer specifying the mode of the QR Code barcode created. The functions are called with parameters that specify the options available for the barcode: Code – a pointer to an integer which specifies the code type: 0 for QR Code. then the string is assumed to be a null-terminated ASCII string. The DQRDF DLL To convert a string of characters into the bars and spaces required for the barcode requires converting the character string into another string – made up of only the 0 . Dqrdf Function calls The available function calls are: 32  2D-Barcode Fonts dLSoft 2D-Barcode Fonts .DLL – 64 bit Unicode version The DLLs provide three function calls which can either return the required string. n – a pointer to an integer which is either 0 or specified the length of the data in szIn. ByRef sec As Long. Otherwise this value should be 0. mode specifies the mode. LPINT mode. LPINT mode. LPINT sec. The security level has allowed values of 0 – 3 for all modes for QR Code. sec is the security level and szOut is a pointer to a string which will receive the characters to be rendered in the QR (AZT) font. n is normally 0. LPINT flags. where code specifies the barcode type required (0 for QR Code. 1 for Micro QR Code) szIn is a pointer to a string containing the text which is to be converted into the barcode. 1 for Micro QR Code) szIn is a pointer to a string containing the text which is to be converted into the barcode. LPINT sec.creates text for the QR font and writes to file szFilename Declared for C as int WINAPI Bar2Dqrw(LPINT code. otherwise it may be the number of characters in the string if the string is to be interpreted as a byte stream. LPINT flags. LPINT sec. ByVal szIn As String.creates text for the QR font and copies it to the Windows clipboard Declared for C as int WINAPI Bar2Dqrc(LPINT code.LPINT n. where code specifies the barcode type required (0 for QR Code. n is normally 0. 128). Otherwise this value should be 0. otherwise it may be the number of characters in the string if the string is to be interpreted as a byte stream. LPSTR szIn. ByVal szIn As String. LPINT mode ). ByRef flg. or 0 – 2 for Micro QR Code. ByRef fl. LPINT flags. ByRef szOut As String) As Long Bar2Dqrc () . mode specifies the mode. LPSTR szIn. LPSTR szIn. ByRef n As Long.. LPSTR szFilename).LPINT n. Basic Declaration (VB6 & VBA) Private Declare Function Bar2Dqrf Lib "dqrdf" (ByRef c As Long. ByRef mo As Long.. dLSoft 2D-Barcode Fonts 2D-Barcode Fonts  33 .LPINT n.Bar2Dqrf () . (ie. (ie.creates text for the QR Code font and returns the text in szOut Declared for C as int WINAPI Bar2Dqrf(LPINT code. ByRef n As Long. The security level has allowed values of 0 – 3 for all modes for QR Code. ByRef mo As Long) As Long Bar2Dqrw () . flags – may be used in the Unicode versions to force encoding the data as Unicode by setting bit 7 to 1. Basic Declaration (VB6 & VBA) Private Declare Function Bar2Dqrc Lib "dqrdf" (ByRef c As Long. flags – may be used in the Unicode versions to force encoding the data as Unicode by setting bit 7 to 1. or 0 – 2 for Micro QR Code. 128). LPSTR szOut). ByRef sec As Long. sec is the security level and szOut is a pointer to a string which will receive the characters to be rendered in the QR (AZT) font. then select QROCX Active-X Control module from the list of controls displayed and push the OK button. etc.where code specifies the barcode type required (0 for QR Code. where szIn is a pointer to a string containing the barcode which is to be decoded. which is 0 in the event of a barcode creation error. 128). such as Visual Basic. or -1 in the event of a file creation error. szFilename is a pointer to a string that contains the full pathname of the file to receive the text. or 0 – 2 for Micro QR Code. szOut is a pointer to a string that will receive the decoded output. Basic Declaration (VB6 & VBA) Private Declare Function Bar2Dqrd Lib "aztdf" (ByVal szIn As String. The security level has allowed values of 0 – 3 for all modes for QR Code. The QROCX control may be placed on a form in most applications which support Active-X controls. 1 for Micro QR Code) szIn is a pointer to a string containing the text which is to be converted into the barcode. ByRef n As Long.decodes text strings previously encoded using Bar2Dqrf(). Declared for C as int WINAPI Bar2Dqrd(LPSTR szIn. ByRef mo As Long. Basic Declaration (VB6 & VBA) Private Declare Function Bar2Dqrw Lib "dqrdf" (ByRef c As Long. ByVal szIn As String. If it does not exist it will be created if possible. 34  2D-Barcode Fonts dLSoft 2D-Barcode Fonts . The control may then be added to a form by clicking on the control’s icon and then drawing a rectangle for the control on the required form. sec is the security level.. Placing the QR control on a form Visual Basic To add the control to a Visual Basic project select Components from the Project menu. or by setting the properties in the control’s property pages. mode specifies the mode. otherwise it may be the number of characters in the string if the string is to be interpreted as a byte stream. ByRef fl. (ie. Otherwise this value should be 0. either via programming. If the file exists it will be overwritten. Microsoft Access. ByRef szFilename As String) As Long Bar2Dqrd () . ByRef sec As Long. n is normally 0. or Bar2Dqrw(). ByRef szOut As String) As Long The QR control The QROCX control is an Active-X control which simplifies the use of barcodes in Active-X containers such as Visual Basic and MS Access. The module’s icon will appear in the Toolbox. LPSTR szOut). The call returns the number of bytes written to file.Bar2Dqrc(). flags – may be used in the Unicode versions to force encoding the data as Unicode by setting bit 7 to 1. The QR barcode properties may be specified through a series of Properties. The QR Control Properties The control has the following properties which may be set in the property pages or programmatically with Visual Basic.NET Toolbox by right clicking on the Toolbox and selecting Add/Remove Items (or Choose Items for VS 2005) from the pop-up menu displayed. Select the “More controls” icon on the Toolbox and then select the QROCX Active-X Control module from the list of controls displayed. open the form or report in Design view and ensure that the Toolbox is visible (its on the View menu). selection of the control will show the available properties in Visual Basic’s properties window. selection of the control will show the available properties in Access’s properties window. The control will then appear as an icon on the Toolbox. The font should be set by right-clicking on the control and choosing the QRocx control properties from the displayed menu. If the control is to be hidden. It is useful only for displayable characters. Colors Property page This page allows the user to specify the foreground (the bars) and background color of the barcode generated. Once added to a form or report. then the size is irrelevant.NET and C# The control may be added to the Visual Studio. QR Control Property pages The control also has its own property pages which may be accessed by right-clicking on the control and selecting Properties from the displayed menu. Access To add the control to an Access Form or Report. Draw a rectangle for the control on the from or report. Once added to a form. Byte) and security level properties.If the control is to be visible then the area allowed should be large enough to hold the largest barcode required. then checking the control in the list presented. and allows the control to be set to resize itself each time it is drawn Data Property page The edit box on this page shows the data currently being used to generate the barcode image. Caption: (BSTR) the data which will be converted into a barcode dLSoft 2D-Barcode Fonts 2D-Barcode Fonts  35 . VB. In general barcodes should be produced with a black foreground and a white background color. Alphanumeric. General Property page This permits the setting of the barcode’s mode (Numeric. Font Property page This page allows the user to select the barcode font and font size used to generate the barcode. To provide data which includes non-printable characters the Caption property should be set via programming. QR Code . If non-zero it is taken to be the number of characters in the Caption property to be used as data. Width.g. 1 specifies Micro QR Code. Errorcode: (integer) a non-zero value is returned if the data supplied in the Caption property can be converted into a valid barcode. BackColor: (Colorref) the background color CapLength: (integer) normally 0.CodeType: (integer) 0 specifies QR Code. Note it is not necessary to set this Flag for Kanji mode. otherwise as ANSI. Qrcnet1. etc. In addition the control supports the normal Active-X properties. Height.NET Managed Component Developer versions require the developer’s serial number to be passed to the component using the Serial property before the Barcode() method is called.NET component features section QR.Serial="12345". Flags: (integer) if bit 7 is set (ie 128) the data is encoded as Unicode. others are listed in the Common . Note that this string may be much larger than the Caption string. Main properties and methods are shown below.set_Serial("12345"). The Serial property should be set to the serial number provided for your product.Serial="12345" for VB qrcnet1. 0 for Numeric mode 1 for Alphanumeric mode 2 for Byte mode 3 for Kanji mode. for C# qrcnet1.NET Properties ByteNumber Type: integer Default: 0 Allowed values: 0 – barcode byte capacity 36  2D-Barcode Fonts dLSoft 2D-Barcode Fonts . for J# Use of an incorrect serial number will result in randomly scrambled symbols.3) the security level for the generated barcode (see the DLL above for a description) Mode: (integer) the mode used to generate the barcode. produce the barcode. AutoSize: (Boolean) if non-zero causes the control to resize itself to contain the barcode. in which case the length of the data string in the Caption property is determined automatically. 0 . e. Output: (CString) the characters which when displayed in the correct font. such as Visible. Note: it is not necessary to set the Flags bit 7 when encoding in Kanji mode. Font: (Font) the font in which the Output characters will be displayed ForeColor: (Colorref) the color of the bars in the barcode Level: (integer. When ByteNumber is 0 the Caption string is converted to bytes according to the length of each character in the string. An Illegal character in the text string will cause an Error value to be set.MicroQR CodeTypeValue Type: integer Default: 0 Allowed values: 0 or 1 The barcode type can be set using either the CodeType property or the CodeTypeValue property Flag Type: Boolean Default: false Allowed values: true or false When Flag is set to true the Caption data is treated as a Unicode string and converted to a byte stream. CodeType Type: bCode enumeration member Default: bCode.When ByteValue is greater than 0 the Caption string (which is a Unicode string) is unpacked into 8-bit ASCII characters before the data is used to generate the barcode – ie. bCode. Only the low-order byte of each character is used.QRCode Allowed values: bCode. Note: only text strings recognised as valid barcodes will result in a barcode picture. StartMode Type: integer Default: 0 Allowed values: 0 = Numeric mode 1 = Alphanumeric mode 2= Byte mode 3=Kanji mode dLSoft 2D-Barcode Fonts 2D-Barcode Fonts  37 . (see also Flag) Caption Type: string Default: "0123456789" Allowed values: Any text string.QRCode. When Flag is false the Caption data is handled as described for the ByteNumber property. when displayed in the AZT font form a QR Code symbol.NET Methods Barcode() Return Type: string This method causes a barcode to be created as a sequence of character that. i++) { g. Note that the barcode symbol is determined only when this method is called. eg. when displayed in the AZTx font will form the barcode symbol. (0 – 2 for Micro QR Code symbols) QR.x. and each line of the barcode returned using getBarcodeString(i). The class may be used directly or through the dFontQR. for (i=0. The class is instantiated with the new command: dFontQR qr1=new dFontQR(). The dFontQR Java class The dFontQR Java class may be used to return strings that contain rows of characters that.jar provided. i<n. //g is output graphics – screen or printer // ht is the chose font height in points //x and y are the top left coordinated required for the symbol n=qr1. and the required properties set using the setCodeType().(y+i*ht)).getNStrings(). The data is supplied to the class using the setCaption() methods and the update) method called to generated the barcode characters.3. } Details of the properties and methods implemented in the java class are given in the Common Java class Features section 38  2D-Barcode Fonts dLSoft 2D-Barcode Fonts . so the information properties are not set until this method has been called. setModeType() and setLevel() methods.SecurityLevel Type: integer Default: 0 Allowed values: 0 . BarDecode(string bc) Return Type: string This method returns a string decoded from the barcode passed as parameter bc. The number of rows of characters in the resulting barcode may be obtained from the getNStrings() method.getBarcodeString(i).drawString(qr1. Note that bc is a barcode created by the Barcode() method. and the associated sample files are placed in the installation directory of your Barcode Font kit. (You can change the barcode font to one you have installed as described below.exe). Open the report in Design view 2. the function then appears in the formula box below the lists. Note that if you add barcode to reports using the Testware version and subsequently upgrade to the full version. This is not a limitation of the dLSoft QR barcode font. A barcode is included on the report with its data taken from the Order ID field of the data.otherwise the barcodes will continue to be scrambled. From the list of Functions (normally the middle list) scroll down to the Additional Functions item. Typically this will be the directory holding the Crystal Reports executable file (CRW32. It is important to note that Crystal Reports sets a limit on the number of characters that can be displayed from a formula. but an inherent feature of Crystal Reports. This is a modified version of the "Order Packing List. The Crystal Reports UFL (User Function Library .) The "Order Packing ListQR. Select the Formula Fields item in the dialog box. ensure that the item becomes highlighted. Right-clicking on the barcode and selecting Edit Field Object from the drop-down menu displays the Function (DLQRbars) and parameters used to generate the barcode.rpt" which will be found in the crystal subdirectory of the kits installation directory. you must delete the function and recreate it .0\bin for CR 9. 4. Select Field Object from the Insert menu 3.but a collection of characters. c:\Program Files\Seagate Software\Crystal Reports for CR 8.DLL) is installed into the Windows\System32 directory. and the cursor in the position of the first parameter. Also the report displays barcodes using the AZTW font. If you do not have the samples installed on your system then the modified sample report will not work and you should skip to the section "Creating a barcode on a report" below. but if you are using an older version you may need to copy it to a directory where Crystal can find it. complete with its parameter brackets and commas. DLQRbars (. Most modern versions of Crystal can access the UFL from the Windows\System32 directory. limitations of the Crystal Reports formula model require that larger barcodes should be stored in the underlying database rather than generated through a formula. the expand this item by click on the + symbol alongside the Additional Items name.. Either hold down the Control key and press N. Creating a QR barcode on a report To create your own barcode on a report follow the steps below: 1. or select the New icon in the toolbar.) dLSoft 2D-Barcode Fonts 2D-Barcode Fonts  39 . 5. Select the DLQRbars function from the list.then push the OK button. then either double click on it or press the Enter key. Switching the report to Design view. The Formula Editor appears. Running the sample The sample report included with the kit is "Order Packing ListQR.rpt" report included with the Crystal Reports Xtreme Mountain Bike Inc samples. the second parameter is an integer that specifies the security level. Enter a name for the formula .rpt" sample may be run on a machine that contains a full Crystal Reports installation just by double clicking on the report file.U2LQRDF. 7. and the final parameter can be used to specify mode. ie.The QR Code UFL for Crystal Reports While a UFL for Crystal Reports is included with the kit. or \Program Files\Common Files\Crystal Decisions\2. 6. Consequently only relatively small QR barcodes (100 characters maximum) may be generated using this UFL. The first parameter is the barcode data (a string).. and the barcode will then display correctly.such as barcode1 . if you have not installed that font the report will not display a barcode . The character spacing must be left at 0. the barcode) where you want it on the report. mode and security level parameters. ). Double-click on the formula name the move the cursor to locate the object (ie. ). 11. right click on the barcode (or its' empty box) and select Edit Field Object from the drop down menu. each enclosed in quotation marks. DLQRbars ({@address1&2}.which will usually be ToText(x. Now complete the other three DLQRbars parameters with the codetype.) 9. Then click on OK. Now select the required function . right click on it. then the barcode will change as you navigate around the record source. To make changes to the barcode formula Open the report in Design view.”0”.z) where the x represent the number to be used as data.. From the list of fonts presented select the AZ. font you require and select a suitable size (typically 4 .so if the required field actually contains numeric data this must be converted into text data.'' ).) If a required field contains numerical data then expand the Strings item in the list of functions and the expand the ToText function.. y represent the number of decimal places (typically 0) and z is a character used to separate thousands from hundreds etc (which unfortunately defaults to a comma and is generally not wanted in a barcode). with the cursor now placed in the first parameter position of the ToText function. eg. and the field name enclosed in curly brackets will be copied to the function's first parameter position. such as "1234").. ie.Order ID}. 12 Return to the report's Preview display and you should have a perfect barcode.szMode.) Now double click on the required data source field in the list of Report fields.."0". Finally select the barcode object..Order ID}.8..0 . Function parameters The function is DLQRbars(szIn.) and fill in the other two ToText parameters with a 0 (the number of decimal places) and a NULL character (two single quotes) respectively.. otherwise the barcodes will look nice but wont scan. DLQRbars (ToText (. Note that invalid barcodes will not be visible.0 . Follow the procedure above to replace the formula. choose Format Field from the drop down menu. . szCode.10 point). DLQRbars (ToText ({Orders. eg. DLQRbars (ToText ({Orders. If you are using data from a database as the data source for the barcode.''). szLevel) where 40  2D-Barcode Fonts dLSoft 2D-Barcode Fonts . or field data. DLQRbars (ToText ({Orders.y."2") 10. The first parameter must be a string containing the barcode data. data enclosed in quotation marks. Now click on the Save and Close icon to return to the Field Explorer and the formula named by you will be present in the list. . This can be a literal string (ie. Double click on the required version of the ToText function and this will be copied to the first parameter position of the DLQRbars function... If a required data field contains text data just double click on the field name in the list of Report Fields.Order ID}. ie. eg. and click on the Font tab in the displayed dialog box. If field data is to be used it must be text data . Within the EXC mode there are several submodes: Binary/ASCII Plus mode . There are 900 different patterns (codewords) which may be incorporated into a PDF417 symbol. mode shifts and new lines/paragraphs reduce these value.95 digits per codeword. This mode allows encoding approximately 1.allows encoding of a string of digits with a density of approximately 2. PDF417 may include extensive error-correction enabling data to be recovered from a symbol that has been damaged or corrupted. dLSoft 2D-Barcode Fonts 2D-Barcode Fonts  41 . so that the data codewords may be reconstructed even if some are defaced or misread. Numeric mode . Encoding Modes EXC (Extended Alphanumeric Compaction mode) . The maximum capacity of PDF417 symbols is approximately as follows: Numeric mode – maximum capacity 2700 digits* Alphanumeric text – maximum capacity 1800 characters* Byte values – maximum capacity 1100 bytes *Note that capital letters.szIn is the string containing the data text for the barcode szCode is a string version of the CodeType parameter szMode is a string version of the mode parameter szLevel is a string version of the QR Code security level PDF417 barcodes PDF417 (Portable Data File 417) is a stacked barcode symbology capable of encoding over a kilobyte of data in a symbol. and several modes available for encoding. Recommended where more than 13 digits are to be encoded.allows encoding of 256 international characters including the full ASCII set plus any 8-bit value in the range 0 . Security level One of PDF417’s most valuable features is its ability to allow correction of errors.2 bytes per codeword and so is considerable less efficient than EXC mode.allows encoding of all printable ASCII characters into about 2 characters per codeword. Numeric mode symbols may not contain non-numeric characters. punctuation. This ability is provided by the inclusion of additional codewords within the symbol.255. and therefore in several different height to width ratios. thin barcodes read more reliably than short. each specifying the number of data columns (1 – 4). which may be 1 – 4. and Byte to allow for the first 127 ASCII characters but with a reduced level of efficiency. Text is for general text. The industry standard Macro sequences [)>{RS}05{GS} and [)>{RS}06{GS} are supported (where {RS} represents ASCII 30 and {GS} is ASCII 29). In general tall.The number of damaged codewords (Nmax) which may be recovered depends on the security level (which in turn determines the number of additional characters included in the symbol) Security level 0 1 2 3 4 5 6 7 8 Nmax 0 2 6 14 30 62 126 154 510 Aspect ratio PDF417 symbols may be reproduced with different number of codewords per row. Micro PDF 417 MicroPDF417 is a multi-row symbology based on PDF417 designed for applications requiring a greater area efficiency but lower data capacity than PDF417. Byte and Numeric compaction. Numeric for encoding data consisting only of digits. although there may be restrictions applied by the type of barcode scanner employed. String converted to 42  2D-Barcode Fonts dLSoft 2D-Barcode Fonts . each size including a fixed level of error correction. The following character translations are made when the value of the mode parameter is increase by 8. wide symbols.93 data characters per codeword) The Level parameter for MicroPDF barcodes set the number of data columns within the barcode. The user may select either target ratio (as the height to width ratio) or the required number of codewords per row. Within each symbol width a variable number of rows provide for a maximum data capacity of: Text compaction mode 0: 250 characters (2 data characters per codeword) Byte compaction mode 1: 150 characters (1.2 data characters per codeword) Numeric compaction mode 2: 366 characters (2. MicroPDF417 provides for three encoding modes: Text. Four symbol widths are permitted. A specific and limited set of symbol sizes is available. Appended symbols are not supported at this time. z to represent 64 combinations of 6 bars and spaces as shown in the font table at the end of this document.DLL – 64 bit Unicode version dLSoft 2D-Barcode Fonts 2D-Barcode Fonts  43 . arranged as a 6 bit binary number. The PDF font The PDF417 font system includes TrueType and PostScript fonts for creating PDF barcodes by printing characters to generate bars and spaces. where a 1 is a bar and a 0 is a space. PDF barcodes are made up of bars and spaces that may be 1 to 8 units wide. The PDFDF DLL To convert a string of characters into the bars and spaces required for the barcode requires converting the character string into another string – made up of only the characters present in the PDF font. The dLSoft PDF fonts uses the characters 0 (zero) . The dLSoft PDF fonts are provided in four element height/width ratios: Font name PD2x PD3x PD4x PD5x element height/width ratio 2:1 3:1 4:1 5:1 The dLSoft fonts are also provided in different weights.DLL – 64 bit ANSI version PDFDF64U. Font name PDnW PDnR PDnN weight full size 8% width reduction 16% width reduction Users should determine which font weight is suitable for their printer by testing each font weight.{ET} {FS} {GS} {RS} ASCII 4 ASCII 28 ASCII 29 ASCII 30 Appended symbols are not supported at this time.DLL – 32 bit ANSI version PDFDFU. to allow for ink spread during wet ink printing and the line broadening found in several printers designed for use with personal computers.DLL – 32 bit Unicode version PDFDF64. PDFDF. These functions may be called from Visual Basic (including Visual Basic for Applications in Microsoft Office). For PDF417 values less than 3 are ignored. level – a pointer to an integer specifying the security level of the barcode generated. then the string is assumed to be a null-terminated ASCII string. While passed as a text string. start – a pointer to an integer specifying the mode in which the barcode starts. C++ Builder. Start parameter 0 1 2 3 4 5 Start mode EXC Alpha EXC Lower EXC Mixed EXC Punctuation. The allowed values are shown below. (ie.The DLLs provide three function calls which can either return the required string. Visual C++. The functions are called with parameters that specify the options available for the barcode: Code – a pointer to an integer that specifies the barcode type: Code parameter 0 1 2 Symbol type PDF417 barcodes MicroPDF barcodes Truncated PDF417 szIn – is a pointer to a string containing the bytes used as data to create the barcode. the string can contain non-text bytes (including ASCII 0) provided that the length parameter (n) is used to specify the length of the data. flags – may be used in the Unicode versions to force encoding the data as Unicode by setting bit 7 to 1. Allowed values are 0 – 100. If n is 0. For MicroPDF only values 1 – 4 are permitted. Delphi. n – a pointer to an integer which is either 0 or specified the length of the data in szIn. copy it to the clipboard. and in fact virtually any language that can make DLL calls. 128). Otherwise this value should be 0. columns – a pointer to an integer which specifies the number of codeword columns in the barcode pattern generated. or save it to a named disk file. Visual Foxpro. Binary/ASCII Plus Numeric mode For MicroPDF barcodes the Start parameter (or Compaction mode) may be Start Parameter 0 1 2 Start Mode Text compaction Byte compaction Numeric compaction Pdfdf Function calls The available function calls are: 44  2D-Barcode Fonts dLSoft 2D-Barcode Fonts . Allowed values are shown in the table above. ByRef st As Long.Bar2Dpdc(). columns – a pointer to an integer which specifies the number of codeword columns in the barcode pattern generated. flags – may be used in the Unicode versions to force encoding the data as Unicode by setting bit 7 to 1. level is the security level. Declared for C as int WINAPI Bar2Dpdd(LPSTR szIn. ByVal szIn As String. (ie. LPSTR szOut).LPINT n. ByVal szIn As String. szIn is a pointer to a string containing the text which is to be converted into the barcode. For PDF417 values less than 3 are ignored. LPINT start). LPINT level. Basic Declaration (VB6 & VBA) Private Declare Function Bar2Dpdf Lib "pdfdf" (ByRef cd As Long. For MicroPDF only values 1 – 4 are permitted. where code is a pointer to an integer that holds the codetype either 0 (for PDF417 barcodes). Basic Declaration (VB6 & VBA) Private Declare Function Bar2Dpdc Lib "pdfdf" (ByRef cd As Long. ByRef n As Long. dLSoft 2D-Barcode Fonts 2D-Barcode Fonts  45 . or Bar2Dpdw(). LPSTR szOut). For PDF417 values less than 3 are ignored. LPINT level. 128). ByRef szOut As String) As Long Bar2Dpdc () . ByRef flg As Long.ByRef ap As Long. LPINT columns. n is the number of characters in the string (or 0 – in which case the string may not contain NULL characters). (ie. Allowed values are 0 – 100. ByRef lv As Long. 128). 1 (for MicroPDF barcodes) or 2 (for Truncated PDF417). LPSTR szIn. LPINT flags.creates text for PDF font and copies to the Windows clipboard Declared for C as int WINAPI Bar2Dpdc(LPINT code.creates text for PDF font and returns text in szOut Declared for C as int WINAPI Bar2Dpdf(LPINT code. 1 (for MicroPDF barcodes) or 2 (for Truncated PDF417). ByRef n As Long. Otherwise this value should be 0.Bar2Dpdf () . ByRef lv As Long. Otherwise this value should be 0. start is the mode in which the barcode should start (normally 0).LPINT n. level is the security level. Allowed values are 0 – 100. szIn is a pointer to a string containing the text which is to be converted into the barcode. ByRef st As Long) As Long Bar2Dpdd () . ByRef flg As Long. where code is a pointer to an integer that holds the codetype either 0 (for PDF417 barcodes). columns – a pointer to an integer which specifies the number of codeword columns in the barcode pattern generated. LPINT start. flags – may be used in the Unicode versions to force encoding the data as Unicode by setting bit 7 to 1. n is the number of characters in the string (or 0 – in which case the string may not contain NULL characters). For MicroPDF only values 1 – 4 are permitted. and start is the mode in which the barcode should start (normally 0). ByRef ap As Long. LPINT flags.decodes text strings previously encoded using Bar2Dpdf(). LPSTR szIn. and szOut is a pointer to a string which will receive the characters to be rendered in the PDF font. LPINT columns. The module’s icon will appear in the 46  2D-Barcode Fonts dLSoft 2D-Barcode Fonts . and szFilename is a pointer to a string which contains the full pathname of a file to receive the string of characters which represent the barcode when rendered in the PDF font. ByRef szOut As String) As Long Bar2Dpdw () . or -1 in the event of a file creation error. Otherwise this value should be 0. Placing the PDF417 control on a form Visual Basic To add the control to a Visual Basic project select Components from the Project menu.where szIn is a pointer to a string containing the barcode which is to be decoded.LPINT n. ByRef ap As Long. 128). columns – a pointer to an integer which specifies the number of codeword columns in the barcode pattern generated. szIn is a pointer to a string containing the text which is to be converted into the barcode. LPINT level. either via programming. such as Visual Basic. ByRef flg As Long. szOut is a pointer to a string that will receive the decoded output. ThePDFOCX control may be placed on a form in most applications which support Active-X controls. LPSTR szFilename). LPINT flags. where code is a pointer to an integer that holds the codetype either 0 (for PDF417 barcodes). ByRef st As Long. LPINT start. which is 0 in the event of a barcode creation error. Microsoft Access. Allowed values are 0 – 100. LPSTR szIn. or by setting the properties in the control’s property pages. level is the security level. The call returns the number of bytes written to file. (ie. then select PDFOCX Active-X Control module from the list of controls displayed and push the OK button. ByRef n As Long. The PDF417 barcode properties may be specified through a series of Properties. For PDF417 values less than 3 are ignored. n is the number of characters in the string (or 0 – in which case the string may not contain NULL characters). ByRef lv As Long. Basic Declaration (VB6 & VBA) Private Declare Function Bar2Dpdd Lib "aztdf" (ByVal szIn As String. flags – may be used in the Unicode versions to force encoding the data as Unicode by setting bit 7 to 1. start is the mode in which the barcode should start (normally 0). Basic Declaration (VB6 & VBA) Private Declare Function Bar2Dpdw Lib "pdfdf" (ByRef cd As Long. LPINT columns.creates text for PDF font and writes to file szFilename Declared for C as int WINAPI Bar2Dpdw(LPINT code. ByRef szFilename As String) As Long The PDF417 control The PDFOCX control is an Active-X control which simplifies the use of barcodes in Active-X containers such as Visual Basic and MS Access. For MicroPDF only values 1 – 4 are permitted. 1 (for MicroPDF barcodes) or 2 (for Truncated PDF417). ByVal szIn As String. etc. Access To add the control to an Access Form or Report. eg.NET Toolbox by right clicking on the Toolbox and selecting Add/Remove Items (or Choose Items for VS 2005) from the pop-up menu displayed. To provide data which includes non-printable characters the Caption property should be set via programming. General Property page This permits the setting of the barcode’s type and encoding mode. 1. The control may then be added to a form by clicking on the control’s icon and then drawing a rectangle for the control on the required form. and allows the control to be set to resize itself each time it is drawn. selection of the control will show the available properties in Visual Basic’s properties window. etc. If the control is to be hidden. In general barcodes should be produced with a black foreground and a white background color. Once added to a form. then the size is irrelevant. It is useful only for displayable characters. Draw a rectangle for the control on the from or report. If the control is to be visible then the area allowed should be large enough to hold the largest barcode required.Toolbox. VB. open the form or report in Design view and ensure that the Toolbox is visible (its on the View menu). PDF417 Property pages The control also has its own property pages which may be accessed by right-clicking on the control and selecting Properties from the displayed menu. The font should be set by right-clicking on the control and choosing the Pdfocx control properties from the displayed menu. selection of the control will show the available properties in Access’s properties window.0 or 0. Note that unlike the DLL the columns value specified on the property pages is the real (floating point) value. then checking the control in the list presented. Select the “More controls” icon on the Toolbox and then select the PDFOCX Active-X Control module from the list of controls displayed.5. dLSoft 2D-Barcode Fonts 2D-Barcode Fonts  47 . The PDF417 Control Properties The control has the following properties which may be set in the property pages or programmatically with Visual Basic.NET and C# The control may be added to the Visual Studio. Data Property page The edit box on this page shows the data currently being used to generate the barcode image. Font Property page This page allows the user to select the barcode font and font size used to generate the barcode. The control will then appear as an icon on the Toolbox. Colors Property page This page allows the user to specify the foreground (the bars) and background color of the barcode generated. Once added to a form or report. aspect ratio and security level properties. set_Serial("12345"). in which case the length of the data string in the Caption property is determined automatically. Main properties and methods are shown below.NET component features section PDF417. BackColor: (Colorref) the background color CapLength: (integer) normally 0. Caption: (BSTR) the data which will be converted into a barcode Columns: (Real. etc. Only the low-order byte of each character is used. Note that this string may be much larger than the Caption string. e.NET Properties ByteNumber Type: integer Default: 0 Allowed values: 0 – barcode byte capacity When ByteValue is greater than 0 the Caption string (which is a Unicode string) is unpacked into 8-bit ASCII characters before the data is used to generate the barcode – ie. Width.NET Managed Component Developer versions require the developer’s serial number to be passed to the component using the Serial property before the Barcode() method is called. When ByteNumber is 0 the Caption string is converted to bytes according to the length of each character in the string.Serial="12345". (see also Flag) 48  2D-Barcode Fonts dLSoft 2D-Barcode Fonts . Single precision) the number of dataword columns in the displayed barcode. others are listed in the Common . Height. The Serial property should be set to the serial number provided for your product.CodeType: (integer) 0 for PDF417. produce the barcode. or 2 for Truncated PDF.Serial="12345" for VB pdfnet1. Flags: (integer) if bit 7 is set (ie 128) the data is encoded as Unicode. Pdfnet1. such as Visible. In addition the control supports the normal Active-X properties. Output: (CString) the characters which when displayed in the correct font. for C# pdfnet1. AutoSize: (Boolean) if non-zero causes the control to resize itself to contain the barcode. Errorcode: (integer) a non-zero value is returned if the data supplied in the Caption property can be converted into a valid barcode. Font: (Font) the font in which the Output characters will be displayed ForeColor: (Colorref) the color of the bars in the barcode SecurityLevel: (integer) the security level for the generated barcode (see the DLL above for a description) StartMode: (integer) the mode used to generate the barcode (see the DLL above for a description). PDF417 . If non-zero it is taken to be the number of characters in the Caption property to be used as data. 1 for MicroPDF barcodes. for J# Use of an incorrect serial number will result in randomly scrambled symbols.g. otherwise as ANSI. Flag Type: Boolean Default: false Allowed values: true or false When Flag is set to true the Caption data is treated as a Unicode string and converted to a byte stream.Caption Type: string Default: "0123456789" Allowed values: Any text string. StartMode Type: integer Default: 0 Allowed values: For PDF417 symbols: dLSoft 2D-Barcode Fonts 2D-Barcode Fonts  49 . An Illegal character in the text string will cause an Error value to be set.Truncated CodeTypeValue Type: integer Default: 0 Allowed values: 0 ( for PDF417) or 1 (for MicroPDF) or 2 (for Truncated) The barcode type can be set using either the CodeType property or the CodeTypeValue property Columns Type: integer Default: 3 Allowed values: 3 – 12 Specifies the number of Data codeword columns in a PDF417 symbol (ie. Note: This does NOT apply to MicroPDF symbols. bCode. Note: only text strings recognised as valid barcodes will result in a barcode picture.PDF417. who shape is determined by the security level. When Flag is false the Caption data is handled as described for the ByteNumber property. CodeType Type: bCode enumeration member Default: bCode. NOT including the columns of start and stop bars).MicroPDF or bCode.PDF417 Allowed values: bCode. when displayed in the PDxx font will form the barcode symbol. PDF417. so the information properties are not set until this method has been called.Start parameter 0 1 2 3 4 5 Start mode EXC Alpha EXC Lower EXC Mixed EXC Punctuation. BarDecode(string bc) Return Type: string This method returns a string decoded from the barcode passed as parameter bc. Binary/ASCII Plus Numeric mode For MicroPDF barcodes the StartMode parameter (or Compaction mode) may be Start Parameter 0 1 2 Start Mode Text compaction Byte compaction Numeric compaction SecurityLevel Type: integer Default: 0 Allowed values: 0 . 1 – 4 for MicroPDF. Note that the barcode symbol is determined only when this method is called. 50  2D-Barcode Fonts dLSoft 2D-Barcode Fonts . Note that bc is a barcode created by the Barcode() method.8. for PDF417.NET Methods Barcode() Return Type: string This method causes a barcode to be created as a sequence of character that. eg.drawString(pd1.getNStrings(). and each line of the barcode returned using getBarcodeString(i).getBarcodeString(i).x. Details of the other properties and methods implemented in the java class are given in the Common Java class Features section The PDF417 UFL for Crystal Reports While a UFL for Crystal Reports is included with the kit.e not including the start and stop bar columns) desired in the symbol. when displayed in one of the PDxx fonts form a PDF417 or MicroPDF symbol. and the required properties set using the setCodeType().(y+i*ht)). The Crystal Reports UFL (User Function Library . The class is instantiated with the new command: dFontPDF pd1=new dFontPDF().The dFontPDF Java class The dFontPDF Java class may be used to return strings that contain rows of characters that. The class may be used directly or through the dFontPDF. but if you are using an older version you may need dLSoft 2D-Barcode Fonts 2D-Barcode Fonts  51 .U2LPDFDF. The data is supplied to the class using the setCaption() methods and the update) method called to generated the barcode characters. Most modern versions of Crystal can access the UFL from the Windows\System32 directory. setColumns(). limitations of the Crystal Reports formula model require that larger barcodes should be stored in the underlying database rather than generated through a formula. and the associated sample files are placed in the installation directory of your Barcode Font kit. setModeType() and setLevel() methods.DLL) is installed into the Windows\System32 directory. i<n. for (i=0. //g is output graphics – screen or printer // ht is the chose font height in points //x and y are the top left coordinated required for the symbol n=pd1. } CodeType property Type: integer Default: Allowed values: Barcode PDF417 MicroPDF417 CodeType 0 1 0 Columns property Type: integer Default: 3 Allowed values: 3 . The number of rows of characters in the resulting barcode may be obtained from the getNStrings() method. i++) { g.jar provided.12 This property specifies the number of data codeword columns (i. Open the report in Design view 2. Creating a barcode on a report To create your own barcode on a report follow the steps below: 1. and the barcode will then display correctly.) The "Order Packing ListPd. 52  2D-Barcode Fonts dLSoft 2D-Barcode Fonts . the third parameter is an integer that specifies the security level. such as "12345678").0\bin for CR 9. Also the report displays barcodes using the PD3W font. Either hold down the Control key and press N. ensure that the item becomes highlighted. Enter a name for the formula .to copy it to a directory where Crystal can find it.) 8. the function then appears in the formula box below the lists.then push the OK button. or \Program Files\Common Files\Crystal Decisions\2. Typically this will be the directory holding the Crystal Reports executable file (CRW32. Consequently only relatively small PDF417 barcodes (70 characters maximum) may be generated using this UFL. The Formula Editor appears. but an inherent feature of Crystal Reports. A barcode is included on the report with its data taken from the Order ID filed of the data. Switching the report to Design view. Select Field Object from the Insert menu 3.. This can be a literal string (ie. If field data is to be used it must be text data . then either double click on it or press the Enter key. and the final parameter (normally 0) can be used to specify start mode. Right-clicking on the barcode and selecting Edit Field Object from the drop-down menu displays the Function (DLPdfbars) and parameters used to generate the barcode. and the cursor in the position of the first parameter. It is important to note that Crystal Reports sets a limit on the number of characters that can be displayed from a formula.so if the required field actually contains numeric data this must be converted into text data. DLPdbars (. or select the New icon in the toolbar.. (You can change the barcode font to one you have installed as described below. 7. Select the Formula Fields item in the dialog box. c:\Program Files\Seagate Software\Crystal Reports for CR 8. If a required data field contains text data just double click on the field name in the list of Report Fields. the second parameter is an integer that specifies the Aspect ratio (times 10).otherwise the barcodes will continue to be scrambled.. 5. Note that if you add barcode to reports using the Testware version and subsequently upgrade to the full version. This is a modified version of the "Order Packing List. 6.exe). the expand this item by click on the + symbol alongside the Additional Items name. and the field name enclosed in curly brackets will be copied to the function's first parameter position. Running the sample The sample report included with the kit is "Order Packing ListPd. Select the DLPdfbars function from the list.rpt" report included with the Crystal Reports Xtreme Mountain Bike Inc samples. you must delete the function and recreate it . This is not a limitation of the dLSoft PDF417 barcode font. eg. complete with its parameter brackets and commas. 4. ie. or field data. The first parameter is the barcode data (a string).but a collection of characters. The first parameter must be a string containing the barcode data. data enclosed in quotation marks.such as barcode1 . If you do not have the samples installed on your system then the modified sample report will not work and you should skip to the section "Creating a barcode on a report" below. From the list of Functions (normally the middle list) scroll down to the Additional Functions item.rpt" which will be found in the crystal subdirectory of the kits installation directory.rpt" sample may be run on a machine that contains a full Crystal Reports installation just by double clicking on the report file. if you have not installed that font the report will not display a barcode . .) and fill in the other two ToText parameters with a 0 (the number of decimal places) and a NULL character (two single quotes) respectively. otherwise the barcodes won't scan.. Finally select the barcode object.Order ID}.) If a required field contains numerical data then expand the Strings item in the list of functions and the expand the ToText function. then the barcode will change as you navigate around the record source. y represent the number of decimal places (typically 0) and z is a character used to separate thousands from hundreds etc (which unfortunately defaults to a comma and is generally not wanted in a barcode).. szCodeType..0 . szStartMode) where szIn is the string containing the data text for the barcode dLSoft 2D-Barcode Fonts 2D-Barcode Fonts  53 . ). DLPdfbars (ToText (. font you require and select a suitable size (typically 4 . Double click on the required version of the ToText function and this will be copied to the first parameter position of the DLPdfbars function. DLPdfbars (ToText ({Orders.which will usually be ToText(x. level and startmode parameters (see above for a complete list of these).z) where the x represent the number to be used as data.. each enclosed in quotation marks. To make changes to the barcode formula Open the report in Design view. right click on it. eg. 12 Return to the report's Preview display and you should have a perfect barcode. 11.. or 0 for automatic).Order ID}.) 9."0".. Now complete the other four DLPdfbars parameters with the Code type (0 for PDF417. the barcode) where you want it on the report. ie. Columns (to specify the number of codeword columns in the symbol. If you are using data from a database as the data source for the barcode..'' ). Then click on OK.DLPdfbars ({@address1&2}.y. Note that invalid barcodes will not be visible. and click on the Font tab in the displayed dialog box. ."0". 1 for MicroPDF)."0") 10.0 . Follow the procedure above to replace the formula."0".. From the list of fonts presented select the PD.. with the cursor now placed in the first parameter position of the ToText function.. ).Order ID}. Double-click on the formula name the move the cursor to locate the object (ie. szLevel. right click on the barcode (or its' empty box) and select Edit Field Object from the drop down menu. choose Format Field from the drop down menu.) Now double click on the required data source field in the list of Report fields.8 point). DLPdfbars (ToText ({Orders. szColumns. The character spacing must be left at 0... ie.''). PDF417 Function parameters The function is DLPdfbars(szIn. Now select the required function .. Now click on the Save and Close icon to return to the Field Explorer and the formula named by you will be present in the list. DLPdfbars (ToText ({Orders. eg. PDF417 and QR Code kits. XX = DM PDF417 DLLs. Applies to all font kits. XX = DB Datamatrix DLLs. "0" szColumns is a string version of the Columns parameter. Applies to Aztec. XX = QR ErrorMessXX() The ErrorMessXX() function call to the DLL is declared in C as Int WINAPI ErrorMessXX(LPINT errorcode.szCodeType is a string version of the codetype parameter. Calls to EnumModeXX return the value of mode if the mode exists. and is the desired number of codeword columns for the symbol. XX = PD QRCode DLLs. Datamatrix. Applies to all font kits. Aztec DLLs. LPSTR modename) And is use to obtain in mode the text string corresponding to the mode value pointed to by mode. eg. or -1 otherwise. EnumModeXX() The EnumModeXX() function call to the DLL is declared in C as Int WINAPI EnumModeXX(LPINT mode. MaxLevelXX() The MaxLevelXX() function call to the DLL is declared in C as Int WINAPI MaxLevelXX(LPINT mode) And returns the maximum value of the sercurity level that may be used with the specified mode. "0" szStartMode is a string version of the mode parameter eg. 54  2D-Barcode Fonts dLSoft 2D-Barcode Fonts . szLevel is a string version of the PDF417 security level eg. 0 for PDF417 or 1 for MicroPDF. Note that the buffer pointed to by modename must be declared as at least 36 characters (ie TCHAR errortext[36]) to received the error messages. The XX in the call name is different for each kit as shown below to avoid problems when more than one DLL is used within an application. LPSTR errortext) And is use to obtain in errortext the text string corresponding to the error code pointed to by errorcode. or -1 if the mode does not exist. Note that the buffer pointed to by errortext must be declared as at least 36 characters (ie TCHAR errortext[36]) to received the error messages. XX = AZ Databar DLLs. "0" Common DLL features The following calls is common to several font kit DLLs. The component appears as an icon on the ToolBox Components pane. The first to be added will be called Aztnet1.Caption="123456789" Abcnet1.NET component icon from the toolbox onto the form. The component icon appears on the panel below the form – it does NOT appear on the form itself.dll Adding a . Now push the OK button. Push the Browse button and navigate to the location where you have installed or copied your .Caption="123456789". the second Aztnet2.dll Dmfnet.NET component to a project. including your 2D-font. display the ToolBox and select the Components tab. Aztnet. and these values will be used as defaults unless properties are changed programmatically within your project.NET Components in Visual Studio.dll Pdfnet. A single Form may contain any number of .NET name Aztnet Dmfnet Qrcnet Pdfnet DLL Aztnet. Right click on the Components pane and select Add/Remove Items. from the pop-up menu displayed. Most of these may be edited using the Properties box.NET Components.NET QR Code Font. with one of the following class names alongside: Component Aztec Font Kit..NET Component to the ToolBox To add a 2D-Font kit Component to the Visual Studio ToolBox.g. The properties panel also displays all other settable properties for the component.NET PDF417 Font.NET component features Using .Common . and so on.NET Datamatrix Font.dll). Then push the Open button.dll Qrcnet. or may have their values set from within the user's program by statements of the kind Aztnet1. The instance of the component will be given a default name (eg Aztnet1) which appears in the properties panel when the component is selected. The list of installed components is now displayed. Setting and retrieving property values programmatically The . A dialog box is displayed listing the currently installed components.NET . Clicking on the Barcode Component in the panel under the form when Visual Studio's Properties box is displayed will show the current settings for component's available properties.NET Adding a . Ensure that the checkbox alongside the component name is checked.NET Framework Components page is displayed.NET Components may be operated entirely by setting or retrieving Property values programmatically.NET component. Ensure that the .NET component and select the DLL (e. Visual Basic C# dLSoft 2D-Barcode Fonts 2D-Barcode Fonts  55 . the names may be changed by the user by modifying the Name property within the Properties box. With a project's form open in design mode drag the . } C# private void DoBarcode() { aztnet1. textBox1. textBox1.Abcnet1.Barcode() End Sub private void DoBarcode() { aztnet1.Caption="123456789". x=Aztnet1.PrintPageEventArgs) Handles PrintDocument1.Error. However.Drawing.set_Caption("123456789").set_Text(aztnet1. For example: Private Sub DoBarcode() Visual Basic Abcnet1.Barcode()). } Printing a barcode Printing the text returned by the Barcode() call may be accomplished by any of the printing techniques available for Visual Studio.PrintPage Dim br As Brush 56  2D-Barcode Fonts dLSoft 2D-Barcode Fonts . This displays all settable properties in a convenient form and enables changes to be made by selecting from drop-down lists or entering values into edit boxes. AZTW or PD3W). and in the example provided with the components: Visual Basic Private Sub PrintDocument1_PrintPage(ByVal sender As System. Displaying a barcode on a form To display a barcode on a form a TextBox is used to hold the characters and the Font property of the TextBox set to a suitable size of the relevant font (eg.Texte=Aztnet1.Caption="123456789 TextBox1.get_Error() Visual Basic C# J# Setting properties through the Barcode properties dialog box Using the Method Properties() causes the Barcode properties dialog to be displayed. ByVal e As System.set_Caption("123456789").Barcode(). probably the most useful approach is to use the DrawString() method in a PrintPage handler as illustrated below.NET project. J# The Component properties that are set AFTER a barcode has been created may be retrieved within user's programs by statements of the kind: x=Aztnet1.Object.Error x=Aztnet1.Printing.Text=aztnet1. equivalent to 300 units per inch). e. br. Developer versions require the developer’s serial number to be passed to the component using the Serial property before the Barcode() method is called. 8.Regular) br = New SolidBrush(Color.DrawString(Aztnet1. The error codes and corresponding Status property values are shown below: Status Type: string Returns a string interpreting the value of the Error property.HasMorePages = False End Sub While the PageUnit setting can be any of the allowed values.Serial="12345" for VB aztnet1. FontStyle.Black) e. ff.Document ' e. Otherwise returns 0.set_Serial("12345"). so the information properties are not available until this method has been called.NET components to be distributed up to a maximum distribution of 10.barcode().Serial="12345". The Serial property should be set to the serial number provided for your product. Error Type: integer Returns a value representing the error code if a valid barcode image cannot be created. Single computer version of the components are licensed for use only on a single computer. Read only. 300.Dim ff As New Font(“AZTW”.NET components will behave as Testware versions (generating scrambled barcode and pattern strings) unless correctly licensed. e. for C# aztnet1. The error codes and corresponding Status property values are shown below: Error 0 1 2 Status OK Illegal character in data Wrong data length dLSoft 2D-Barcode Fonts 2D-Barcode Fonts  57 . Licensing the component The .0F) ' Indicate that this is the last page to print. Do not set this property. Developer versions permit applications built with the.Graphics. for J# .0F. 100.000 copies.PageUnit = GraphicsUnit.Graphics. the example above uses the highest resolution setting (Document.NET Information properties Note that the barcode symbol is determined only when this Barcode() method is called.g. Aztnet1. Note that the barcode symbol is determined only when this method is called. Do not set this property. Returns TRUE if the user exits the dialog by pushing the OK button and sets all component properties to those specified in the dialog. A string containing a pattern of digit characters which represent the bars and spaces in the barcode Read only. The pattern string returned for an Aztec. when displayed in the AZTx font will form the barcode symbol. . Each row is separated by a newline (\n or CHR(10)) characters. Returns FALSE if the user exits the dialog by pushing the Cancel button. Datamatrix or QR Code symbol consists of the sequence of characters used to create the symbol. arranged by row. Do not set this property. Bar height is at the user’s choice. so the information properties are not set until this method has been called.3 9 Error in barcode data Other error Read only. Each row is separated by a newline (\n or CHR(10)) characters. Pattern Type: String Returns: symbol. arranged by row. Properties() Return Type: BOOL Displays the Barcode properties dialog for the component. with a ‘1’ for a black square and a ‘0’ for a white square. The pattern string returned for a PDF417 symbol consists of the sequence of digits used to represent the thickness of bars and spaces alternately in the symbol (starting with the first bar).NET Component Methods Barcode() Return Type: string This method causes a barcode to be created as a string of characters that. BarSave() Int BarSave(LPSTR filename) 58  2D-Barcode Fonts dLSoft 2D-Barcode Fonts . Common Control Methods The following methods are common to all font kit OCX controls. where the code parameter contains 0 for PDF417 barcodes or 1 for Micro PDF barcodes. Int GetMaxLevel(LINT code. Aztec in Normal mode can have 99 levels. but in Compact mode has only 4.txt” BarSave(Ff$) BarCopy() Int BarCopy(void) Copies the barcode text to the Windows clipboard. Filename must be the fully qualified file name. LPINT mode) for the PDF font kit. so this method may be used for enumerating the available modes. VB Example: Ff$=”C:\test. or 0 if an error occurs.Causes the control to save the barcode characters into a text file. Returns the number of security levels valid for the mode. for example: For i = 0 To 10 x$ = Aztocx1. DataMatrix barcodes have the mode name “Square” for mode=0 and “Rectangular” for mode=1. pasted text will need to be set into the appropriate font before a barcode will be seen. LPINT mode) for the PDF font kit.AddItem (x$) Else Exit For End If Next GetMaxLevel() Int GetMaxLevel(LPINT mode) for Aztec and DataMatrix font kits. BSTR GetModeName(LPINT code.GetModeName(i) If (Len(x$) > 0) Then Combomode. For example. The methods returns the number of bytes saved in the file. Return the name of 2D mode for the barcode type. from where it may be pasted into other applications. Note that only the text is copied.TXT extension – such as that available from the Windows SaveDialog control. For example. complete with . An invalid value in mode will return an empty string. VB Example BarCopy() GetModeName() BSTR GetModeName(LPINT mode) for Aztec and DataMatrix font kits. VB Example dLSoft 2D-Barcode Fonts 2D-Barcode Fonts  59 . where the code parameter contains 0 for PDF417 barcodes or 1 for Micro PDF barcodes. Java properties ByteNumber Type: int Default: 0 If this property is greater than 0 then the Caption string is transferred to a byte array and the ByteNumber of bytes in the array is used as the barcode data. CodeType Type: integer Default: 0 Allowed values: 0. by using the setParam() method with the appropriate property name as a parameter. or. This permits an array of bytes to be used as data by constructing the Caption string from a know length byte array using String(byte[] bytes). or setParam(“CODETYPE”. For example. Note: the setSerial() method must be used to pass the developer’s serial number to the class BEFORE any barcodes are generated. except for dFontPDF.Errorcode) Common Java class features Each dFontXX java classes provide methods for determining the barcode features supported and for setting barcode characteristics and retrieving the barcode strings. So a string variable may be filled with the error message using X$=Uniocx1. Without a correct serial number the class will generated randomly scrambled barcodes. where the allowed values are: Barcode CodeType 60  2D-Barcode Fonts dLSoft 2D-Barcode Fonts .class. the CodeType property may be set to 0 using setCodeType(0).Mode=0 N=GetMaxLevel(Mode) GetError() BSTR GetError(LPINT errorcode) The GetError(Errorcode) method returns the text (a BSTR string) of the error message corresponding to the Errorcode value.GetError(Uniocx. as commonly done in applets. All properties may be set using methods of the form setProperty(parameter).”0”). they do provide additional functions for a limited number of specific barcode types. when true this flag causes data to have the following character patterns translated into low ASCII codes: String {ET} {FS} {GS} {RS} converted to ASCII 4 ASCII 28 ASCII 29 ASCII 30 These translations are useful because Micro PDF417 supports the industry macro sequences [)>{RS}05{GS} and [)>{RS}06{GS} (where {RS} represents ASCII 30 and {GS} is ASCII 29). However. However. See Barcodes Help for details. Flag1 Type: Boolean Default false These additional properties are not normally used. For Aztec barcodes this flag is used for the Aztec Menu setting. See Barcodes Help for details. For MicroPDF417. Flag2 Type: Boolean Default false These additional properties are not normally used.PDF417 MicroPDF417 0 1 Columns Type: integer Default: 0 (value ignored) Allowed values: For Datamatrix symbols the number of columns in the symbol (10 – 144). Level Type: int Default: 0 dLSoft 2D-Barcode Fonts 2D-Barcode Fonts  61 . For Aztec barcodes this flag is used for the Aztec Flag setting. For Datamatrix symbols this flag is used to turn on GS1 encoding. For PDF417 symbols the number of codeword columns in the symbol (3 – 12). they do provide additional functions for a limited number of specific barcode types. The array index is the ModeType. setting this property to true results in the interchange of foreground and background colours for the barcode elements. Do not set this property. ModeType Type: int Default: 0 Most 2D barcodes have several different modes (eg. The Mode names can be obtained by calling the GetAvailableModeNames() method which returns a string array containing the available modes. In most cases the higher the level the greater the area of the symbol used for error-correction codes. Full Range and Rune modes. Information properties from Java classes Error Type: integer Returns a value representing the error code if a valid barcode image cannot be created. Read only. DataMatrix can be Square or Rectangular. Otherwise returns 0. This property provides the Security Level for PDF417 and the number of Layers for Aztec symbols. etc. The error codes and corresponding Status property values are shown below: Status Type: string Returns a string interpreting the value of the Error property. Aztec has Normal. Rvideo Type: Boolean Default: false For Aztec barcodes.). The number of allowed values may be interrogated using the getMaxLevel() method. The error codes and corresponding Status property values are shown below: Error 0 1 2 3 9 Status OK Illegal character in data Wrong data length Error in barcode data Error creating barcode 62  2D-Barcode Fonts dLSoft 2D-Barcode Fonts . Compact. A value of 0 implies “automatic” for many barcode types. Ignored for all other barcode types.Allowed values: depend on barcode type and mode. update() Parameters: none Return type: void Recalculates the barcode based on the current settings of the Caption.Read only. The array index (zero-based) corresponds to the ModeType value. getAvailableModeNames() Parameters: none – except for dFontPDF.class. getMaxLevel() Parameters: none Return type: int Returns the number of values allowed for the Level property setSerial() Parameters: string containing the developer’s serial number Return type: void The setSerial() method must be used to pass the developer’s serial number to the class BEFORE any barcodes are generated. CodeType. The array index (zero-based) corresponds to the CodeType value. Do not set this property. Without a correct serial number the class will generated randomly scrambled barcodes. Users program should check for an error using getError() dLSoft 2D-Barcode Fonts 2D-Barcode Fonts  63 . Java methods getAvailableTypeNames() Parameters: none Return type: String array Returns an array of strings containing the names of the barcode types supported. where the method has a single integer parameter specifying the code type (0 for PDF417 or 1 for MicroPDF) Return type: String array Returns an array of strings containing the names of the barcode modes supported. Mode and Level. Retrieving the barcode getNStrings() Parameters: none Return type: int Returns the number of strings available for the current barcode symbol – this is the number of lines of characters that need to be displayed or printed in the relevant font to form the symbol. The function returns 0 if there is no current barcode or if an error has been encountered while creating the barcode. Note that this can be a large string. getBarcodeString() Parameters: int i Return type: String Returns the string corresponding to row i of the barcode symbol. Error Codes A negative value returned from the Bar2Dxxf() calls indicates one of the following errors: 1 2 3 4 5 6 7 8 9 Invalid data length Invalid code type Invalid parameters Illegal character in data Invalid embedded code Line width too small Font error Error creating image Error creating barcode Font table The characters representing the barcode elements are shown in the following Font table. value 0 1 binary 000000 000001 char 0 1 value 21 22 binary 010101 010110 char E F value 42 43 binary 101010 101011 char Z [ 64  2D-Barcode Fonts dLSoft 2D-Barcode Fonts . with each row of the barcode separated by a newline (\n) character. getBarcode() Parameters: none Return type: String Returns the complete barcode symbol. 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 000010 000011 000100 000101 000110 000111 001000 001001 001010 001011 001100 001101 001110 001111 010000 010001 010010 010011 010100 010101 2 3 4 5 6 7 8 9 : . dLSoft 2D-Barcode Fonts 2D-Barcode Fonts  65 . < = > ? @ A B C D E 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 010111 011000 011001 011010 011011 011100 011101 011110 011111 100000 100001 100010 100011 100100 100101 100110 100111 101000 101001 101010 G H I J K L M N O P Q R S T U V W X Y Z 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 101100 101101 101110 101111 110000 110001 110010 110011 110100 110101 110110 110111 111000 111001 111010 111011 111100 111101 111110 111111 \ ] ^ _ ` a b c d e f g h i j k l m n o Characters < to @ (ANSI 60 – 64) are reproduced at p to t (ANSI 112-116) Characters [ to ‘ (ANSI 91 – 96) are reproduced at u to z (ANSI 117-122) These alternative characters are used by version 3 of our libraries to avoid difficulties with programs that interpret characters such as < and > and ^ as control characters. . NET Methods 18 Datamatrix. 25. 17. 47 Adding a . 49. 25.NET Component Methods 58 . 49 Colors Property page 6. 27. 35. .NET Managed Component 16 DataMatrix barcodes 11 DataMatrix font 12 DataMatrix Property pages 15 Datamatrix. 60 CodeType property 51 CodeTypeValue 8. 17. 38.NET Managed Component 6 Aztec barcodes 2 Aztec Control Properties 6 Aztec Function parameters 11 Aztec Property pages 5 Aztec. 36.NET component to a project. 37.NET Managed Component 26 Databar . 38. 16.NET Properties 7 D Data Property page 6.Index Bar2Dqrd () 34 Bar2Dqrf () 33 Bar2Dqrw () 33 Bar2Drsc () 23 Bar2Drsf () 23 Bar2Drsw () 24 Barcode() 8. 47 Databar .NET Information properties 57 Caption 7. 18. 37. 50 BarSave() 58 ByteNumber 7. 37. 55 Adding a . 18. 35.NET component features 55 Common Control Methods 58 Common DLL features 54 Common Java class features 60 Creating a barcode on a report 52 Creating a Databar barcode on a report 28 Creating a DataMatrix barcode on a report 20 Creating a QR barcode on a report 39 Creating an Aztec barcode on a report 10 2 2D-Barcode fonts 1 A Access 5. 48. 58 BarCopy() 59 BarDecode(string bc) 9. 27. 61 Columns property 51 Common . 17. 50. 49 CodeType 8.NET Methods 27 Databar . 47 Columns 49.NET Properties 26 Databar Control Property pages 25 Datamatrix . 25. 15. 15. 60 C . 26. 35.NET Methods 8 Aztec. 26. 17.NET Component to the ToolBox 55 Aspect ratio 42 AzFlag 7 AzMenu 7 AzRvideo 7 Aztdf Function calls 3 Aztec .NET Properties 17 Dbardf Function calls 23 Displaying a barcode on a form 56 Dmatdf Function calls 13 Dqrdf Function calls 32 B Bar2Dazc () 4 Bar2Dazd () 4 Bar2Dazf () 3 Bar2Dazw () 4 Bar2Ddmc () 13 Bar2Ddmd () 14 Bar2Ddmf () 13 Bar2Ddmw () 14 Bar2Dpdc () 45 Bar2Dpdd () 45 Bar2Dpdf () 45 Bar2Dpdw () 46 Bar2Dqrc () 33 E Encoding Modes 41 EnumModeXX() 54 Error 57. 62 Error Codes 64 ErrorMessXX() 54 dLSoft 2D-Barcode Fonts Index  67 . 39. 47 Font table 64 Function parameters 21. 35. 16.NET Methods 50 PDF417.F Flag 8. 15. 35. 52 Rvideo 62 S Security and Layers 2 Security level 41 SecurityLevel 8.NET Properties 48 Pdfdf Function calls 44 Placing the Aztec control on a form 5 Placing the Databar control on a form 24 68  Index dLSoft 2D-Barcode Fonts .NET Properties 36 G General Property page 6. 17. 28. 19.NET Methods 38 QR.NET Managed Component 36 QR Code barcodes 31 QR Control Property pages 35 QR. 63 GetModeName() 59 getNStrings() 64 GS1 Databar barcodes 21 GS1_Flag 17 R Retrieving the barcode 64 Running the sample 10. 49 Flag1 61 Flag2 61 Font Property page 6. 47 getAvailableModeNames() 63 getAvailableTypeNames() 63 getBarcode() 64 getBarcodeString() 64 GetError() 60 GetMaxLevel() 59. 37. 30. 25. 50 setSerial() 63 Setting and retrieving property values programmatically 55 Setting properties through the Barcode properties dialog box 56 StartMode 8. 27.NET Managed Component 48 PDF417 barcodes 41 PDF417 Function parameters 53 PDF417 Property pages 47 PDF417. 18. 49 Status 57. 25. 27. 37. 40 Placing the Datamatrix control on a form 15 Placing the PDF417 control on a form 46 Placing the QR control on a form 34 Printing a barcode 56 Properties() 58 Q QR Code . 18. 38. 62 I Information properties from Java classes 62 Introduction 1 J Java methods 63 Java properties 60 L Level 61 Licensing the component 57 T The AZTDF DLL 3 The Aztec control 5 The Aztec font 2 The Aztec UFL for Crystal Reports 9 The Databar control 24 The Databar Control Properties 25 The Databar Fonts 22 The Databar UFL for Crystal Reports 28 The Datamatrix control 15 The DataMatrix Control Properties 16 The DataMatrix UFL for Crystal Reports 19 The DBARDF DLL 23 The dFontAZ Java class 9 The dFontDM Java class 18 The dFontPDF Java class 51 The dFontQR Java class 38 The DMATDF DLL 12 The DQRDF DLL 32 The PDF font 43 The PDF417 control 46 The PDF417 Control Properties 47 M MaxLevelXX() 54 Micro PDF 417 42 Micro QR Code 31 ModeType 62 P Pattern 58 PDF417 . 29.NET 55 V VB. 34. 15. 35. 40. 24.The PDF417 UFL for Crystal Reports 51 The PDFDF DLL 43 The QR Code Fonts 31 The QR Code UFL for Crystal Reports 39 The QR control 34 The QR Control Properties 35 To make changes to the barcode formula 21. 25.NET Components in Visual Studio.NET and C# 5. 15. 46 dLSoft 2D-Barcode Fonts Index  69 . 47 Visual Basic 5. 53 U update() 63 Using .
Copyright © 2024 DOKUMEN.SITE Inc.