Generate Barcodes in Oracle XML BI Publisher (BIP) & E-Business Suite (EBS)
This user guide explains how to generate barcodes in BI Publisher for Oracle developers who use E-Business Suite. Only experienced developers with BIP report design, XML, and Java should perform the solution. IDAutomation only supports the Java barcode encoder available through our company. To troubleshoot barcode generation issues in BIP, ensure the Java barcode encoder performs in a stand-alone application (an example is included in the product). If the Java barcode encoder performs in a stand-alone application but does not function in BIP, contact Oracle Support for more information.
The Java barcode encoder solution works 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.
The implementation tutorial generates QR Code 2D barcodes in Oracle XML Publisher with RTF templates using the QR Code Font and Encoder. Version 2024 and greater of this product includes built-in support for ECI Encoding, Auto Mode, 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 (Developer License or greater includes a Developer Tools ZIP)
- 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.
-
QR Code Font and Encoder Package (Developer License or greater includes a Developer Tools ZIP)
BIP QR Code Implementation Tutorial
- Install all BI Publisher requirements (BI Publisher, Microsoft Word).
- Purchase, download, extract, and install the QR Code Font and Encoder(Developer License or greater).
- The QR Code Font and Encoder Developer License includes the Java Font Encoder class (stored in a .jar file) within the Developer Tools ZIP.
- Place the JAR file in the classpath. Refer to the Java Classpath Instructions or view Oracle's documentation for additional help. Run the IDAutomation's "QRCodeBarcodeExample" program available in the Developer Tool's package to confirm the JAR file displays a scannable barcode or encoded data.
- 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 barcode parameters in the .java file:
/* 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 the barcodeutilQRCode.class.
- Access the jlib path and place the 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 the barcodejar.jar.
- Copy the IDAutomation_QRCode_JavaFontEncoder.jar and the barcodejar.jar to the jlib folder within the Template Builder for Word.
- Place the JAR files into the RTF2PDF.jar, located in the jlib folder.
- Make a backup copy of the RTF2PDF.jar file.
- Open the RTF2PDF.jar using Winzip or 7-zip, then access the META-INF directory. Open and edit the MANIFEST.MF to include the JAR files 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 - To render the barcode in a PDF report, reference the font within a config file in the BI Publisher config folder. Open
the xdo example.cfg file:
- Add a font entry for IDAutomation2D 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>
- In Word, 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 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 confirm the Java barcode font encoder encodes the data, 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 JAR files | 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)
- Oracle BI Publisher Report barcode is distorted
- IDAutomation Java Font Encoder class registry issue
- Installing Barcode Fonts on Unix or Linux for Oracle Reports
- Use Barcode Label Software Pro to print labels or reports directly from Oracle