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 ModeUTF-8TLV and Base64, Swiss QR-Bill & Center Override.

      BIP QR Code Implementation Tutorial

      1. Install all BI Publisher requirements (BI Publisher, Microsoft Word).

      2. Purchase, download, extract, and install the QR Code Font and Encoder(Developer License or greater).

      3. The QR Code Font and Encoder Developer License includes the  Java Font Encoder class (stored in a .jar file) within the Developer Tools ZIP.

      4. 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.

      5. Download the IDAutomation_BIPublisher_QRCode.zip. It includes the barcodeutilQRCode.java and dependencies (Logger.class and XDOBarcodeEncoder.class) for creating the barcodeutilQRCode.class.
        Download the IDAutomation_BIPublisher_QRCode.zip. It includes the barcodeutilQRCode.java and dependencies
      6. Open the barcodeutilQRCode.java file.

      7. 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)); 

      8. Compile the barcodeutilQRCode.java file to create the barcodeutilQRCode.class.

      9. 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 jar files in the jlib path

      10. Place the barcodeutilQRCode.class into the barcodejar.jar.

      11. Copy the IDAutomation_QRCode_JavaFontEncoder.jar and the barcodejar.jar to the jlib folder within the Template Builder for Word.
        Barcodejar.jar in the Template Builder for Word

      12. Place the JAR files into the RTF2PDF.jar, located in the jlib folder.

      13. Make a backup copy of the RTF2PDF.jar file.

      14. 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

      15. 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: Embed the font by referencing the font within a config file in the BI Publisher config folder.

      16. Add a font entry for IDAutomation2D in the code area under the font setting:

        Embed IDAutomation2D font for BI Publisher

        <!--IDAutomation 2D QR Code Font-->
        <font family="IDAutomation2D" style="normal">
        <truetype path="C:\windows\fonts\IDAutomation2D.ttf"/>
        </font>
        
      17. In Word, access the BI Publisher file. Double-click the field to barcode and choose Add Help Text to open the Form Field.

      18. 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'?>
        
        Register IDAutomation barcode in Form Field
      19. In the Help Key (F1), enter the second command:
        <?format-barcode:DATA_TO_ENCODE;'ENCODER_METHOD_NAME';'ENCODER_NAME'?>
        
        Encode Data in BI Publisher Form Field
      20. To confirm the Java barcode font encoder encodes the data, view the document (PDF,RTF,HTML). BI Publisher Barcode PreviewIDAutomation Encoded Data in BI Publisher
      21. Return to the project and select the IDAutomation2D font from the font list. View the document.QR Code Barcode in BI Publisher


      JAR & Classpath Reference of IDAutomation Java Font Encoders

      Java Barcode JAR files
      Symbology InformationClass File Path
      IDAutomation_QRCode_JavaFontEncoder.jarQRCode with support for Byte, Numeric, and Alpha-numeric encoding modes. Automatic Version selection. Version 2022 and greater includes new built-in support for UTF-8TLV, 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 formatscom.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