Generating Barcodes in Oracle XML BI Publisher (BIP) & E-Business Suite (EBS)
NOTE: IDAutomation supports and guarantees that the barcode fonts and Java encoders provided for BIP are fully functional and will function as intended. Barcode integration in BIP is a complex process and should only be performed by developers with knowledge of BIP report design, XML and Java. Because of the complexity involved, IDAutomation will support the Java barcode product with the examples provided in the package from IDAutomation. For troubleshooting purposes, it is recommended to get the examples provided in the licensed Java encoder and font working first and then proceed to implement integration with BIP. Issues with BIP should be directed to Oracle Support when the Java product is working properly.
This barcode generation solution is compatible with Oracle E-Business Suite (EBS) to print barcodes in BI/XML Publisher Reports which may be generated from the E-Business Suite concurrent program. This example is a summary taken from a
barcoding blog written by Tim Dexter. While IDAutomation supports the Java Font Encoder class, we cannot provide direct support for BIP.
The implementation tutorial presented below generates QR Code 2D barcodes in Oracle XML Publisher with RTF templates using the QR Code Font and Encoder. Version 2022 and greater includes built-in support for UTF-8, TLV and Base64, Swiss QR-Bill & Center Override.
- Other BIP Barcode Solutions:
- BIP Class Files:
- BIP QR Code Required Components for this Tutorial:
- QR Code Font and Encoder Package
- BI Publisher
- Microsoft Word
- barcodeutilQRCode.java file. Download the IDAutomation_BIPublisher_QRCode.zip.
- Collection of Jar files from the jlib folder of the BI Publisher Desktop install.
BIP QR Code Implementation Tutorial
- Install all required applications and components for Word and BI Publisher.
- Purchase, download, extract, and install the QR Code Font and Encoder. (A Developer License is required for the necessary Java Font Encoder)
- A Java Font Encoder class file is included as .jar with the license. Extract this file and retrieve the .jar.
- Set up the JAR file by placing it in the classpath. View Oracle's documentation for additional help. Test that the JAR file was properly installed in the classpath by running the "QRCodeBarcodeExample" program included in the developer package.
- Download the IDAutomation_BIPublisher_QRCode.zip. It includes the barcodeutilQRCode.java and dependencies (Logger.class and XDOBarcodeEncoder.class) for creating the barcodeutilQRCode.class.
- Open the barcodeutilQRCode.java file.
- Update the parameters in the .java file based on the barcode requirements:
/* Import the idautomation encoder class */
import com.idautomation.fontencoder.qrcode.QRCodeEncoder;QRCodeEncoder qre = new QRCodeEncoder();
boolean ApplyTilde = false;
String EncodingMode = "Byte";
int Version = 0;
String ErrorCorrectionLevel = "M";
boolean BestMask = false;
return qre.FontEncode(DataToEncode,ApplyTilde,EncodingMode,ErrorCorrectionLevel,Version,BestMask);Class[] clazz = new Class[] { "".getClass() }; ENCODERS.put("qrcode",mUtility.getClass().getMethod("qrcode",clazz));
- Compile the barcodeutilQRCode.java file to create a new class named barcodeutilQRCode.class.
- Access the jlib path and place the following jar files in the classpath: xdocore.jar, xmlparserv2.jar, collections.jar, aolj.jar, share.jar, xdoparser.jar, jewt4.jar, 18nAPI_v3.jar.
- Place the barcodeutilQRCode.class into a jar named barcodejar.jar.
- Copy the IDAutomation_QRCode_JavaFontEncoder.jar and the barcodejar.jar to the jlib folder within the Template Builder for Word.
- So that BI Publisher can find the wrapper class, all the jars required for the project must be put into the RTF2PDF.jar which is located in the jlib folder.
- Make a backup of the RTF2PDF.jar file.
- Open the RTF2PDF.jar using Winzip or 7-zip and access the META-INF directory. Open and edit the MANIFEST.MF to include the jars at the end of the classpath list:
Manifest-Version: 1.0
Class-Path: ./activation.jar ./mail.jar ./xdochartstyles.jar ./bicmn.jar ./jewt4.jar
./share.jar ./bipres.jar ./xdoparser.jar ./xdocore.jar ./xmlparserv2.jar
./xmlparserv2-904.jar ./i18nAPI_v3.jar ./versioninfo.jar
./barcodejar.jar ./IDAutomation_JavaFontEncoder_QRCode.jar
Main-Class: RTF2PDF - In order to render the barcode in a PDF report, it must be embedded by referencing the font within a config file in the BI Publisher config folder. Open
the xdo example.cfg file located:
- Add an entry for the IDAutomation2D font in the code area under the font setting:
<!--IDAutomation 2D QR Code Font--> <font family="IDAutomation2D" style="normal"> <truetype path="C:\windows\fonts\IDAutomation2D.ttf"/> </font>
- Return to Word and access the BI Publisher file. Double-click the field to barcode and choose Add Help Text to open the Form Field.
- In the Status Bar tab, enter the first command. Set the vendor to the specific class used in the solution. For QR-Code, it is barcodeutilQRCode instead of BarcodeUtil.
<?register-barcode-vendor:'ENCODER WRAPPER CLASS'; 'ENCODER NAME'?>
- In the Help Key (F1), enter the second command:
<?format-barcode:DATA_TO_ENCODE;'ENCODER_METHOD_NAME';'ENCODER_NAME'?>
- To ensure the data is encoded, view the document (PDF,RTF,HTML):
- Return to the project and select the IDAutomation2D font from the font list. View the document.
JAR & Classpath Reference of IDAutomation Java Font Encoders
Java Barcode Jars | Symbology Information | Class File Path |
IDAutomation_QRCode_JavaFontEncoder.jar | QRCode with support for Byte, Numeric, and Alpha-numeric encoding modes. Automatic Version selection. Version 2022 and greater includes new built-in support for UTF-8, TLV and Base64, Swiss QR-Bill & Center Override. | com.idautomation.fontencoder.qrcode |
IDAutomation_LinearJavaFontEncoder.jar | Code 39, Extended Code 39, Code 128, Code 128 auto, GS1-128, Interleaved 2 of 5, Codabar, UPC-A, UPC-E, MSI, EAN-8, EAN-13, Code 11, Code 93, Industrial 2 of 5, USPS Intelligent Mail IMb, Postnet & Planet, GS1 DataBar, Stacked, Truncated, Stacked Omni-directional, Limited, Expanded, Expanded Stacked Omni-directional, and Universal Fonts | com.idautomation (Linear, Databar, and Intelligent Mail) com.idautomation.universalencoder (Universal) |
AztecEncoder.class | Aztec matrix generation with automatic mode selection and GS1 compatibility. AIM Specification ANSI/AIM BC13 ISS Aztec Code. | com.idautomation.fontencoder.aztec |
IDAutomation_JavaFontEncoder_DataMatrix.jar | Data Matrix with ECC200, ASCII, text, C40 and Base256 encoding, Includes support for US DOD UID and macro codeword 236 and 237 ISO/IEC 15434 formats | com.idautomation.fontencoder.datamatrix |
IDAutomation_JavaFontEncoder_PDF417.jar | PDF417 with EC levels 1 to 8, text and binary encoding. | com.idautomation.fontencoder.pdf417 |
IDAutomation_JavaFontEncoder_DotCode.jar | In Development and Testing | com.idautomation.fontencoder.dotcode |
IDAutomation_JavaFontEncoder_MaxiCode.jar | MaxiCode with structured append, UPS encoding, and mode 2-6 support. | com.idautomation.fontencoder.maxicode |
Additional Support
- How to Display Barcode Fonts (or other fonts) in Report Web Layout (Oracle Support Link)
- Code 128 Fonts with BI Publisher in Report Tutorial
- Barcode Integration Guide for Oracle Reports
- IDAutomation Java Barcode Package
- Installing Barcode Fonts on Unix or Linux for Oracle Reports
- Use Barcode Label Software Pro to print labels or reports directly from Oracle