Oracle Application Express
返回 Oracle APEX 首页
Application Express 中的 PDF 打印
  1. 简介和体系结构
  2. 配置选项
    2.1  标准
    2.2  高级
    2.3  在 Application Express 中使用 BI Publisher 的优势
  3. 在 Windows 上安装和配置 Oracle BI Publisher
    3.1  前提条件
    3.2  安装 BI Publisher
    3.3  配置 Application Express 以使用 BI Publisher
  4. 在 Linux 上安装和配置 Oracle BI Publisher
    4.1  前提条件
    4.2  安装 BI Publisher
    4.3  配置 Application Express 以使用 BI Publisher
  5. 安装和配置 Apache FOP
    5.1  前提条件
    5.2  说明
  6. 配置其他 XSL-FO 处理引擎
  7. 在 Oracle 数据库 11g 中启用网络服务
1. 简介和体系结构

Application Express 3.0 引入了将报表区域导出到 PDF 的功能,尤其是打印报表的功能。这是以声明方式定义的,并可用于所有报表区域。Application Express 用户现在可以查看并打印报表,报表包含每个页面上重复的页面标题以及完全符合各种页面大小的内容。要达到此目的,需要使用外部定义的报表服务器将报表数据转换成 PDF 格式。已将更多打印增强功能整合到 Oracle Application Express 3.1 中的区域打印属性和报表查询中。下图说明了 Application Express PDF 打印体系结构:


Application Express PDF 打印体系结构

当应用程序的最终用户单击打印链接时,请求将发送到 Application Express 引擎(属于 Oracle 数据库)。然后,Oracle APEX 引擎以 XML 格式生成相应的报表数据并以 XSL-FO 或 RTF 格式生成相应的报表模板。然后,外部报表引擎使用 BI Publisher 10.1.3.2(以前称为 Oracle XML Publisher)附带的转换 servlet 将数据和模板转换为向最终用户显示的 PDF 格式。该体系结构的完成对最终用户和开发人员全是透明的。最终用户只需单击打印链接,开发人员只需以声明方式设置区域即可支持 PDF 打印。

 

返回页首

2. 配置选项

报表服务器可以是 Oracle BI Publisher、带有 Apache FOP 的 OC4J 或其他标准的 XSL-FO 处理引擎。如果您选择 BI Publisher 作为报表服务器,您将享受更高级别的功能。为容纳功能上的差异,Oracle Application Express 提供了两种级别的功能,即标准和高级。使用标准配置,您只限于使用基于 XSL-FO 的报表模板。

2.1 标准

使用 Apache FOP 或其他标准 XSL-FO 处理引擎可以实现标准配置。从 Application Express 3.0.1 开始,包含了与 Oracle Containers for J2EE (10.1.3.2) 结合使用的受支持的 Apache FOP 配置。这通过页面属性的基本控制提供报表区域和报表查询的声明式格式设置。这些属性包括方位、大小、列标题格式、页面标题以及页脚。以下屏幕快照说明了标准配置。

包含打印链接的报表区域 标准报表的 PDF 输出 使用背景颜色的 PDF 输出


2.2 高级

高级配置需要 Oracle BI Publisher 的有效许可证。通过高级配置,您除了拥有标准配置的所有功能外,还可以使用 BI Publisher Word 模板插件来定义基于 RTF 的报表布局。这提供了对报表各个方面的简便图形控制。您可以将徽标添加到页面中、添加复杂的分组控制并具有完全的分页控制。您甚至还可以嵌入图表和创建看起来就像标准政府格式的报表。以下屏幕快照说明了高级配置。

授权应用程序 带分组的主从页面 多个图表和报表


此处还提供了有关高级 PDF 报表的方法文档: 如何创建主从 PDF 报表

2.3 在 Application Express 中使用 BI Publisher 的优势

使用 BI Publisher 作为您的 Application Express 打印服务器可以生成更健全和更专业的应用程序。

  • 无缝:打印功能完成集成到 Application Express 中。
  • 多个输出格式:除了 PDF 之外还可以生成 Word、Excel 和 HTML 输出。
  • 健全的报表布局:开发人员可以使用基于 RTF 的模板提供对分组控制、标题、页脚的更好控制,并可以嵌入图表。
  • 支持非西方欧洲字体:高级本地化功能,包括对 CJK、BiDi、Unicode 和 MLS 的全面支持。
  • 单个文件导出/导入:基于 RTF 的报表布局是应用程序定义的一部分,因此它们与应用程序一同导入和导出。
  • 受 Oracle 支持:使用 BI Publisher 时,您使用的是受支持的 Oracle 产品。
除了在 Application Express 中使用 BI Publisher 的优点之外,BI Publisher 还可以通过其他方式使您的组织受益。
  • 调度和传递
  • 基于多个 SQL 查询创建报表
  • 异种数据库支持
  • 分页
  • 报表缓存
  • 高性能

返回页首

3. 在 Windows 上安装和配置 Oracle BI Publisher
3.1 前提条件

