Release Notes for Business Intelligence
Release 12.2.1.3.0
E80928-05
October 2018
Learn about the issues you may encounter when using Oracle BI Enterprise Edition and Oracle BI Publisher, and how to work around them.
Topics
These issues pertain to all areas of Oracle BI Enterprise Edition and Oracle BI Publisher, such as installation, migration, analyses and dashboards, metadata repository development, and system administration.
For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.
Access to Oracle Support
Oracle customers that have purchased support have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.
Periodically, Oracle Business Intelligence patches are released.
To learn more about the patches and find the available patches for your environment, see Obtaining Patches Required For Your Installation in Patching with OPatch.
Apply the following patches to the WebLogic Server: Patch numbers 27823500, 27401639, and 27479453. The Node Manager doesn't work with a non-Oracle database unless you apply these patches.
This section describes general issues and workarounds for Oracle Business Intelligence.
Topics
Initialization Block for E-Business Suite Displays NQS Error Message
Integration with and Migration from Oracle BI Discoverer Is Not Supported
Reconfiguring Custom Messages in the BI Sample Application After Upgrade
In a high availability environment, users accessing reports from the Oracle BI EE search results might receive Page not found errors.
To work around this issue, go to the report URL and replace the alias host name (for example, bihost1) with the physical host name.
While creating a database object and connection pool for the Oracle E-Business Suite database, in the Oracle BI Administration Tool’s Session Variable Initialization Block dialog, with Database as the Data Source Type, and Default initialization string selected, if you click Test, an expected error displays. The error message is [nQSError: 23006] The session variable, NQ_SESSION.ICX_SESSION_COOKIE, has no value definition.
The error is expected. The Test button command only works when the user links from the E-Business Suite, and the browser supplies the ICX cookie.
Oracle Business Intelligence 12c does not provide support for integrating with or migrating from Oracle BI Discoverer.
You can ignore any mentions of such integration or migration in the documentation set. For example, Chapter 8, Using Discoverer Data in Applications, in Integrator's Guide for Oracle Business Intelligence Enterprise Edition is not applicable for Oracle Business Intelligence 12c.
When you upgrade to a new version of Oracle BI Enterprise Edition, custom messages in the sample application are overwritten.
signin.html
and message file logonmessages.xml
are overwritten with the system default messages.Note:
For migration scenarios, the same two files must be replaced from Oracle BI Enterprise Edition 11g to 12.2.1.x.You can back up your customized messages and add them to the new customization files after you upgrade.
$ORACLE_HOME/bi/bifoundation/web/msgdb/l_en/messages/logonmessages.xml
and $ORACLE_HOME/bi/bifoundation/web/msgdb/pages/common/signin.html
%ORACLE_HOME%\bi\bifoundation\web\msgdb\l_en\messages\logonmessages.xml
and%ORACLE_HOME%\bi\bifoundation\web\msgdb\pages\common\signin.html
logonmessages.xml
and signin.html
files:
$NEWORACLE_HOME/bi/bifoundation/web/msgdb/l_en/messages/logonmessages.xml
and $NEWORACLE_HOME/bi/bifoundation/web/msgdb/pages/common/signin.html
%NEWORACLE_HOME%\bi\bifoundation\web\msgdb\l_en\messages\logonmessages.xml
and %NEWORACLE_HOME%\bi\bifoundation\web\msgdb\pages\common\signin.html
When you back up an instance into an Oracle Business Intelligence application archive (BAR) file, data files that you uploaded aren't included in the BAR file.
When you import the BAR file into a target system, only the metadata for the data files is imported, rather than the data files themselves. To work around this issue, upload the data files into the target system after importing the BAR file.
When you archive a dashboard and unarchive it on another server, you might notice that some or all links below analyses on that dashboard are missing.
To work around this issue, ensure that the catalog folders and objects on the destination server match the structure on the original server.
You can create prompts and make every prompt dependent on all other prompts.
When you then select a value in a prompt, the query for each prompt is recreated. You might find that the previously selected value of some prompts is reset to "All Column Values," and the query returns no results. To work around this issue, don't make all prompts dependent on each other.
After you install Oracle Business Intelligence Release 12.2.1.3.0 on IBM AIX, you might notice a failure when starting the Oracle BI Server.
You might see error text such as the following in the log file for the obis1 instance:
[nQSError: 46136] Could not load CSF library libnqcsfwrapper64.so. [[ file: server/Utility/Generic/Src/SUGCSF.cpp; line: 291
Oracle Business Intelligence Release 12.2.1.3.0 is bundled with the IBM AIX Database Client Release 12.1.0.2.0. The issue of Oracle BI Server not starting is related to the I/O completion ports (IOCP) API symbols dependency in that IBM AIX client library.
To work around this issue for IBM AIX on POWER Systems (64-bit), enable the IOCP module before you install Oracle Business Intelligence. To enable the IOCP module, set the IOCP module to Available
, as described in the documentation for your IBM AIX system. Ensure that you restart the system after making the setting.
To check if the IOCP module is enabled, run the lsdev
command as in the following example: $ lsdev | grep iocp
The following sample output shows that IOCP module status is Defined (the default), which means Disabled:
iocp0 Defined I/O Completion Ports
This section describes issues and workarounds for Oracle Business Intelligence Visual Analyzer.
If you are using Asian language data sources (for example, Japanese or Chinese), then map visualizations sometimes don’t correctly identify countries, states, or provinces.
For example, if you upload a Microsoft Excel file containing data about China and Japan, and you change the chart to a map, then China might not be highlighted correctly on the map.
Oracle Business Intelligence Visual Analyzer currently doesn’t support bidirectional languages (for example, Arabic and Hebrew).
There is no workaround for this issue.
Importing an XLSX file generated from Microsoft Access can sometimes fail.
This section describes issues and workarounds for Oracle Business Intelligence analyses and dashboards.
If you are using the New Home Page view in Oracle BI EE, and you click the Dashboard option to create a new dashboard, the New Dashboard dialog might display the No search results returned error message by mistake.
To work around this issue, click OK to dismiss the message and continue using the New Dashboard dialog to create a dashboard.
If an analysis includes a treemap view, you can’t properly export the results to Adobe Acrobat, Microsoft Excel, or Microsoft Powerpoint unless Oracle BI EE was installed with the correct version of the Java Development Kit (JDK).
To work around this issue, install JDK 1.8.0.60 on the Oracle BI Server machine. The JDK version must be 8u60 Build b10 or later. You must install JDK before you install Oracle BI EE.
This section describes issues and workarounds for Oracle BI Publisher.
When an Oracle BI Publisher report using BI Publisher Template (.xpt) includes a bar chart and if Time is represented along the x-axis, then the x-axis labels aren’t displayed properly.
Date
to String
.When you use the ScheduleService web service in BI Publisher to print a document as PDF, you might see an error message such as Document is not a PDF File.
This issue occurs only if you've configured the PDFtoPostScript filter to print the file to a Postscript printer. After converting a PDF file into a Postscript file, BI Publisher doesn't change the content type from application-pdf
to application/octet-stream
in the web service.
To work around this issue, set the contentType to application/octet-stream
in the DeliveryRequest
parameter of the web service.
This section describes issues and workarounds for Oracle BI Documentation.
Topics
Developer's Guide for Oracle Business Intelligence Enterprise Edition
Integrator's Guide for Oracle Business Intelligence Enterprise Edition
Scheduling Jobs Guide for Oracle Business Intelligence Enterprise Edition
System Administration Guide for Oracle Business Intelligence
XML Schema Reference for Oracle Business Intelligence Enterprise Edition
Developer's Guide for Oracle Business Intelligence Publisher
This issue addresses documentation for Oracle BI Publisher and Oracle BI Enterprise Edition that is no longer updated.
The following documentation is no longer being updated within the guides themselves. See this and future Release Notes for updates to these documents:
Developer's Guide for Oracle Business Intelligence Enterprise Edition
Integrator's Guide for Oracle Business Intelligence Enterprise Edition
Scheduling Jobs Guide for Oracle Business Intelligence Enterprise Edition
XML Schema Reference for Oracle Business Intelligence Enterprise Edition
Oracle Fusion Middleware User's Guide for Oracle Business Intelligence Mobile Application Designer
Developer's Guide for Oracle Business Intelligence Publisher
The following issues address System Requirements and Specifications Guide.
Oracle Fusion Middleware System Requirements and Specifications Guide includes a section on requirements for the IBM AIX operating system.
That section includes a table with a row for version 7.1 (Update 1). In that row, the values:
xlC.aix61.rte (version 12.1.0.1+)
xlC.rte (version 12.1.0.1+)
must be replaced with
xlC.aix61.rte (version 13.1.0.1+)
xlC.rte (version 13.1.0.1+)
The following issues address documentation for Oracle BI Administration Tool
The Oracle BI Administration Tool online help is no longer being updated.
Refer to About the Oracle BI Administration Tool in Metadata Repository Builder's Guide for Oracle Business Intelligence Enterprise Edition for current information about current functionality in the Oracle BI Administration Tool, and the Release Notes for documentation updates.
Correction to Help Topic in New Features Section
The Help topic New Command Line Utilities in the section New Features for Oracle BI EE 12c Release (12.2.1) contains two duplicate entries.
The commands Delete Application Role Command
and Rename Application Role Command
should only be listed once each.
The following issues address the Developer's Guide for Oracle Business Intelligence Enterprise Edition
In Developer's Guide for Oracle Business Intelligence Enterprise Edition, Chapter 1 Embedding Business Intelligence Objects in ADF Applications, the How to Create and Use Impersonate User section is inaccurate.
The 11g oracle.bi.server.impersonateUser permission does not exist in 12c. To create a user or application role with permission to impersonate, you must create a permission grant using the Resource Type oracle.bi.user, with a name of an asterisk (*) and an action of impersonate.
Note:
You can choose to grant the newly created permission to either an application role or a user. In this example we choose user.The following issues address Integrator's Guide for Oracle Business Intelligence Enterprise Edition.
Documentation Mentions of Catalog Groups Are No Longer Applicable
Integrator's Guide for Oracle Business Intelligence Enterprise Edition Requires Updates
Updating authenticationschemas.xml Needs Additional Statement
Documentation About Setting up E-Business Suite Authentication
Integrating with Oracle E-Business Suite Security Chapter Requires Updates
In Integrator's Guide for Oracle Business Intelligence Enterprise Edition, Chapter 1 Introduction to Oracle Business Intelligence Web Services, the What are the Oracle Business Intelligence Session-Based Web Services? section requires updates.
The last paragraph suggests that depending on your client version, you access the WSDL document using one of the following Oracle BI EE web services URLs:
http://host:port/analytics-ws/saw.dll/wsdl/v6
http://host:port/analytics-ws/saw.dll/wsdl/v7
This paragraph should not mention v6 or v7, but should state that for Oracle BI EE 12c, if you want to develop new code or recompile existing code, you should use version 12 (or later) of the Oracle BI EE web services URL. For example:
http://host:port/analytics-ws/saw.dll/wsdl/v12
Starting with Release 12c (12.2.1.1.0), catalog groups have been removed.
Scheduling Jobs Guide for Oracle Business Intelligence Enterprise Edition and Integrator's Guide for Oracle Business Intelligence Enterprise Edition mention catalog groups. The mentions of catalog groups in these guides are no longer applicable.
This issue addresses updates to portions of Integrator's Guide for Oracle Business Intelligence Enterprise Edition, which is no longer being updated.
The following sections address updates to Integrator's Guide for Oracle Business Intelligence Enterprise Edition.
Section 5.3 - Configuring the Action Framework
The statement preceding Table 5.3 currently states:
The Oracle BI EE installation contains a configuration file named ActionFrameworkConfig.xml. You manually edit this configuration file to specify how you want the Action Framework to behave. This configuration file is located by default in the following location:<Oracle Middleware Home>\user_projects\domains\bifoundation_domain\config\fmwconfig\biinstances\coreapplication
This is an error. The configuration file is located by default in the following location:
<Oracle Middleware Home>\user_projects\domains\bi\config\fmwconfig\biconfig\actions
Section - 9.2.3 Updating instanceconfig.xml
Step 2 of this procedure currently states that the instanceconfig.xml file is here:
ORACLE_INSTANCE/config/OracleBIPresentationServicesComponent/coreapplication_o bipsn
.
In 12c, the instanceconfig.xml
file is here:
BI_DOMAIN/config/fmwconfig/biconfig/OBIPS
Section - 9.3.6 Setting Up a Profile
Step 5 of this procedure currently states:
http://my_server.domain.com:port/analytics
This is an error. The /analytics
portion of this path should be left out.
Step 5 of this procedure should state:
http://my_server.domain.com:port
Section 9.3.7 - Navigating from E-Business Suite to Oracle Business Intelligence
Step 4 of this procedure currently states:
4. In the Menu field, select the menu that you created in Section 9.3.3, Creating a Menu That Invokes the Form Function (for example, OBIEE).
The Form Function is invoked that links to Oracle Business Intelligence.
Step 4 of this procedure should state:
4. In the Menu field, select the menu that you created in Section 9.3.3, Creating a Menu That Invokes the Form Function (for example, OBIEE).
This launches Oracle Business Intelligence.
In Integrator's Guide for Oracle Business Intelligence Enterprise Edition, Chapter 10 Integrating with Oracle E-Business Suite Security, the Updating authenticationschemas.xml section is incorrect for Oracle BI EE Release 12.2.1 or later.
The following statement must be added between Step 4 and Step 5:
Locate the sub-element RequestVariable source="constant"
and change the value of the nameInSource
attribute from ssi
to the name of the service instance created during domain configuration. If not chosen explicitly, the default value is ssi. For example:
<RequestVariable source="constant" type="auth" nameInSource="ssi" biVariableName="NQ_SESSION.SERVICEINSTANCEKEY" />
If the entry doesn't already exist, then add a new entry under:
<AuthenticationSchema name="EBS-ICX">
In Integrator's Guide for Oracle Business Intelligence Enterprise Edition, Chapter 10 Integrating with Oracle E-Business Suite, the Setting Up Authentication section is inaccurate.
Using session variables in initialization blocks for authentication in the E-Business Suite environment integrated with Oracle Business Intelligence, lightweight single sign-on (SSO) does not work in release 12.2.1.3.0. Lightweight SSO is enabled by default. See Lightweight SSO and Legacy Authentication Options in Security Guide for Oracle Business Intelligence Enterprise Edition.
You must disable lightweight SSO to continue to use session variables in initialization blocks for authentication. You should disable lightweight SSO using the disableBISingleSignOn
comand. See Enabling and Disabling SSO Authentication Using WLST Commands in Security Guide for Oracle Business Intelligence Enterprise Edition.
If you must use SSO, there are other options available.
In Integrator's Guide for Oracle Business Intelligence Enterprise Edition, Chapter 9 Integrating with Oracle E-Business Suite Security, describes how to set up Oracle Business Intelligence to use Oracle E-Business Suite security.
Some of the information in that chapter is no longer accurate and has been replaced with information in the My Oracle Support Note entitled "Integrating OBIEE 12c with Oracle E-Business Suite (EBS) Security" (Doc ID 2174747.1). See the Support Note for details on setting up Oracle Business Intelligence to use Oracle E-Business Suite security.
The following issues address Scheduling Jobs Guide for Oracle Business Intelligence Enterprise Edition.
Starting with Release 12c (12.2.1.1.0), catalog groups have been removed.
Scheduling Jobs Guide for Oracle Business Intelligence Enterprise Edition and Integrator's Guide for Oracle Business Intelligence Enterprise Edition mention catalog groups. The mentions of catalog groups in these guides are no longer applicable.
Scheduling Jobs Guide for Oracle Business Intelligence Enterprise Edition, which is no longer being updated, requires an update.
Scheduling Jobs Guide for Oracle Business Intelligence Enterprise Edition is not clear regarding passwords and impersonation. When impersonation is required, don’t provide a password.
The following issues address System Administration Guide for Oracle Business Intelligence.
In the System Administration Guide for Oracle Business Intelligence, the chapter on "Introduction to Using Oracle Essbase in Oracle Business Intelligence" needs a few corrections.
The "About the Essbase Active-Passive Topology" section states that high availability is supported using an active-passive topology. This is inaccurate; Essbase doesn't support a high availability configuration. If you need to use Oracle Essbase as part of a fail-over cluster configuration, use Essbase with EPM 11.1.2.4 with the OPMN process.
For complete documentation on Oracle Business Intelligence go to http://docs.oracle.com/en/middleware/.
The following issues address XML Schema Reference for Oracle Business Intelligence Enterprise Edition.
XML Schema Reference for Oracle Business Intelligence includes various examples of the RefObject element.
When including this element, ensure that you include both the id attribute and the qualifiedName attribute, even if the id attribute is absent from certain examples in the guide. If you omit the id attribute, then you might see a message that reads similar to could not resolve object error.
The following issues address Developer's Guide for Oracle Business Intelligence Enterprise Edition.
The following issues address corrections to Developer's Guide for Oracle Business Intelligence Enterprise Edition.
In the Data Types in Oracle BI Publisher Web Services chapter, the following updates are required.
Add a New Data Type For Delivering Web Center Content
After section FTPDeliveryOption, add a new section called 2.3.27 WCCDeliveryOption.
Use the following two paragraphs as the description, then add the following table:
"Use this data type to define the options to set for WCC delivery of a report. The WCC server must be set up in the BI Publisher Administration pages first. To set up an WCC server see Setting Up Delivery Destinations in the Developer's Guide for Oracle Business Intelligence Publisher.
"This type is used in the ArrayOfWCCDeliveryOption complex data type."
Field | Description |
---|---|
String WCCAccount | Optional. Select an account from the WebContent Server. |
String WCCAuthor | Optional. Enter the name of the author. If you don’t specify an author, then the value defaults to the login name of the user. |
String WCCComments | Optional. Enter comments to include with the document on the WebContent Server. |
String WCCFileName | Required. Enter the name to assign to the file on the server. For example: report.pdf. |
Boolean WCCIncludeMetadata | Required. Specify True to allow custom metadata to be sent with the document. Custom metadata is defined in the data model. |
String WCCSecurityGroup | Required. Select the security group on the WebContent Server to assign to the report. |
String WCCServerName | Required. Enter the name of the WebContent Server as defined in the BI Publisher Administration page. |
String WCCTitle | Optional. Enter a title for the report. If you don’t enter a title, then the Layout name is used as the title. |
Add a New Section Called ArrayOfWCCDeliveryOption
After ArrayOfFTPDeliveryOption, add a new section called 2.3.5 ArrayOfWCCDeliveryOption.
Use the following description and table:
"Use this data type to hold an array of WCCDeliveryOption objects."
Field | Description |
---|---|
WCCDeliveryOption [] item | See Section 2.3.27 WCCDeliveryOption |
Add Row For Delivering Web Center Content
In DeliveryChannels, add a row to Table 2-22 Fields Provided by DeliveryChannels, after the row "ArrayOfFTPDeliveryOption ftpOptions" using the details shown in the following table. The description should cross reference to the new section 2.3.5 ArrayOfWCCDeliveryOption:
Field | Description |
---|---|
ArrayOfWCCDeliveryOption wccOptions | See Section 2.3.5 ArrayOfWCCDeliveryOption |
In Developer's Guide for Oracle Business Intelligence Publisher, Chapter 2 Data Types in Oracle BI Publisher, the JDBCDataSource section contains an incorrect description of the String JDBCDriverType field.
The correct description of the String JDBCDriverType field is:
The driver type as String can be either jdbc or jndi.
The values that are indicated for the status field of JobOutput and JobOutputDelivery objects in Chapter 2 are incorrect in Developer's Guide for Oracle Business Intelligence Publisher.
The correct list of status values that are available through the getAllScheduledReportHistoryReturn web service are as follows.
STATUS_RUNNING = 'R';
STATUS_SUCCESS = 'S';
STATUS_FAILED = 'F';
STATUS_CANCELLING = 'G';
STATUS_CANCELED = 'C';
STATUS_WITH_DELIVERY_ERROR = 'D';
STATUS_SKIPPED = 'K';
STATUS_WARNING = 'I';
STATUS_UNKNOWN = 'X';
JobOutputDelivery status values:
STATUS_FAILED = 'F';
STATUS_WARNING = 'I';
STATUS_UNKNOWN = 'X';
STATUS_RUNNING = 'R';
STATUS_SUCCESS ='S';
In Developer's Guide for Oracle Business Intelligence Publisher, Chapter 3 ScheduleService, the getScheduledJobInfo() Method section requires updates. The signature incorrectly references the JobInfo object.
The JobInfo object is currently referenced as follows:
JobInfo getScheduledJobInfo(int jobInstanceID, String userID, String password);
The signature should instead reference the JobDetail object as follows:
JobDetail getScheduledJobInfo(int jobInstanceID, String userID, String password);
In Developer's Guide for Oracle Business Intelligence Publisher, Chapter 8 Using the Delivery Manager Java APIs, Table 8–8 Properties for Delivering Documents over SFTP is missing information about the SFTP_HOSTKEY_FINGERPRINT property. See the following section for the correct information.
SFTP_HOSTKEY_FINGERPRINT
Enter the MD5 fingerprint of the SSH host key in a hexadecimal string. Don’t include a delimiter such as a colon (:) to separate each byte. This property is optional.
When this property is set, the MD5 fingerprint of the host key retrieved from the server at runtime is verified to match the supplied value. If it does not match, then the connection is terminated as the fingerprint mismatch indicates that the SSH client is connecting to an unintended host, possibly as a result of a man-in-the-middle attack. When this property is not set, the connection to the host is made without host key fingerprint verification.
Supported Configuration File Properties and Elements
<hostKeyFingerprint>
element is supported for <server type="sftp">
In Developer's Guide for Oracle Business Intelligence Publisher, Chapter 11 Adding Extensions to the Layout Editor mentions that you can add JavaScript plug-in extensions to the Layout Editor.
The Layout Editor doesn't support custom JavaScript plug-ins. This issue has no workaround.
In Developer's Guide for Oracle Business Intelligence Publisher, Chapter 7 Using the BI Publisher Java APIs, the PDF Document Merger section is no longer applicable and is replaced with the following text.
Merging PDF Documents
Many business documents are composed of several individual documents that need to be merged into a single final document. The PDF Merger class supports the merging of multiple documents to create a single PDF document. This can then be manipulated further to add page numbering, watermarks, or other background images.
Merging PDF Documents with Input/Output File Names
The following code demonstrates how to merge (concatenate) two PDF documents using physical files to generate a single output document.
PDF_1 file name (String)
PDF_2 file name (String)
PDF file name (String)
Sample Code for Merging PDF Documents with Input/Output File Names:
import java.io.*; import oracle.xdo.common.pdf.util.PDFMerger; . . . public static void main(String[] args) { PDFMerger merger = null; try { // Initialize PDFMerger - last argument is PDF file name for output merger = new PDFMerger(new File(args[args.length - 1])); // Add PDF documents to merge for (int i = 0; i < args.length - 1; i++) { merger.addDocument(new File(args[i])); } } catch (Exception exc) { exc.printStackTrace(); } finally { if (merger != null) { // Close the merged document try { merger.close(); } catch (Exception exc) { exc.printStackTrace(); } } } }
Merging PDF Documents with Input/Output Streams
PDF Documents (InputStream Array)
PDF Document (OutputStream)
Merging PDF Documents with Input/Output Streams
import java.io.*; import oracle.xdo.common.pdf.util.PDFDocMerger; . . . public boolean mergeDocs(InputStream[] inputStreams, OutputStream outputStream) { PDFMerger merger = null; try { // Initialize PDFMerger merger = new PDFMerger(outputStream); // Add input stream one by one for (InputStream inputStream : inputStreams) { merger.addDocument(inputStream); } } catch (Exception exc) { exc.printStackTrace(); return false; } finally { if (merger != null) { // Close the merged document try { merger.close(); } catch (Exception exc) { exc.printStackTrace(); return false; } } }
Merging with Background to Place Page Numbering
The following code demonstrates how to merge two PDF documents using input streams to generate a single merged output stream.
You can add page numbers to the PDF.
Create a background PDF template document that includes a PDF form field in the position that you would like the page number to appear on the final output PDF document.
Name the form field @pagenum @.
Enter the number in the field from which to start the page numbering. If you don’t enter a value in the field, the start page number defaults to 1.
Input:
PDF Documents (InputStream Array)
Background PDF Document (InputStream)
Output:
PDF Document (OutputStream)
Sample Code for Merging PDF Documents with Background to Place Page Numbering
import java.io.*; import oracle.xdo.common.pdf.util.PDFDocMerger; . . . public boolean mergeDocs(InputStream[] inputStreams, InputStream backgroundStream, OutputStream outputStream) { PDFMerger merger = null; try { // Initialize PDFMerger merger = new PDFMerger(outputStream); // Set Background merger.setBackground(backgroundStream); // Add input stream one by one for (InputStream inputStream : inputStreams) { merger.addDocument(inputStream); } } catch (Exception exc) { exc.printStackTrace(); return false; } finally { if (merger != null) { // Close the merged document try { merger.close(); } catch (Exception exc) { exc.printStackTrace(); return false; } } } return true; }
Setting a Text or Image Watermark
Some documents that are in a draft phase require that a watermark indicating "DRAFT" be displayed throughout the document. Other documents might require a background image on the document. The following code sample shows how to use the PDFDocMerger class to set a watermark.
Setting a Text Watermark
Use the setTextDefaultWatermark()
method to set a text watermark with the following attributes:
Text angle (in degrees): 55
Color: light gray (0.9, 0.9, 0.9)
Font: Helvetica
Font Size: 100
The start position is calculated based on the length of the text
Alternatively, use the setTextWatermark()
method to set each attribute separately. Use the setTextWatermark() method as follows:
setTextWatermark
("Watermark Text", x, y) - declare the watermark text, and set the x and y coordinates of the start position. In the following example, the watermark text is "Draft" and the coordinates are 200f, 200f.
setTextWatermarkAngle
(n) - sets the angle of the watermark text. If this method is not called, 0 will be used.
setTextWatermarkColor
(R, G, B) - sets the RGB color. If this method is not called, light gray (0.9, 0.9, 0.9) will be used.
setTextWatermarkFont
("font name", font size) - sets the font and size. If you do not call this method, Helvetica, 100 will be used.
The following example shows how to set these properties and then call the PDFDocMerger.
Input:
PDF Documents (InputStream)
Output:
PDF Document (OutputStream)
Sample Code for Setting a Text Watermark in PDF Documents
import java.io.*; import oracle.xdo.common.pdf.util.PDFDocMerger; . . . public boolean mergeDocs(InputStream[] inputStreams, OutputStream outputStream) { PDFMerger merger = null; try { // Initialize PDFMerger merger = new PDFMerger(outputStream); // You can use setTextDefaultWatermark() without these detailed setting merger.setTextWatermark("DRAFT", 200f, 200f); //set text and place merger.setTextWatermarkAngle(80); //set angle merger.setTextWatermarkColor(1.0f, 0.3f, 0.5f); // set RGB Color // Add input stream one by one for (InputStream inputStream : inputStreams) { merger.addDocument(inputStream); } } catch (Exception exc) { exc.printStackTrace(); return false; } finally { if (merger != null) { // Close the merged document try { merger.close(); } catch (Exception exc) { exc.printStackTrace(); return false; } } } return true; }
Setting Image Watermark
An image watermark can be set to cover the entire background of a document, or just to cover a specific area (for example, to display a logo). Specify the placement and size of the image using rectangular coordinates as follows:
float[] rct = {LowerLeft X, LowerLeft Y, UpperRight X, UpperRight Y}
For example:
float[] rct = {100f, 100f, 200f, 200f}
The image will be sized to fit the rectangular area defined.
To use the actual image size, without sizing it, define the LowerLeft X and LowerLeft Y positions to define the placement and specify the UpperRight X and UpperRight Y coordinates as -1f. For example:
float[] rct = {100f, 100f, -1f, -1f}
Input:
PDF Documents (InputStream)
Image File (InputStream)
Output:
PDF Document (OutputStream)
Sample Code for Setting an Image Watermark in PDF Documents
import java.io.*; import oracle.xdo.common.pdf.util.PDFDocMerger; . . . public boolean mergeDocs(InputStream[] inputStreams, OutputStream outputStream, String imageFilePath) { PDFMerger merger = null; try { // Initialize PDFMerger merger = new PDFMerger(outputStream); FileInputStream wmStream = new FileInputStream(imageFilePath); float[] rct = {100f, 100f, -1f, -1f}; merger.setImageWatermark(wmStream, rct); // Add input stream one by one for (InputStream inputStream : inputStreams) { merger.addDocument(inputStream); } } catch (Exception exc) { exc.printStackTrace(); return false; } finally { if (merger != null) { // Close the merged document try { merger.close(); } catch (Exception exc) { exc.printStackTrace(); return false; } } } return true; }
Oracle Fusion Middleware Release Notes for Business Intelligence, Release 12.2.1.3.0
E80928-05
Copyright © 2010, 2018, Oracle and/or its affiliates. All rights reserved.
This document describes new features and other notable changes for Oracle Business Intelligence Enterprise Edition.
This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.
The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.
If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable:
U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.
This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.
Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.
This software or hardware and documentation may provide access to or information about content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services unless otherwise set forth in an applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services, except as set forth in an applicable agreement between you and Oracle.
This documentation is in preproduction status and is intended for demonstration and preliminary use only. It may not be specific to the hardware on which you are using the software. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to this documentation and will not be responsible for any loss, costs, or damages incurred due to the use of this documentation.
The information contained in this document is for informational sharing purposes only and should be considered in your capacity as a customer advisory board member or pursuant to your beta trial agreement only. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described in this document remains at the sole discretion of Oracle.
This document in any form, software or printed matter, contains proprietary information that is the exclusive property of Oracle. Your access to and use of this confidential material is subject to the terms and conditions of your Oracle Master Agreement, Oracle License and Services Agreement, Oracle PartnerNetwork Agreement, Oracle distribution agreement, or other license agreement which has been executed by you and Oracle and with which you agree to comply. This document and information contained herein may not be disclosed, copied, reproduced, or distributed to anyone outside Oracle without prior written consent of Oracle. This document is not part of your license agreement nor can it be incorporated into any contractual agreement with Oracle or its subsidiaries or affiliates.