Integration of Barcodes Fonts With CSharp

SampleFont is a CSharp (.NET 2) project that demonstrates the integration of the ConnectCode DLL with  C# . The source code for SampleFont is provided in the download below and requires Visual Studio 2005 or later to compile. For the barcodes to be properly displayed, the trial version of ConnectCode Barcode Font Pack has to be installed .

The following is a screenshot of the sample in Vista.



Download

Download the SampleFont.zip executable and source code.

The ConnectCode DLL and the source for the SampleFont sample are free to use and can be compiled and distributed with users' applications as long as they are being used with any one of the registered barcode font packs. Redistribution of ConnectCode's fonts will, however, require a Distribution or Unlimited Distribution License.

Steps for integrating the DLL into your C# (.NET 2)  project

1) Make sure the namespace System.Runtime.InteropServices is imported into your project

Using System.Runtime.InteropServices;

2) Copy the DLLImport statements for connectcodefont.dll into your project.

3) Make calls to the DLL to encode the input data. For example

String inputstr;
StringBuilder outputstr = new StringBuilder(2048);
inputstr = "12345678";
Encode_Code39(inputstr, 0, outputstr, outputstr.Capacity);

The result will be stored in the outputstr variable. 

4) Set the font of  outputstr to the appropriate barcode font. For example, if you are using Encode_Code39, then the font to choose should be CCode39_S3. (If you are developing with the Trial version of ConnectCode Font Pack, the font to choose would be CCCode39_S3_Trial instead)


 

The SampleFont sample includes all the above steps in a short and easy to understand program.

Note that the barcodes generated with the Trial version of ConnectCode Font Pack will have horizontal lines across them.


DLLImport Statements for C#

Copy the following block of statements into your C# project to integrate with the DLL. To use DLLImport statements in your project, you will need to import the System.Runtime.InteropServices namespace. 

using System.Runtime.InteropServices;

The connectcodefont.dll file has to be placed in the same folder as the executable for it to load properly. 

 

[DllImport("connectcodefont.dll", EntryPoint = "Encode_Code128Auto")]
public static extern int Encode_Code128Auto(String instr, StringBuilder outstr, int outstrmax);
[DllImport("connectcodefont.dll", EntryPoint = "Encode_Code39")]
public static extern int Encode_Code39(String instr, int checkdigit, StringBuilder outstr, int outstrmax);
[DllImport("connectcodefont.dll", EntryPoint = "Encode_POSTNET")]
public static extern int Encode_POSTNET(String instr, int checkdigit, StringBuilder outstr, int outstrmax);
[DllImport("connectcodefont.dll", EntryPoint = "Encode_Code93")]
public static extern int Encode_Code93(String instr, int checkdigit, StringBuilder outstr, int outstrmax);
[DllImport("connectcodefont.dll", EntryPoint = "Encode_Codabar")]
public static extern int Encode_Codabar(String instr, int checkdigit, StringBuilder outstr, int outstrmax);
[DllImport("connectcodefont.dll", EntryPoint = "Encode_Code39Ascii")]
public static extern int Encode_Code39Ascii(String instr, int checkdigit, StringBuilder outstr, int outstrmax);
[DllImport("connectcodefont.dll", EntryPoint = "Encode_I2of5")]
public static extern int Encode_I2of5(String instr, int checkdigit, StringBuilder outstr, int outstrmax);
[DllImport("connectcodefont.dll", EntryPoint = "Encode_ITF14")]
public static extern int Encode_ITF14(String instr, int checkdigit, int bearer, StringBuilder outstr, int outstrmax);
[DllImport("connectcodefont.dll", EntryPoint = "Encode_Industrial2of5")]
public static extern int Encode_Industrial2of5(String instr, int checkdigit, StringBuilder outstr, int outstrmax);
[DllImport("connectcodefont.dll", EntryPoint = "Encode_ModifiedPlessy")]
public static extern int Encode_ModifiedPlessy(String instr, int checkdigit, StringBuilder outstr, int outstrmax);
[DllImport("connectcodefont.dll", EntryPoint = "Encode_EAN13")]
public static extern int Encode_EAN13(String instr, int humantext, StringBuilder outstr, int outstrmax);
[DllImport("connectcodefont.dll", EntryPoint = "RetrieveOptionalString_EAN13")]
public static extern int RetrieveOptionalString_EAN13(String instr, int humantext, int strtype, StringBuilder outstr, int outstrmax);
[DllImport("connectcodefont.dll", EntryPoint = "Encode_UPCA")]
public static extern int Encode_UPCA(String instr, int humantext, StringBuilder outstr, int outstrmax);
[DllImport("connectcodefont.dll", EntryPoint = "Encode_EAN8")]
public static extern int Encode_EAN8(String instr, StringBuilder outstr, int outstrmax);
[DllImport("connectcodefont.dll", EntryPoint = "Encode_UCCEAN")]
public static extern int Encode_UCCEAN(String instr, StringBuilder outstr, int outstrmax);
[DllImport("connectcodefont.dll", EntryPoint = "Encode_Code128A")]
public static extern int Encode_Code128A(String instr, StringBuilder outstr, int outstrmax);
[DllImport("connectcodefont.dll", EntryPoint = "Encode_Code128B")]
public static extern int Encode_Code128B(String instr, StringBuilder outstr, int outstrmax);
[DllImport("connectcodefont.dll", EntryPoint = "Encode_Code128C")]
public static extern int Encode_Code128C(String instr, StringBuilder outstr, int outstrmax);
[DllImport("connectcodefont.dll", EntryPoint = "Encode_UPCE")]
public static extern int Encode_UPCE(String instr, int humantext, StringBuilder outstr, int outstrmax);
[DllImport("connectcodefont.dll", EntryPoint = "Encode_EXT2")]
public static extern int Encode_EXT2(String instr, StringBuilder outstr, int outstrmax);
[DllImport("connectcodefont.dll", EntryPoint = "Encode_EXT5")]
public static extern int Encode_EXT5(String instr, StringBuilder outstr, int outstrmax);