要使用 Oracle BI Publisher 作为报表服务器,需要安装 Oracle Business Intelligence Publisher 10.1.3.2.1 版。可以通过 OTN 开发人员许可下方的链接下载(……有限许可,您可以使用本软件程序开发一个应用系统原型(仅一个),该许可不得转让,不得用于任何其他用途……)。

       Oracle Business Intelligence Publisher 下载,选择 BI Publisher 10.1.3.2.1

还可以同时下载桌面软件。这使您可以创建 RTF 模板以在报表中使用。有关 Oracle BI Publisher 的更多信息,请访问 OTN 网站

请注意:
1) 支持与 Oracle Application Express 集成的 BI Publisher 的所需最低版本为 10.1.3.2。将 XML Publisher 重命名为当前 10.1.3.2 版的 BI Publisher。XML Publisher 5.6.2 不支持与 Oracle Application Express 的集成,无法用作 PDF 呈现引擎。

2) 构建模板时,如在尝试加载 XML 示例模板时出现以下错误,“Compile error in hidden module:Module_starter”,它是由 Windows 安全路径引起的。解决方法是:

  1. 转至“开始”菜单:
       “所有程序”-> Oracle BI Publisher Desktop -> Template Builder for Word Language
  2. 选择适当的语言
  3. 单击 OK
现在,您应该可以正常使用插件了。

3.2 安装 BI Publisher

 

  1. 将 bipublisher_windows_x86_101321_disk1.zip 解压缩至一个新目录 ( the_dir)。请注意,目录路径不要包含任何空格,例如,请勿使用“C:\...\My Documents\BI Publisher”。
  2. 导航至 the_dir\Windows\Disk1\install
  3. 双击 setup.exe
    随即您将转至 Oracle Installer
  4. 遵循屏幕上的指示进行以下选择
    • 对于 Destination,输入 BIHOME
    • 对于 Type,选择 Basic
      这将安装 Oracle Containers for Java、Sun JDK ……
    • 设置一个 OC4J 管理口令
    • 在最后一页“End of Installation”中,记住端口号。它将用于 URL 中以访问 BI Publisher(例如,9704)。您还应记住用户名和口令,以便在稍后验证 XMLP 服务器是否已启动并运行时使用它们。
您的 BI Publisher 服务器现在应已启动并运行。若要验证安装,请从“Oracle - BIHOME”下的 Windows“开始”菜单访问 BI Publisher 服务器。选择 BI Publisher 服务器,如果出现了登录屏幕,则服务器已运行。也可以根据需求,使用安装程序给出的用户名和口令(例如,Administrator/Administrator)登录。

3.3 配置 Application Express 以使用 BI Publisher

要将 BI Publisher 用作报表服务器,首先要访问 Report Printing 参数:

  1. 访问 Administration Services 主页
  2. 选择 Manage Service
  3. 选择 Manage Environment Settings 下的 Instance Settings
  4. 单击 Report Printing 仅关注 Report Printing 属性
现在,指定以下属性:
  • Oracle BI Publisher:Advanced Support
  • Print Server Protocol:HTTPHTTPS(取决于您的配置)
  • Print Server Host Address: 安装了 BI Publisher 的计算机的主机名 — 例如,myhost.mycompany.com
  • Print Server Port: BI Publisher 安装结束时给出的端口 — 例如,9704
  • Print Server Script:/xmlpserver/convert
有关 BI Publisher 的更多信息,请参阅 BI Publisher OTN 网站。Application Express 与 BI Publisher 10.1.3.2 和更高版本兼容。

 

返回页首

4. 在 Linux 上安装和配置 Oracle BI Publisher
4.1 前提条件

此时,针对 Linux 的独立的 BI Publisher 下载似乎无法使用。一旦问题得到解决,我们将更新说明。现在,请从此处下载 Oracle 业务智能企业版 10.1.3.2:

       Oracle 业务智能企业版

安装 Oracle BI Publisher 之前,请确保已在系统中安装了 Java SDK 1.5.0。可从此处下载 Java SDK:

       http://java.sun.com/javase/downloads/index_jdk5.jsp

注:Sun 版本名称最初为 Java 2 平台,标准版 1.5.0(J2SE 开发工具包 1.5.0)。编号系统更改为 5.0 (J2SE 5.0)。1.5.0 和 5.0 指的是相同的平台和产品。

4.2 安装 BI Publisher

下载完文件后,解压缩下载的文件,然后启动 Oracle Installer。可以在 disk 1 文件夹中找到该程序。安装期间,您可以选择安装完整的套件或者仅安装选择的组件。如果安装只是用于 Application Express,则只需安装 BI Publisher 组件。

有关安装 Oracle 业务智能企业版 10.1.3.2 的更多信息,请参阅 Oracle 业务智能基础架构快速安装指南

安装完 BI Publisher 之后,需要启动 OC4J。启动 OC4J 后,应打开 BI Publisher 开始页面以验证 BI Publisher 已启动并运行。如果您不确定在 Application Express 中进行此配置时需要使用的主机地址和端口,请参考打开 BI Publisher 启动页面后在浏览器的 URL 域中显示的主机地址和端口。

4.3 配置 Application Express 以使用 BI Publisher

