mirror of
https://github.com/zint/zint
synced 2024-11-16 20:57:25 +13:00
1400 lines
38 KiB
HTML
1400 lines
38 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
|
<HTML>
|
|
<HEAD>
|
|
<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=utf-8">
|
|
<TITLE>Using the API</TITLE>
|
|
<META NAME="GENERATOR" CONTENT="OpenOffice.org 2.4 (Unix)">
|
|
<META NAME="CREATED" CONTENT="20070730;21081900">
|
|
<META NAME="CHANGED" CONTENT="20081102;13564600">
|
|
<STYLE TYPE="text/css">
|
|
<!--
|
|
TD P { color: #000000 }
|
|
H1 { color: #000000 }
|
|
P { color: #000000 }
|
|
TH P { color: #000000 }
|
|
A:link { color: #0000ff }
|
|
A:visited { color: #840084 }
|
|
-->
|
|
</STYLE>
|
|
</HEAD>
|
|
<BODY LANG="en-GB" TEXT="#000000" LINK="#0000ff" VLINK="#840084" BGCOLOR="#ffffff" DIR="LTR">
|
|
<TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=0 STYLE="page-break-before: always">
|
|
<TR>
|
|
<TH COLSPAN=3>
|
|
<P ALIGN=CENTER>Zint Barcode Generator</P>
|
|
</TH>
|
|
</TR>
|
|
<TR VALIGN=BOTTOM>
|
|
<TD WIDTH=10%>
|
|
<P ALIGN=LEFT><A HREF="frontend.html">Prev</A></P>
|
|
</TD>
|
|
<TD WIDTH=80%></TD>
|
|
<TD WIDTH=10%>
|
|
<P ALIGN=RIGHT><A HREF="symbologies.html">Next</A></P>
|
|
</TD>
|
|
</TR>
|
|
</TABLE>
|
|
<HR>
|
|
<H1>4. Using the API</H1>
|
|
<P>The <I>libzint</I> API has been designed to be very similar to
|
|
that used by the <A HREF="http://www.gnu.org/software/barcode/barcode.html">GNU
|
|
Barcode</A> package. This allows easy migration from GNU Barcode to
|
|
<I>Zint</I>. <I>Zint</I>, however, uses none of the same function
|
|
names or option names as <I>GNU Barcode</I>. This allows you to use
|
|
both packages in your application without conflict if you wish.</P>
|
|
<P><BR><BR>
|
|
</P>
|
|
<P STYLE="font-style: normal"><A NAME="CREATE"></A><FONT SIZE=5><B>4.1
|
|
Creating and Deleting Symbols</B></FONT></P>
|
|
<P STYLE="font-style: normal">The symbols manipulated by Zint are
|
|
held in a <FONT FACE="Courier, monospace">zint_symbol</FONT>
|
|
structure defined in <FONT FACE="Courier, monospace">zint.h</FONT>.
|
|
These symbols are created with the <FONT FACE="Courier, monospace">ZBarcode_Create()</FONT>
|
|
function and deleted using the <FONT FACE="Courier, monospace">ZBarcode_Delete()</FONT>
|
|
function. For example the following code creates and then deletes a
|
|
symbol:</P>
|
|
<P STYLE="font-style: normal"><FONT FACE="Courier, monospace"><FONT SIZE=2>#include
|
|
<stdio.h><BR>#include <zint.h><BR><BR>int
|
|
main()<BR>{<BR> struct zint_symbol
|
|
*my_symbol;<BR><BR> my_symbol =
|
|
ZBarcode_Create();<BR> if(my_symbol != NULL)
|
|
{<BR> printf("Symbol
|
|
successfully
|
|
created!\n");<BR> }<BR> ZBarcode_Delete(my_symbol);<BR> return
|
|
0;<BR>}</FONT></FONT></P>
|
|
<P>When compiling this code it will need to be linked with the
|
|
<I>libzint</I> library using the -lzint option:</P>
|
|
<P><FONT FACE="Courier, monospace"><FONT SIZE=2>gcc -o simple
|
|
simple.c -lzint</FONT></FONT></P>
|
|
<P><BR><BR>
|
|
</P>
|
|
<P><A NAME="ENCODE"></A><FONT SIZE=5><B>4.2 Encoding and Saving to
|
|
File</B></FONT></P>
|
|
<P>To encode data in a barcode use the <FONT FACE="Courier, monospace">ZBarcode_Encode()</FONT>
|
|
function. To write the symbol to a file use the <FONT FACE="Courier, monospace">ZBarcode_Print()</FONT>
|
|
function. For example the following code takes a string from the
|
|
command line and outputs a Code 128 symbol in a PNG file named
|
|
out.png in the current working directory:</P>
|
|
<P><FONT FACE="Courier, monospace"><FONT SIZE=2>#include
|
|
<stdio.h><BR>#include <zint.h><BR><BR>int main(int argc,
|
|
char **argv)<BR>{<BR> struct zint_symbol
|
|
*my_symbol;<BR><BR> my_symbol =
|
|
ZBarcode_Create();<BR> ZBarcode_Encode(my_symbol,
|
|
argv[1]);<BR> ZBarcode_Print(my_symbol);<BR> ZBarcode_Delete(my_symbol);<BR> return
|
|
0;<BR>}</FONT></FONT></P>
|
|
<P>This can also be done in one stage using the
|
|
<FONT FACE="Courier, monospace">ZBarcode_Encode_and_Print()</FONT>
|
|
function as shown in the next example:</P>
|
|
<P><FONT FACE="Courier, monospace"><FONT SIZE=2>#include
|
|
<stdio.h><BR>#include <zint.h><BR><BR>int main(int argc,
|
|
char **argv)<BR>{<BR> struct zint_symbol
|
|
*my_symbol;<BR><BR> my_symbol =
|
|
ZBarcode_Create();<BR> ZBarcode_Encode_and_Print(my_symbol,
|
|
argv[1]);<BR> ZBarcode_Delete(my_symbol);<BR> return
|
|
0;<BR>}</FONT></FONT></P>
|
|
<P><BR><BR>
|
|
</P>
|
|
<P><A NAME="OPTIONS"></A><FONT SIZE=5><B>4.3 Setting Options</B></FONT></P>
|
|
<P>So far our application is not very useful unless we plan to only
|
|
make Code 128 barcodes and we don't mind that they only save to
|
|
out.png. As with the front end program, of course, these options can
|
|
be altered. The way this is done is by altering the contents of the
|
|
<FONT FACE="Courier, monospace">zint_symbol</FONT> structure between
|
|
the creation and encoding stages. The <FONT FACE="Courier, monospace">zint_symbol</FONT>
|
|
structure consists of the following variables:</P>
|
|
<CENTER>
|
|
<TABLE WIDTH=871 BORDER=1 CELLPADDING=4 CELLSPACING=3>
|
|
<COL WIDTH=151>
|
|
<COL WIDTH=162>
|
|
<COL WIDTH=334>
|
|
<COL WIDTH=175>
|
|
<THEAD>
|
|
<TR VALIGN=TOP>
|
|
<TH WIDTH=151>
|
|
<P>Variable Name</P>
|
|
</TH>
|
|
<TH WIDTH=162>
|
|
<P>Type</P>
|
|
</TH>
|
|
<TH WIDTH=334>
|
|
<P>Meaning</P>
|
|
</TH>
|
|
<TH WIDTH=175>
|
|
<P>Default Value</P>
|
|
</TH>
|
|
</TR>
|
|
</THEAD>
|
|
<TBODY>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=151>
|
|
<P ALIGN=CENTER><FONT FACE="Courier">symbology</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=162>
|
|
<P ALIGN=CENTER>integer</P>
|
|
</TD>
|
|
<TD WIDTH=334>
|
|
<P ALIGN=CENTER>Symbology to use (see section 4.5).</P>
|
|
</TD>
|
|
<TD WIDTH=175>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_CODE128</FONT></P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=151>
|
|
<P ALIGN=CENTER><FONT FACE="Courier">height</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=162>
|
|
<P ALIGN=CENTER>integer</P>
|
|
</TD>
|
|
<TD WIDTH=334>
|
|
<P ALIGN=CENTER>Symbol height. [1]</P>
|
|
</TD>
|
|
<TD WIDTH=175>
|
|
<P ALIGN=CENTER>50</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=151>
|
|
<P ALIGN=CENTER><FONT FACE="Courier">whitespace_width</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=162>
|
|
<P ALIGN=CENTER>integer</P>
|
|
</TD>
|
|
<TD WIDTH=334>
|
|
<P ALIGN=CENTER>Whitespace width.</P>
|
|
</TD>
|
|
<TD WIDTH=175>
|
|
<P ALIGN=CENTER>0</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=151>
|
|
<P ALIGN=CENTER><FONT FACE="Courier">boder_width</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=162>
|
|
<P ALIGN=CENTER>integer</P>
|
|
</TD>
|
|
<TD WIDTH=334>
|
|
<P ALIGN=CENTER>Border width.</P>
|
|
</TD>
|
|
<TD WIDTH=175>
|
|
<P ALIGN=CENTER>0</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=151>
|
|
<P ALIGN=CENTER><FONT FACE="Courier">output_options</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=162>
|
|
<P ALIGN=CENTER>integer</P>
|
|
</TD>
|
|
<TD WIDTH=334>
|
|
<P ALIGN=CENTER>Binding or box parameters (see section 4.6). [2]</P>
|
|
</TD>
|
|
<TD WIDTH=175>
|
|
<P ALIGN=CENTER>(none)</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=151>
|
|
<P ALIGN=CENTER><FONT FACE="Courier">fgcolour</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=162>
|
|
<P ALIGN=CENTER>character string</P>
|
|
</TD>
|
|
<TD WIDTH=334>
|
|
<P ALIGN=CENTER>Foreground (ink) colour as RGB hexadecimal
|
|
string. Must be 6 characters followed by terminating \0
|
|
character.</P>
|
|
</TD>
|
|
<TD WIDTH=175>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">"000000"</FONT></P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=151>
|
|
<P ALIGN=CENTER><FONT FACE="Courier">bgcolour</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=162>
|
|
<P ALIGN=CENTER>character string</P>
|
|
</TD>
|
|
<TD WIDTH=334>
|
|
<P ALIGN=CENTER>Background (paper) colour as RGB hexadecimal
|
|
string. Must be 6 characters followed by terminating \0
|
|
character.</P>
|
|
</TD>
|
|
<TD WIDTH=175>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">"ffffff"</FONT></P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=151>
|
|
<P ALIGN=CENTER><FONT FACE="Courier">outfile</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=162>
|
|
<P ALIGN=CENTER>character string</P>
|
|
</TD>
|
|
<TD WIDTH=334>
|
|
<P ALIGN=CENTER>Contains the name of the file to output a
|
|
resulting barcode symbol to. Must end in .PNG or .EPS</P>
|
|
</TD>
|
|
<TD WIDTH=175>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">"out.png"</FONT></P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=151>
|
|
<P ALIGN=CENTER><FONT FACE="Courier">option_1</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=162>
|
|
<P ALIGN=CENTER>integer</P>
|
|
</TD>
|
|
<TD WIDTH=334>
|
|
<P ALIGN=CENTER>Symbology specific options.</P>
|
|
</TD>
|
|
<TD WIDTH=175>
|
|
<P ALIGN=CENTER>(automatic)</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=151>
|
|
<P ALIGN=CENTER><FONT FACE="Courier">option_2</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=162>
|
|
<P ALIGN=CENTER>integer</P>
|
|
</TD>
|
|
<TD WIDTH=334>
|
|
<P ALIGN=CENTER>Symbology specific options.</P>
|
|
</TD>
|
|
<TD WIDTH=175>
|
|
<P ALIGN=CENTER>(automatic)</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=151>
|
|
<P ALIGN=CENTER><FONT FACE="Courier">primary</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=162>
|
|
<P ALIGN=CENTER>character string</P>
|
|
</TD>
|
|
<TD WIDTH=334>
|
|
<P ALIGN=CENTER>Primary message data for more complex symbols.</P>
|
|
</TD>
|
|
<TD WIDTH=175>
|
|
<P ALIGN=CENTER>NULL</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=151>
|
|
<P ALIGN=CENTER><FONT FACE="Courier">text</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=162>
|
|
<P ALIGN=CENTER>character string</P>
|
|
</TD>
|
|
<TD WIDTH=334>
|
|
<P ALIGN=CENTER>Human readable text, which usually consists of
|
|
the input data plus one or more check digits.</P>
|
|
</TD>
|
|
<TD WIDTH=175>
|
|
<P ALIGN=CENTER>NULL</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=151>
|
|
<P ALIGN=CENTER><FONT FACE="Courier">rows</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=162>
|
|
<P ALIGN=CENTER>integer</P>
|
|
</TD>
|
|
<TD WIDTH=334>
|
|
<P ALIGN=CENTER>Number of rows used by the symbol or, if using
|
|
barcode stacking, the row to be used by the next symbol.</P>
|
|
</TD>
|
|
<TD WIDTH=175>
|
|
<P ALIGN=CENTER>(output only)</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=151>
|
|
<P ALIGN=CENTER><FONT FACE="Courier">width</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=162>
|
|
<P ALIGN=CENTER>integer</P>
|
|
</TD>
|
|
<TD WIDTH=334>
|
|
<P ALIGN=CENTER>Width of the generated symbol.</P>
|
|
</TD>
|
|
<TD WIDTH=175>
|
|
<P ALIGN=CENTER>(output only)</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=151>
|
|
<P ALIGN=CENTER><FONT FACE="Courier">encoding_data</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=162>
|
|
<P ALIGN=CENTER>array of character strings</P>
|
|
</TD>
|
|
<TD WIDTH=334>
|
|
<P ALIGN=CENTER>Representation of the encoded data.</P>
|
|
</TD>
|
|
<TD WIDTH=175>
|
|
<P ALIGN=CENTER>(output only)</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=151>
|
|
<P ALIGN=CENTER><FONT FACE="Courier">row_height</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=162>
|
|
<P ALIGN=CENTER>array of integers</P>
|
|
</TD>
|
|
<TD WIDTH=334>
|
|
<P ALIGN=CENTER>Representation of the height of a row.</P>
|
|
</TD>
|
|
<TD WIDTH=175>
|
|
<P ALIGN=CENTER>(output only)</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=151>
|
|
<P ALIGN=CENTER><FONT FACE="Courier">errtxt</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=162>
|
|
<P ALIGN=CENTER>character string</P>
|
|
</TD>
|
|
<TD WIDTH=334>
|
|
<P ALIGN=CENTER>Error message in the event that an error
|
|
occurred.</P>
|
|
</TD>
|
|
<TD WIDTH=175>
|
|
<P ALIGN=CENTER>(output only)</P>
|
|
</TD>
|
|
</TR>
|
|
</TBODY>
|
|
</TABLE>
|
|
</CENTER>
|
|
<P><BR><BR>
|
|
</P>
|
|
<P>To alter these values use the syntax shown in the example below.
|
|
This code has the same result as the previous example except the
|
|
output is now taller and plotted in green.</P>
|
|
<P><FONT FACE="Courier, monospace"><FONT SIZE=2>#include
|
|
<stdio.h><BR>#include <zint.h><BR>#include
|
|
<string.h><BR><BR>int main(int argc, char **argv)<BR>{<BR> struct
|
|
zint_symbol *my_symbol;<BR><BR> my_symbol =
|
|
ZBarcode_Create();<BR> strcpy(my_symbol->fgcolour,
|
|
"00ff00");<BR> my_symbol->height
|
|
= 400;<BR> ZBarcode_Encode_and_Print(my_symbol,
|
|
argv[1]);<BR> ZBarcode_Delete(my_symbol);<BR> return
|
|
0;<BR>}</FONT></FONT></P>
|
|
<P><BR><BR>
|
|
</P>
|
|
<P><A NAME="ERRORS"></A><FONT SIZE=5><B>4.4 Handling Errors</B></FONT></P>
|
|
<P>If errors occur during encoding an integer value is passed back to
|
|
the calling application. In addition the <FONT FACE="Courier">errtxt</FONT>
|
|
value is used to give a message detailing the nature of the error.
|
|
The errors generated by Zint are given in the table below:</P>
|
|
<CENTER>
|
|
<TABLE WIDTH=810 BORDER=1 CELLPADDING=4 CELLSPACING=3>
|
|
<COL WIDTH=270>
|
|
<COL WIDTH=513>
|
|
<THEAD>
|
|
<TR VALIGN=TOP>
|
|
<TH WIDTH=270>
|
|
<P>Return Value</P>
|
|
</TH>
|
|
<TH WIDTH=513>
|
|
<P>Meaning</P>
|
|
</TH>
|
|
</TR>
|
|
</THEAD>
|
|
<TBODY>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=270>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">WARN_INVALID_OPTION</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=513>
|
|
<P ALIGN=CENTER>One of the values in <FONT FACE="Courier, monospace">zint_struct</FONT>
|
|
was set incorrectly but Zint has made a guess at what it should
|
|
have been and generated a barcode accordingly.</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=270>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">ERROR_TOO_LONG</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=513>
|
|
<P ALIGN=CENTER>The input data is too long or too short for the
|
|
selected symbology. No symbol has been generated.</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=270>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">ERROR_INVALID_DATA</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=513>
|
|
<P ALIGN=CENTER>The data to be encoded includes characters which
|
|
are not permitted by the selected symbology (e.g. alphabetic
|
|
characters in an EAN symbol). No symbol has been generated.</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=270>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">ERROR_INVALID_CHECK</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=513>
|
|
<P ALIGN=CENTER>An ISBN with an incorrect check digit has been
|
|
entered. No symbol has been generated.</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=270>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">ERROR_INVALID_OPTION</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=513>
|
|
<P ALIGN=CENTER>One of the values in <FONT FACE="Courier, monospace">zint_struct</FONT>
|
|
was set incorrectly and Zint was unable to guess what it should
|
|
have been. No symbol has been generated.</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=270>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">ERROR_ENCODING_PROBLEM</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=513>
|
|
<P ALIGN=CENTER>A problem has occurred during encoding of the
|
|
data. This should never happen. Please contact the developer if
|
|
you encounter this error.</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=270>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">ERROR_FILE_ACCESS</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=513>
|
|
<P ALIGN=CENTER>Zint was unable to open the requested output
|
|
file. This is usually a file permissions problem.</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=270>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">ERROR_MEMORY</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=513>
|
|
<P ALIGN=CENTER>Zint ran out of memory. This should only be a
|
|
problem with legacy systems.</P>
|
|
</TD>
|
|
</TR>
|
|
</TBODY>
|
|
</TABLE>
|
|
</CENTER>
|
|
<P><BR><BR>
|
|
</P>
|
|
<P>To catch errors use an integer variable as shown in the code
|
|
below:</P>
|
|
<P><FONT FACE="Courier, monospace"><FONT SIZE=2>#include
|
|
<stdio.h><BR>#include <zint.h><BR>#include
|
|
<string.h><BR><BR>int main(int argc, char **argv)<BR>{<BR> struct
|
|
zint_symbol *my_symbol;<BR> int error =
|
|
0;<BR><BR> my_symbol =
|
|
ZBarcode_Create();<BR> strcpy(my_symbol->fgcolour,
|
|
"nonsense");<BR> error =
|
|
ZBarcode_Encode_and_Print(my_symbol, argv[1]);<BR><BR> if(error
|
|
!= 0) {<BR> /* some
|
|
error occurred */<BR> printf("%s\n",
|
|
my_symbol->errtxt);<BR> }<BR><BR> if(error
|
|
> WARN_INVALID_OPTION) {<BR> /*
|
|
stop now */<BR> ZBarcode_Delete(my_symbol);<BR> return
|
|
1;<BR> }<BR> /*
|
|
otherwise carry on with the rest of the application
|
|
*/<BR> ZBarcode_Delete(my_symbol);<BR> return
|
|
0;<BR>}</FONT></FONT></P>
|
|
<P>This code will exit with the appropriate message:</P>
|
|
<P><FONT FACE="Courier, monospace"><FONT SIZE=2>error: malformed
|
|
foreground colour target</FONT></FONT></P>
|
|
<P><BR><BR>
|
|
</P>
|
|
<P><A NAME="SYMBOL"></A><FONT SIZE=5><B>4.5 Specifying a Symbology</B></FONT></P>
|
|
<P>Symbologies can be specified by number or by name as shown in the
|
|
following table. For example</P>
|
|
<P><FONT FACE="Courier, monospace"><FONT SIZE=2>symbol->symbology
|
|
= BARCODE_LOGMARS;</FONT></FONT></P>
|
|
<P>means the same as</P>
|
|
<P><FONT FACE="Courier, monospace"><FONT SIZE=2>symbol->symbology
|
|
= 50;</FONT></FONT></P>
|
|
<CENTER>
|
|
<TABLE WIDTH=936 BORDER=1 CELLPADDING=4 CELLSPACING=3>
|
|
<COL WIDTH=150>
|
|
<COL WIDTH=382>
|
|
<COL WIDTH=366>
|
|
<THEAD>
|
|
<TR VALIGN=TOP>
|
|
<TH WIDTH=150>
|
|
<P>Numeric Value</P>
|
|
</TH>
|
|
<TH WIDTH=382>
|
|
<P>Name</P>
|
|
</TH>
|
|
<TH WIDTH=366>
|
|
<P>Symbology</P>
|
|
</TH>
|
|
</TR>
|
|
</THEAD>
|
|
<TBODY>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>1</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_CODE11</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>Code 11</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>2</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_C25MATRIX</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>Standard Code 2 of 5</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>3</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_C25INTER</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>Interleaved 2 of 5</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>4</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_C25IATA</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>Code 2 of 5 IATA</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>6</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_C25LOGIC</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>Code 2 of 5 Data Logic</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>7</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_C25IND</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>Code 2 of 5 Industrial</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>8</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_CODE39</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>Code 3 of 9 (Code 39)</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>9</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_EXCODE39</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>Extended Code 3 of 9 (Code 39+)</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>13</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_EANX</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>EAN</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>16</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_EAN128</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>GS1-128</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>18</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_CODABAR</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>Codabar</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>20</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_CODE128</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>Code 128 (automatic subset switching)</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>21</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_DPLEIT</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>Deutshe Post Leitcode</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>22</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_DPIDENT</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>Deutshe Post Identcode</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>23</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_CODE16K</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>Code 16K</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>25</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_CODE93</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>Code 93</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>28</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_FLAT</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>Flattermarken</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>29</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_RSS14</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>GS1 DataBar-14</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>30</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_RSS_LTD</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>GS1 DataBar Limited</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>31</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_RSS_EXP</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>GS1 DataBar Expanded</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>32</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_TELEPEN</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>Telepen Alpha</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>34</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_UPCA</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>UPC A</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>37</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_UPCE</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>UPC E</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>40</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_POSTNET</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>PostNet</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>47</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_MSI_PLESSEY</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>MSI Plessey</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>49</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_FIM</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>FIM</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>50</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_LOGMARS</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>LOGMARS</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>51</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_PHARMA</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>Pharmacode One-Track</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>52</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_PZN</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>PZN</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>53</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_PHARMA_TWO</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>Pharmacode Two-Track</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>55</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_PDF417</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>PDF417</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>56</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_PDF417TRUNC</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>PDF417 Truncated</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>57</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_MAXICODE</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>Maxicode</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>58</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_QRCODE</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>QR Code</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>60</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_CODE128B</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>Code 128 (Subset B)</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>63</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_AUSPOST</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>Australia Post Standard Customer</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>66</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_AUSREPLY</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>Australia Post Reply Paid</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>67</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_AUSROUTE</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>Australia Post Routing</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>68</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_AUSREDIRECT</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>Australia Post Redirection</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>69</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_ISBNX</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>ISBN (EAN-13 with verification stage)</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>70</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_RM4SCC</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>Royal Mail 4 State (RM4SCC)</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>71</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_DATAMATRIX</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>Data Matrix</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>72</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_EAN14</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>EAN-14</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>75</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_NVE18</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>NVE-18</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>79</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_RSS14STACK</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>GS1 DataBar-14 Stacked</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>80</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_RSS14STACK_OMNI</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>GS1 DataBar-14 Stacked Omnidirectional</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>81</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_RSS_EXPSTACK</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>GS1 DataBar Expanded Stacked</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>82</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_PLANET</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>PLANET</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>84</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_MICROPDF417</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>MicroPDF417</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>85</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_ONECODE</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>USPS OneCode</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>86</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_PLESSEY</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>Plessey Code</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>87</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_TELEPEN_NUM</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>Telepen Numeric</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>89</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_ITF14</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>ITF-14</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>90</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_KIX</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>Dutch Post KIX Code</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>92</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_AZTEC</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>Aztec Code</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>93</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_DAFT</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>DAFT Code</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>97</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_MICROQR</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>Micro QR Code</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>129</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier">BARCODE_CODE32</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>Code 32</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>130</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier">BARCODE_EANX_CC</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>Composite Symbol with EAN linear component</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>131</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier">BARCODE_EAN128_CC</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>Composite Symbol with GS1-128 linear component</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>132</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier">BARCODE_RSS14_CC</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>Composite Symbol with GS1 DataBar-14 linear
|
|
component</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>133</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier">BARCODE_RSS_LTD_CC</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>Composite Symbol with GS1 DataBar Limited
|
|
component</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>134</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier">BARCODE_RSS_EXP_CC</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>Composite Symbol with GS1 DataBar Extended
|
|
component</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>135</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier">BARCODE_UPCA_CC</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>Composite Symbol with UPC A linear component</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>136</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier">BARCODE_UPCE_CC</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>Composite Symbol with UPC E linear component</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>137</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier">BARCODE_RSS14STACK_CC</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>Composite Symbol with GS1 DataBar-14 Stacked
|
|
component</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>138</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier">BARCODE_RSS14_OMNI_CC</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>Composite Symbol with GS1 DataBar-14 Stacked
|
|
Omnidirectional component</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=150>
|
|
<P ALIGN=CENTER>139</P>
|
|
</TD>
|
|
<TD WIDTH=382>
|
|
<P ALIGN=CENTER><FONT FACE="Courier">BARCODE_RSS_EXPSTACK_CC</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=366>
|
|
<P ALIGN=CENTER>Composite Symbol with GS1 DataBar Expanded
|
|
Stacked component</P>
|
|
</TD>
|
|
</TR>
|
|
</TBODY>
|
|
</TABLE>
|
|
</CENTER>
|
|
<P ALIGN=JUSTIFY><BR><BR>
|
|
</P>
|
|
<P><A NAME="BOXES"></A><FONT SIZE=5><B>4.6 Adding Boxes and Boundary
|
|
Bars</B></FONT></P>
|
|
<P>Boxes and boundary bars are handled using the <FONT FACE="Courier">output_options</FONT>
|
|
variable in the <FONT FACE="Courier">zint_symbol</FONT> structure. To
|
|
use this option simply assign a value to the <FONT FACE="Courier">output_options</FONT>
|
|
variable from the following table [2].</P>
|
|
<CENTER>
|
|
<TABLE WIDTH=801 BORDER=1 CELLPADDING=4 CELLSPACING=3>
|
|
<COL WIDTH=211>
|
|
<COL WIDTH=563>
|
|
<THEAD>
|
|
<TR VALIGN=TOP>
|
|
<TH WIDTH=211>
|
|
<P>Value</P>
|
|
</TH>
|
|
<TH WIDTH=563>
|
|
<P>Effect</P>
|
|
</TH>
|
|
</TR>
|
|
</THEAD>
|
|
<TBODY>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=211>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">0</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=563>
|
|
<P ALIGN=CENTER>No box or boundary bars.</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=211>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_BIND</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=563>
|
|
<P ALIGN=CENTER>Boundary bars above and below the symbol and
|
|
between rows if stacking multiple symbols.</P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=211>
|
|
<P ALIGN=CENTER><FONT FACE="Courier, monospace">BARCODE_BOX</FONT></P>
|
|
</TD>
|
|
<TD WIDTH=563>
|
|
<P ALIGN=CENTER>Add a box surrounding the symbol and whitespace.</P>
|
|
</TD>
|
|
</TR>
|
|
</TBODY>
|
|
</TABLE>
|
|
</CENTER>
|
|
<P><BR><BR>
|
|
</P>
|
|
<P><A NAME="ROTATE"></A><FONT SIZE=5><B>4.7 Rotating the Symbol</B></FONT></P>
|
|
<P>Rotating the output is done using the
|
|
<FONT FACE="Courier, monospace">ZBarcode_Encode_and_Print_Rotated()</FONT>
|
|
and <FONT FACE="Courier, monospace">ZBarcode_Print_Rotated()</FONT>
|
|
functions. These take an extra integer argument giving the angle of
|
|
rotation. Valid values are 0, 90, 180 and 270 degrees measured
|
|
clockwise. For example the following code generates a symbol rotated
|
|
by 90 degrees. Only PNG output can be rotated in this way.</P>
|
|
<P> <FONT FACE="Courier, monospace"><FONT SIZE=2>error
|
|
= ZBarcode_Encode_and_Print_Rotated(my_symbol, argv[1], 90);</FONT></FONT></P>
|
|
<P><BR><BR>
|
|
</P>
|
|
<P>[1] This value is ignored for Australia Post 4-State Barcodes,
|
|
PostNet, PLANET, USPS OneCode, RM4SCC, PDF417, Data Matrix, Maxicode,
|
|
QR Code and GS1 DataBar-14 Stacked - all of which have a fixed
|
|
height.</P>
|
|
<P>[2] This value is ignored for Code 16k and ITF-14 symbols.</P>
|
|
<HR>
|
|
<TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=0>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=33% HEIGHT=5>
|
|
<P ALIGN=LEFT><A HREF="frontend.html">Prev</A></P>
|
|
</TD>
|
|
<TD WIDTH=34%>
|
|
<P ALIGN=CENTER><A HREF="index.html">Home</A></P>
|
|
</TD>
|
|
<TD WIDTH=33%>
|
|
<P ALIGN=RIGHT><A HREF="symbologies.html">Next</A></P>
|
|
</TD>
|
|
</TR>
|
|
<TR VALIGN=TOP>
|
|
<TD WIDTH=33%>
|
|
<P ALIGN=LEFT>Using the Front End</P>
|
|
</TD>
|
|
<TD WIDTH=34%>
|
|
<P ALIGN=CENTER> </P>
|
|
</TD>
|
|
<TD WIDTH=33%>
|
|
<P ALIGN=RIGHT>Types of Symbol</P>
|
|
</TD>
|
|
</TR>
|
|
</TABLE>
|
|
<P><BR><BR>
|
|
</P>
|
|
</BODY>
|
|
</HTML> |