Table of Contents
i-fax.com Architecture
The i-fax.com Plug-In is split into two parts:
-
The Barcode Generator
The Barcode Generator takes identifiers to be encoded in barcodes (31 character strings made up out of upper and lowercase letters, numbers, hyphens and spaces) and generates sheets of laser address labels with barcodes on them, which can then be peeled off and stuck to existing paper documents.
i-fax.com also provides plug-ins in various languages for many document types as well as utilities for merging barcodes with existing PDF documents. Please visit http://www.i-fax.com/plugin.html for a full list of our plug-ins.
-
Your Website
When an end user sends a barcoded document to the i-fax.com server (by fax or scanner), the barcode is interpreted by i-fax.com's server. The i-fax.com server renames the document with the encoded identifier found in the barcode and sends the document to you by FTP file transfer or as an email.
JSP Avery Labels Version of the i-fax.com Plug-In
Installing the JSP Avery Labels Version of the i-fax.com Plug-In onto your Website
-
Find the class path for your Java version and create a subdirectory of it called /com/Ifax/Barcode/. For instance, in a normal Windows desktop environment the classpath is c:\windows\java\CLASSES, so you would create a directory called c:\windows\java\CLASSES\com\Ifax\Barcode. Other platforms and installations will have classpaths in different locations, please see your system or application documentation for details.
The Avery Labels i-fax.com Plug-In may work in conjunction with your web application but it is not a web application. We recommend that you keep the i-fax.com classes in a directory outside your web directory tree if possible. Make sure that the class files have the correct ownership and permissions to be accessible by your application.
- Put the class files in the newly created directory. The following is a list of the class files in the i-fax.com JSP Avery Labels Plug-in:
Labels10.class
Labels14.class
Labels14a.class
Labels20.class
Description of the JSP Avery Labels Version of the i-fax.com Plug-In
The i-fax.com JSP Avery Labels Plug-In is divided into four separate classes, each creating labels of a different format:
Class Name |
Size |
Lines of Text |
Labels per Sheet |
Avery |
Staples |
Grand & Toy |
Labels20 |
4" x 1" |
1 |
20 |
#05161 |
#479879 |
#99189 |
Labels14 |
4" x 1¹/3" |
2 |
14 |
#05162 |
#479878 |
#99190 |
Labels14a |
4" x 1¹/2" |
3 |
14 |
|
|
#99179 |
Labels10 |
4" x 2" |
6 |
10 |
#05163 |
#479877 |
#99181 |
The i-fax.com Barcode Generator (JSP Avery Labels Version)
The i-fax.com barcode is available for many platforms and formats. In the Avery Labels version, your encoded unique identifiers are converted into a PDF document for printing to sheets of laser address labels, each label bearing an i-fax.com barcode. The Avery Labels version of the Barcode is intended for creating barcoded labels that can be stuck on existing paper documents.
For information on using i-fax.com barcodes with other document formats (Microsoft Word, Adobe PDF, HTML, GIF, SVG and BMP), please visit http://www.i-fax.com/plugin.html.
Using the com.Ifax.Barcode.LabelsXXX Classes
There are two steps to creating sheets of barcoded laser address labels using the com.Ifax.Barcode.LabelsXXX classes. First you add all the barcodes you want to create using the addBarcode() method, then you generate the PDF containing all the sheets of generated barcodes by using either the getPDF() or getPDFtoFile() methods.
For each barcode you want to create, you call addBarcode() and pass the following parameters:
-
String format is a character, either "A", "N" or "H" which chooses how the transaction id is to be formatted when it is placed above the barcode on the output PDF. Use "N" if you want the transaction ID to be formatted like a number, with spaces added after every three numbers starting at the right. Use "H" if you want the transaction ID to be formatted like hexadecimal, with a space after every two characters, starting at the left. Use "A" if you want no formatting at all. Note that the formatting doesn't affect how the transaction id is interpreted, only how it is displayed above the barcode.
-
String id is the identifier to be encoded in barcode, a 31 character string made up out of upper and lowercase letters, numbers, hyphens and spaces.
-
String text1 to text6 are optional lines of text that appear under each barcode. The number of text lines is dependent on the size of the labels, the largest label (4" x 2", Labels10) supports six lines of text under the label, the smallest (4" x 1", Labels20) only supports one. See the table above to see how many lines of text are available for each label class.
void addBarcode(String type, String id, String text1[, String text2][, String text3][, String text4][, String text5][, String text6])
Once all the labels that you want to create have been added, you create the PDF document with the getPDF() method which takes no parameters and returns a String containing an entire PDF file. Alternatively, if you want to save the PDF to a file, you can call the getPDFtoFile() method and pass an output file name
- String Output File Name is the file you want to save the pdf file to.
String getPDF() throws IOException
void getPDFtoFile(String outputfilename) throws IOException
Browser Behavior Warning
If you are using a Avery Labels Plug-In as part of a web application to deliver barcoded Avery Labels to users, you may wish to temporarily save the barcoded Avery Labels PDF file to disk and redirect the user's browser to the new PDF file.
Some users running Internet Explorer and the Acrobat plug-in may experience difficulty handling "streamed" PDF output generated dynamically.
|
Using the Avery Label Barcode in a JSP
The files ifaxlabelsXXXexample.jsp are fully functional demonstration of how to use the i-fax.com barcode in a JSP environment. There are three steps required; first, the Java class must be imported
<%@ page import="com.Ifax.Barcode.LabelsXXX" %>
Next the class must be instantiated
com.Ifax.Barcode.Labels10 barcoder = new com.Ifax.Barcode.Labels10();
Next a transaction id must be processed by the encoder and passed to the barcoder (note that the number of text lines is dependent on which label type you use, see the table above for a complete list)
barcoder.addBarcode("A", transid, textline1, textline2, textline3, textline4, textline5, textline6);
The PDF is then generated and sent to the output stream. You can direct the DataOutputStream to a ByteArrayOutputStream if you want to pipe the PDF to a browser
ByteArrayOutputStream pdf = new ByteArrayOutputStream();
DataOutputStream dos = new DataOutputStream(pdf);
barcoder.getPDF(dos);
To send it to the browser, you use
<%@ page contentType="application/pdf" %>
<%= pdf.toString() %>
Alternatively, you can temporarily save the PDF to a file and redirect the browser to the saved file.
Placing the Avery Labels Barcode
The laser address labels produced should be stuck on your documents carefully.
Placement of the label must follow these rules:
-
The label must be at the top of the page, with a margin of empty space on three sides (approximately ¾ above, right and left).
-
The label should appear above all logos and graphics on the page.
Warning
Failure to place the html Barcode in the correct area of a document may cause the Barcode to be rejected by i-fax.com's Server. |
Your Website
When an end user sends a barcoded document to the i-fax.com server (by fax or scanner), the barcode is interpreted by i-fax.com's server. The i-fax.com server renames the document with the encoded identifier found in the barcode and sends the document to your website by FTP file transfer or as an email.
File Types
i-fax.com will deliver files to your server by FTP or Email. Every file sent from the i-fax.com server will follow this naming convention:
i-fax.com File Naming Convention
aaaaaaaaaaaaaaaa_bbbbbbbbbbbbbbbb_999.TTT
|
aaaaaaaaaaaaaaaa |
The unique identifier found in the i-fax.com Barcode (created by the i-fax.com barcode generator by your application).
|
bbbbbbbbbbbbbbbb |
A transaction key assigned by i-fax.com.
|
999 |
The page number (000 is reserved for the thumbnail) for JPEG files only.
|
TTT |
The file extension of different output formats, e.g. pdf, tif, jpg, udt.
|
Unique Identifier |
The unique identifier is the value that your application assigned at the time the i-fax.com Barcode was created using the i-fax.com barcode generator.
|
Transaction Key |
i-fax.com assigns a unique transaction key to every transaction that is processed by a server. This transaction key ensures that each file that your web server receives is unique and is not overwritten in the event that a user sends the same document twice.
|
Page Number |
The JPEG standard does not support multi-page documents. As a result, i-fax.com will deliver a separate JPEG file for each page in the document. These files will be numbered from 001 ... 999. Please note that number 000 is reserved for a JPEG thumbnail page that is explained below.
|
File Formats
The following file types are produced by the i-fax.com server:
-
The first page of the document is provided in a miniature version in JPEG format (240 x 345 pixels). The "thumbnail" allows your application to display a small version of the document (e.g. as a search result).
-
When you sign-up for the i-fax.com service you will be given the option of selecting one or more image formats for your documents. i-fax.com supports 3 image formats. The format you choose will depend on your application:
-
-
Adobe PDF
The i-fax.com server can produce a multi-page PDF file containing the document. The document is compressed in Group IV format to conserve storage space.
-
TIFF
The i-fax.com server can produce a multi-page Group IV TIFF file containing the document.
-
JPEG
The i-fax.com server will produce a series of JPEG file, each containing a page of the document.
-
If you have elected to receive files from i-fax.com using FTP (File Transfer Protocol), i-fax.com will send a file with a .udt extension to indicate that your document has been sent. This file will not appear on your server until the JPEG thumbnail and the document images in PDF, TIFF and/or JPEG have been delivered. Note: Your application should not start processing an FTP transfer until the .udt file is detected on your server.
The .udt file contains information about the files received by i-fax.com.
Field Name |
Description |
CallerID |
The caller id of the fax machine that the document was faxed from. If the document was not faxed or there was no caller id then the field is set to "Unknown". |
TransID |
The unique identifier encoded in the barcode on the document. This is the same unique id used in the returned file names. |
Pages |
The count of pages processed for the document. |
Orientation |
"0" if the document was scanned or faxed with the barcode right side up, or "1" if the barcode was upside down. When a document is faxed or scanned in upside down, the i-fax.com server rotates them before sending them on for ease of handling. |
To |
If the document was efiled instead of faxed, the "To:" line of the email is put here |
From |
If the document was efiled instead of faxed, the "From:" line of the email is put here |
Subject |
If the document was efiled instead of faxed, the "Subject:" line of the email is put here |
Senddate |
If the document was efiled instead of faxed, the "Date:" line of the email header is put here |
A two-page document encoded with a "unique identifier" of 639787744 that is faxed upside down would have the following in the .udt file:
CallerID=Unknown
TransID=63978744
Pages=2
Orientation=1
Note:
You will find examples of the Adobe PDF, TIFF, JPEG and .udt files with the files you receive when you Download the Plug-In.
File Transfer Options
i-fax.com can deliver files to your server in one of two formats:
-
FTP
i-fax.com will transfer a group of files to the FTP server you specify when you sign-up for the i-fax.com service. You will be asked to provide a directory on your site that is accessible to an FTP transfer.
It is recommended that you design your application to poll this directory looking for files with the .udt extension. i-fax.com always sends a .udt file when a transaction has been fully transferred.
A number of strategies can be used to initiate the polling process. The strategy you chose will depend on the tools available to you on the web server you are using for your website:
-
- On Unix or Linux servers, you can schedule a job in the crontab that will capture transactions in your FTP directory and incorporate them with your web database. (This will not be possible in most hosted web environments.)
-
On a Windows NT®/2000 server, you can schedule a task in the Task Scheduler that will capture transactions in your FTP directory and incorporate them with your web database. (This will not be possible in most hosted web environments.)
- You can imbed a CGI script in a web page that is executed when the page is accessed. The CGI script can be designed to detect the arrival of a .udt file in the FTP directory and process the incoming document. The CGI script can be placed within a page that runs when users wish to access a document or in a page that is run frequently.
-
Email
i-fax.com will email a group of files to the email address you specify when you sign-up for the i-fax.com service.
Each email sent by the i-fax.com server will contain all of the files pertaining to a specific document. In the event that an end user sends multiple documents in one fax or scan (each document having a unique i-fax.com Barcode), the i-fax.com server will transmit each document and its associated files in a separate email.
Emails sent by the i-fax.com server will contain the relevant files for a given document as attachments. Each email will contain the following entry in the "subject" line:
Document for transaction #{unique identifier from i-fax.com Barcode}
A number of strategies can be used to incorporate documents that have arrived by email. These include programs such as Procmail (for Unix and Linux environments) and Microsoft Exchange (for Windows NT®/2000).
|