要将 BI Publisher 用作报表服务器,首先要访问 Report Printing 参数:

  1. 访问 Administration Services 主页
  2. 选择 Manage Service
  3. 选择 Manage Environment Settings 下的 Instance Settings
  4. 单击 Report Printing 仅关注 Report Printing 属性
现在,指定以下属性:
  • Oracle BI Publisher:Advanced Support
  • Print Server Protocol:HTTPHTTPS(取决于您的配置)
  • Print Server Host Address: 安装了 BI Publisher 的计算机的主机名 — 例如,myhost.mycompany.com
  • Print Server Port: BI Publisher 安装结束时给出的端口 — 例如,9704
  • Print Server Script: /xmlpserver/convert
有关 BI Publisher 的更多信息,请参阅 BI Publisher OTN 网站。Application Express 与 BI Publisher 10.1.3.2 和更高版本兼容。

 

返回页首

5. 安装和配置 Apache FOP
5.1 前提条件

随 Application Express 3.0.1 提供了与 Oracle Containers for J2EE (10.1.3.2) 结合使用的 Apache FOP 的受支持配置。Apache FOP 安装包含在 apex_install_directory/utlities/fop/fop.war 下的 Application Express 发行版本中。

请注意 — 从 Application Express 3.0.1 开始,与 Oracle Containers for J2EE (10.1.3.2) 结合使用的 Apache FOP 是一个受支持的报表服务器,但仅限于使用提供的文件进行安装的情形。不支持 Apache FOP 的其他配置。请将有关其他配置的疑问发布在 Application Express OTN 论坛上。

开始之前,您需要启动并运行 Oracle Containers for J2EE (OC4J)。已验证以下 OC4J 版本与下面描述的 FOP 解决方案配合使用。

第 1 步:安装 WAR 文件

 

将 fop.war 文件(位于 apex_install_directory/utlities/fop 中)放在本地计算机上的一个可访问位置中。然后,遵循下方的说明或运行该 viewlet 以查看流程。
  1. 导航至 OC4J Oracle 企业管理器控制台,例如:http://localhost:8888/em/
  2. 选择 Applications 选项卡
  3. 选择 Deploy 按钮
  4. 在“Deploy:Select Archive”页面上,使用选项“Archive is present on local host.Upload the archive to the server where Application Server Control is running.”使用文件浏览以选择 fop.war 文件,然后单击“Next”按钮
  5. 在“Deploy:Application Attributes”页面上,将“Application Name”选项设置为“fop”,清除“Context Root”选项并单击“Next”。
  6. 在 Deploy:Deployment Settings 上单击“Deploy”按钮
第 2 步:将 Oracle Application Express 配置为使用 JSP 进行 PDF 打印

 

安装 FOP 之后,访问 Report Printing 参数:
  1. 访问 Administration Services 主页
  2. 选择 Manage Service
  3. 选择 Manage Environment Settings 下的 Instance Settings
  4. 单击 Report Printing 仅关注 Report Printing 属性
现在,指定以下属性:
  • Oracle BI Publisher: Standard Support
  • Print Server Protocol: HTTPHTTPS(取决于您的配置)
  • Print Server Host Address: 运行 java 容器的计算机的主机名 — 例如 myhost.mycompany.com
  • Print Server Port: OC4J 在其上监听的端口 — 例如 8888
  • Print Server Script: /fop/apex_fop.jsp
请确保您准确地输入指定的打印机服务器设置,请勿在主机名前使用 http://、请勿在端口设置中使用分号,请勿在 JSP 名称后面使用“/”,而仅将其使用在“/fop/apex_fop.jsp”的前面。

 

返回页首

6. 配置其他 XSL-FO 处理引擎

如果喜欢使用其他 XSL-FO 处理引擎,则需要创建一个终端,为上述 Apache FOP 示例提供的示例 JSP 提供相似的功能。仅 Oracle BI Publisher 和上述的与 Oracle Containers for J2EE (10.1.3.2) 结合使用的 Apache FOP 安装可用作受支持的报表服务器。请将有关其他 XSL-FO 处理引擎的疑问发布在 Application Express OTN 论坛上。

返回页首

7. 在 Oracle 数据库 11g 中启用网络服务

默认为在 Oracle 数据库 11g 第 1 版 (11.1) 中禁用与网络服务的交互功能。因此,如果使用 Oracle 数据库 11g 第 1 版 (11.1) 运行 Oracle Application Express,则使用新的 DBMS_NETWORK_ACL_ADMIN 程序包将连接权限授予 FLOWS_030100 数据库用户的全部主机。授予这些权限失败将导致 PDF/报表打印问题,具体的说是您将收到以下错误消息:

ORA-20001: The printing engine could not be reached because either 
the URL specified is incorrect or a proxy URL needs to be specified.
请遵循 Oracle Application Express 安装指南中在 Oracle 数据库 11g 中启用网络服务部分给出的步骤。如果您收到了 ORA-44416,也可参阅其中的故障排除部分:运行前一脚本后的无效 ACL 错误。

 

返回页首

false ,,,,,,,,,,,,,,,,