国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

Oracle XML Publisher與JDeveloper 10g集成

2024-08-29 13:34:26
字體:
來源:轉載
供稿:網友
2006 年 11 月發布     Oracle xml Publisher 是基于 XSL-FO 的 Oracle 報表工具,它包含一個 GUI 和一組核心 API 組件。以下核心 API 可以與 Oracle JDeveloper 10.1.3 集成,以生成 PDF、Excel、Html 或 RTF 報表:
  • PDF Form PRocessing Engine API。將 PDF 模板與 XML 數據合并以生成 PDF 文檔。RTF Processor。將 RTF 模板轉換為可擴展樣式語言格式化對象 (XSL-FO) 文件,該文件隨后將用作 FO Processor Engine 的輸入。
  • FO Processor Engine。合并 XML 文件(數據源文件)與 XSLT 文件(模板),以生成 PDF、Excel、HTML 和 RTF 報表。
  • XSL-FO Utility。通過一個 XML 文件和 XSLT 文件或者一組 XML 和 XSLT 文件生成 XSL-FO 文件。PDF Document Merger。組合 PDF 文檔并添加頁碼。
  • PDF Book Binder Processor。將一組 PDF 文檔合并到單個文檔中,并采用章、節、子節和目錄的格式。
  • Document Processor Engine。通過單個 XML 文檔(指定了模板、數據源和輸出)對上述 API 進行批處理。
    在本文中,您將了解如何使用 FO Processor Engine、XSL-FO Utility 和 PDF Document Merger。您還可以大概了解能夠從數據庫生成 XML 文檔的 Data Engine API。該 API 使用 XML 模板指定對數據庫的 SQL 查詢以及所生成的 XML 文檔的結構。     某些 Oracle XML Publisher API 需要 RTF 和 PDF 模板作為輸入。要創建 RTF 模板,您需要 Oracle XML Publisher Desktop,這是一個 Microsoft Word 插件。要創建 PDF 模板,只需在 Word 文檔中定義一個布局,然后使用 Adobe Acrobat Distiller 將該文檔轉換為 PDF。盡管本文沒有討論需要 RTF 和 PDF 模板的 API,但使用它們生成報表的過程類似于使用 Oracle XML Publisher API 生成報表的過程。

安裝 Oracle XML Publisher

  • 下載 Oracle XML Publisher Enterprise 5.6.2 for Microsoft Windows,然后將 zip 文件 XMLP562_WIN.zip 解壓縮到一個目錄中。
  • 在 Oracle JDeveloper 10.1.3 中,選擇 File>New 以打開 New Gallery 向導。
  • 選擇 General>application 創建一個新應用程序,然后單擊 OK 按鈕。
  • 在 Create Application 框架中,指定一個應用程序名(如 XMLPublisher),然后單擊 OK
  • 在 Create Project 框架中,指定一個項目名(如 XMLPublisher),然后單擊 OK。這將在 Applications Navigator 中添加一個應用程序和一個項目。
  • 接下來,通過在 New Gallery 框架中選擇 General>java Class,將 Java 類添加到項目。
  • 在 Create Java Class 框架中,指定一個類名(如 XMLPublisher)和一個程序包名(如‘xmlpublisher’),然后單擊 OK 按鈕。這將在 Oracle XML Publisher 項目中添加一個 Java 類。
  • 在本文中,您將根據 XML 文檔創建 PDF 報表。因此,需要在 New Gallery 框架中選擇 General>XML>XML Document,將 XML 文檔添加到項目。

    您將在以下部分中為項目添加其他 XML 和 XSLT 文檔。圖 1 展示了 Oracle XML Publisher 項目的目錄結構:Oracle XML Publisher與JDeveloper 10g集成(圖一)
圖 1:Oracle XML Publisher 項目的目錄結構。
  • 接下來,通過選擇 Tools>Project Properties 將 Oracle XML Publisher API 的 Jar 文件添加到 Oracle XML Publisher 項目。
  • 在 Project Properties 框架中,選擇 Libraries
  • 使用 Add Jar/Directory 按鈕添加 Jar 文件。Oracle XML Publisher Jar 文件位于 <XMLP562_WIN>/manual/lib 目錄中;其中,<XMLP562_WIN> 是安裝有 Oracle XML Publisher zip 文件的目錄。
  • 使用 Add Library 按鈕添加 Oracle JDBC 庫,這需要建立 Oracle 數據庫的 JDBC 連接。單擊 OK
圖 2 展示了 Oracle XML Publisher 項目中的 Jar 文件/庫:Oracle XML Publisher與JDeveloper 10g集成(圖二)
圖 2:Oracle XML Publisher 項目庫。     下載并安裝 Oracle 數據庫 10g,然后創建一個包含示例模式的數據庫實例。然后,在 OE 模式中使用下面所示的 SQL 腳本創建示例數據庫表。 CREATE TABLE OE.Catalog(CatalogId VARCHAR(25) PRIMARY KEY, Journal VARCHAR(25), Publisher VARCHAR(25),Edition VARCHAR(25), Title Varchar(45), Author Varchar(25));INSERT INTO OE.Catalog VALUES('catalog1', 'Oracle Magazine', 'Oracle Publishing', 'March-April 2006', 'Commanding ASM', 'Arup Nanda');INSERT INTO OE.Catalog VALUES('catalog2', 'Oracle Magazine', 'Oracle Publishing', 'May-June 2006', 'Tuning Your View Objects', 'Steve Muench');INSERT INTO OE.Catalog VALUES('catalog3', 'Oracle Magazine', 'Oracle Publishing', 'May-June 2006', 'Managing Oracle Portal', 'Aradhana Puri');

FO Processor Engine

    FO Processor Engine API 用于從 XML 文件和 XSLT 文件生成 PDF、Excel、HTML 或 RTF 報表。在本部分中,我們將創建一個 PDF 文檔。PDF 報表的輸入 XML 文檔如下所示。<?xml version="1.0" encoding="UTF-8"?><!--A Oracle Magazine Catalog--> <catalog title="Oracle Magazine" publisher="Oracle Publishing"> <magazine date="March-April 2006"> <article><title>Using Bind Variables</title><author>Steve Muench</author></article><article><title>Commanding ASM</title><author>Arup Nanda</author> </article> </magazine><magazine date="May-June 2006"> <article><title>Tuning Your View Objects</title><author>Steve Muench</author> </article><article><title>Managing Oracle Portal</title><author>Aradhana Puri</author> </article></magazine></catalog>    要生成 PDF 報表,您需要一個 XSL-FO 文件。XSL 規范中說明了格式化對象。這里,您將定義一個 XSLT 樣式表,用于將 XML 文件轉換為 XSL-FO 文件。隨后,我們將使用 FO Processor Engine 將該文件轉換為報表。
    XSL-FO 文件指定如何在報表中格式化數據,包括布局、字體和表。XSL-FO 文件中的元素位于帶‘fo’前綴的命名空間中,該命名空間通過命名空間聲明 xmlns:fo=http://www.w3.org/1999/XSL/Format 來指定。XSL-FO 文件的 DTD 可以從 fo.zip 中獲得。     您可以通過 XML 模式驗證 XSL-FO 文件,方法是將 XSL-FO 文件的 DTD 轉換為 XML 模式。Oracle JDeveloper 可以注冊 XSL-FO 文件的 XML 模式,并生成或驗證 XSL-FO 文件的實例。驗證 XSL-FO 文件指的是檢查 XSL-FO 文件的格式。表 1 列出了 XSL-FO 文件中的某些元素。表 1. XSL-FO 文檔元素元素說明fo:rootXSL-FO 文檔中的根元素fo:layout-master-set指定一組頁面模板fo:simple-page-master頁面布局fo:page-sequence指定頁面模板的順序fo:flow頁面內容fo:block塊內容fo:list-block指定列表fo:list-item列表項fo:table表fo:table-column表列fo:table-header表頭fo:table-body表主體fo:table-row表行fo:table-cell表單元格示例 XSLT 樣式表 (catalog.xsl) 用于從輸入 XML 文件 (catalog.xml) 生成 XSL-FO 文件。catalog.xsl <?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet version="1.1" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"xmlns:fo="http://www.w3.org/1999/XSL/Format"><xsl:output method="xml" version="1.0" omit-xml-declaration="no" indent="yes" <!-- ========================= --><!-- root element:catalog --> <!-- ========================= --><xsl:template match="/catalog"><fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"><fo:layout-master-set><fo:simple-page-master master-name="simpleA4" page-height="29.7cm" page-width="21cm" margin-top="2cm" margin-bottom="2cm" margin-left="2cm" margin-right="2cm"><fo:region-body</fo:simple-page-master></fo:layout-master-set><fo:page-sequence master-reference="simpleA4"><fo:flow flow-name="xsl-region-body"><fo:block font-size="16pt" font-weight="bold" space-after="5mm">Catalog:<xsl:value-of select="@title"</fo:block><fo:block font-size="16pt" font-weight="bold" space-after="5mm">Publisher:<xsl:value-of select="@publisher"</fo:block><fo:block font-size="10pt"> <fo:table table-layout="fixed"><fo:table-column column-width="4cm"<fo:table-column column-width="4cm"<fo:table-column column-width="5cm"<fo:table-header><fo:table-row font-weight="bold"><fo:table-cell><fo:block><xsl:text>Date</xsl:text></fo:block></fo:table-cell><fo:table-cell><fo:block><xsl:text>Title</xsl:text></fo:block></fo:table-cell><fo:table-cell><fo:block><xsl:text>Author</xsl:text></fo:block></fo:table-cell></fo:table-row></fo:table-header><fo:table-body><xsl:apply-templates select="magazine"</fo:table-body></fo:table></fo:block></fo:flow></fo:page-sequence></fo:root></xsl:template> <xsl:template match="magazine"> <xsl:for-each select="article"><fo:table-row><fo:table-cell><fo:block><xsl:value-of select="../@date"/></fo:block></fo:table-cell><fo:table-cell><fo:block><xsl:value-of select="title"/></fo:block></fo:table-cell><fo:table-cell><fo:block><xsl:value-of select="author"/></fo:block></fo:table-cell></fo:table-row> </xsl:for-each></xsl:template></xsl:stylesheet>
    接下來,您將開發一個 Java 應用程序,以使用 Oracle XML Publisher API 生成報表。在 XMLPublisher.java 類中,導入 Oracle XML Publisher 類: import oracle.apps.xdo.template.FOProcessor;import oracle.apps.xdo.template.fo.util.FOUtility;import oracle.apps.xdo.common.pdf.util.PDFDocMerger;import oracle.apps.xdo.dataengine.DataProcessor;import oracle.apps.xdo.XDOException;創建 FOProcessor 對象。FOProcessor 類是使用 FO Processing Engine 的主要類。FOProcessor processor = new FOProcessor(); 設置輸入 XML 文件:processor.setData("catalog.xml"); 設置 XSLT 模板:processor.setTemplate("catalog.xsl"); 設置 PDF 文檔的輸出文件和輸出格式:processor.setOutput("catalog.pdf");processor.setOutputFormat(FOProcessor.FORMAT_PDF);表 2 列出了支持的輸出格式。表 2. FO Processor 輸出格式輸出格式說明FORMAT_AWTAWT 格式FORMAT_EXCELExcel 電子表格格式FORMAT_HTMLHTML 格式FORMAT_PDFPDF 格式FORMAT_RTFRTF 格式FORMAT_UIXUIX 格式假如需要 HTML 輸出,應指定 HTML 輸出文件和 HTML 輸出格式:processor.setOutput("catalog.html"); processor.setOutputFormat(FOProcessor.FORMAT_HTML);運行 FO Processor Engine:processor.generate();您將在示例代碼 zip 中找到 PDF 報表 (catalog.pdf),該報表是通過 FO Processor Engine 生成的。

XSL-FO Utility

在前面部分中,您通過 XML 文件和 XSLT 文件生成了 Oracle XML Publisher 報表。輸入還可以是一組 XML 文件和 XSLT 文件。XSL-FO Utility 可以通過一組輸入 XML 和 XSLT 文件生成 XSL-FO 文件。 例如,我們通過以下兩個輸入 XML 文件(catalog2.xml 和 catalog3.xml)來創建 XSL-FO 文件。 catalog2.xml <?xml version="1.0" encoding="UTF-8"?><!--A Oracle Magazine Catalog--> <catalog title="Oracle Magazine" publisher="Oracle Publishing"> <magazine date="July-August 2006"> <article><title>Archiving Data Using XML</title><author>Arup Nanda</author> </article></magazine></catalog>catalog3.xml <?xml version="1.0" encoding="UTF-8"?><!--A Oracle Magazine Catalog--> <catalog title="Oracle Magazine" publisher="Oracle Publishing"> <magazine date="July-August 2006"> <article><title>XML in Databases</title><author>Ari Kaplan</author> </article> </magazine><magazine date="Sept-Oct 2006"> <article><title>Harnessing the Active Data Model</title><author>Steve Muench</author></article></magazine></catalog>     我們將使用 XSLT 文件 (catalog.xsl) 為輸入 XML 文件生成 XSL-FO 文件,然后合并這些 XSL-FO 文件以生成單個 XSL-FO 文件。 為要通過輸入 XML 和 XSLT 文件生成的 XSL-FO 文件創建 InputStream 對象數組: InputStream[] input = new InputStream[2];
    通過 XSL-FO Utility 的主要類 FOUtility,根據輸入 XML 和 XSLT 文件創建 XSL-FO 文件。使用靜態方法 createFO(java.lang.String xmlFile,java.lang.String xslFile) 創建 XSL-FO 文件: InputStream firstFOStream = FOUtility.createFO("catalog2.xml", "catalog.xsl");InputStream secondFOStream = FOUtility.createFO("catalog3.xml", "catalog.xsl"); 在 InputStream 數組中設置 XSL-FO InputStream 對象:Array.set(input, 0, firstFOStream);Array.set(input, 1, secondFOStream);使用靜態方法 mergeFOs() 合并 XSL-FO InputStream 對象:InputStream mergedFOStream = FOUtility.mergeFOs(input, null);創建 FOProcessor 對象,以便通過合并的 XSL-FO 文件生成 PDF 報表:FOProcessor processor = new FOProcessor();在 FOProcessor 對象上設置合并的 XSL-FO InputStream:processor.setData(mergedFOStream); 假如將 XSL-FO 文件指定為 FOProcessor 的數據源,則不需要設置 XSLT 文檔。將 XSLT 模板設置為 null:processor.setTemplate((String)null); 設置輸出 PDF 文件和輸出格式,并生成 PDF 報表:processor.setOutput("catalog2.pdf");processor.setOutputFormat(FOProcessor.FORMAT_PDF);processor.generate();您將在示例代碼中找到 PDF 報表 (catalog2.pdf),該報表是通過合并的 XSL-FO InputStream 生成的。

PDF Document Merger

     有時,您必須合并 PDF 文檔。PDF Document Merger 用于合并 PDF 文檔,還可以為合并的文檔添加頁碼。在本部分中,我們將合并在前面部分中生成的 catalog.pdf 和 catalog2.pdf。 首先,根據 catalog.pdf 和 catalog2.pdf 創建一個 InputStream 數組:FileInputStream[] inputStreams = new FileInputStream[2];inputStreams[0] = new FileInputStream("catalog.pdf");inputStreams[1] = new FileInputStream("catalog2.pdf");為合并的 PDF 文檔創建 FileOutputStream:FileOutputStream outputStream = new FileOutputStream("catalog3.pdf");合并 PDF 文檔與 PDFDocMerger 類:PDFDocMerger pdfMerger = new PDFDocMerger(inputStreams, outputStream); 要添加頁碼,應指定頁碼坐標和頁碼字體:pdfMerger.setPageNumberCoordinates(300, 20);pdfMerger.setPageNumberFontInfo("Courier", 10);     使用 setPageNumberValue(int initialValue, int startPageIndex) 方法設置頁碼值。initialValue 指定頁碼的初始值。startPageIndex 指定從哪個頁碼開始編號:pdfMerger.setPageNumberValue(1, 1); 運行 PDF Document Merger: pdfMerger.process(); 您將在示例代碼中找到合并后的 PDF 文檔 (catalog3.pdf)。

Data Engine

    Data Engine API 可以使用數據庫數據創建 XML 文檔。DataProcessor 類用于從數據模板生成 XML 文檔。該模板是一個 XML 文件,可以指定輸入參數、從數據庫檢索數據的 SQL 查詢以及要生成的 XML 文檔的數據結構。與 XML SQL Utility(也是從數據庫生成 XML 文檔)相比,Data Engine API 的一個優勢是可讓您在 XML 文檔中生成元素的層次結構。表 3 列出了一些在數據模板中常用的元素。表 3. 數據模板元素元素 說明屬性dataTemplate(必需)根元素name(必需)
version(必需)parameters指定 SQL 查詢的輸入參數,由 <parameter> 元素組成。參數值可以在運行時設置。name(必需)
dataType — 值可以是“character”、“date”或“number”。默認值是“character”。 dataQuery(必需)
指定從數據庫檢索數據的 SQL 查詢,由 <sqlstatement> 元素組成。 - sqlstatement(必需)指定 SQL 語句。name(必需)dataStrUCture(對于多個查詢是必需的)定義輸出 XML 的結構,由 <group> 和 <element> 元素組成。假如沒有為單個查詢指定,則輸出 XML 由與 SQL 查詢中的列相對應的元素組成。 -group指定一組元素和子組。元素的層次結構可以通過子組元素指定。name(必需)
source(必需)— 指定從中派生組元素的相應 SQL 語句的查詢標識符。 element(必需)指定輸出 XML 文檔中的元素。name(必需)
value(必需)— 指定 SQL 語句的列名。 該示例數據模板 (catalogDataTemplate.xml) 用于從數據庫表生成 XML 文檔:catalogDataTemplate.xml <?xml version="1.0" encoding="WINDOWS-1252" ?> <dataTemplate name="catalogDataTemplate" description="Magazine Catalog" defaultPackage="" Version="1.0"><parameters><parameter name="id" dataType="character" </parameters><dataQuery><sqlStatement name="Q1"><![CDATA[ SELECT CatalogId, Journal, Publisher, Edition, Title, Author from OE.CATALOG WHERE CatalogId=:id </sqlStatement></dataQuery><dataStructure><group name="G_Catalog" source="Q1"><element name="CATALOGID" value="CatalogId" <element name="JOURNAL" value="Journal" <element name="PUBLISHER" value="Publisher" <element name="EDITION" value="Edition" /> <element name="TITLE" value="Title"/> <element name="AUTHOR" value="Author" /> </group></dataStructure></dataTemplate>    示例數據模板指定的參數、id 均為 character 類型。SQL 查詢中的綁定變量用于設置 CatalogId 列的值(通過 id 參數)。CatalogId 列的值在運行時設置。示例查詢中的所有列都是 VARCHAR 類型。可以在 SQL 查詢中指定以下列類型:VARCHAR2、CHAR、NUMBER、DATE、TIMESTAMP、BLOB、CLOB 和 XMLType。 接下來,我們將通過 Data Engine API 使用數據庫數據生成 XML 文檔。首先,創建一個 DataProcessor 對象:DataProcessor dataProcessor = new DataProcessor();在 DataProcessor 對象上設置數據模板:dataProcessor.setDataTemplate("catalogDataTemplate.xml");指定參數的值,并在 DataProcessor 對象上設置參數:Hashtable parameters = new Hashtable();parameters.put("id","catalog1");dataProcessor.setParameters(parameters);創建 Oracle 數據庫的 JDBC 連接,并在 DataProcessor 對象上設置該連接:Class.forName("oracle.jdbc.OracleDriver");String url="jdbc:oracle:thin:@localhost:1521:ORCL";java.sql.Connection jdbcConnection = DriverManager.getConnection(url,"OE", "password");dataProcessor.setConnection(jdbcConnection);設置輸出 XML 文檔并運行數據處理器:dataProcessor.setOutput("catalogData.xml");dataProcessor.processData();數據庫將生成 XML 文檔 (catalogData.xml),如下所示: <?xml version="1.0" encoding="UTF-8"?><catalogDataTemplate><id>catalog1</id><LIST_G_CATALOG><G_CATALOG><CATALOGID>catalog1</CATALOGID><JOURNAL>Oracle Magazine</JOURNAL><PUBLISHER>Oracle Publishing</PUBLISHER><EDITION>March-April 2006</EDITION><TITLE>Commanding ASM</TITLE><AUTHOR>Arup Nanda</AUTHOR></G_CATALOG></LIST_G_CATALOG></catalogDataTemplate>
以下是 XMLPublisher.java 類:package xmlpublisher;import com.sun.java.util.collections.Hashtable;import oracle.apps.xdo.XDOException;import oracle.apps.xdo.common.pdf.util.PDFDocMerger;import oracle.apps.xdo.dataengine.DataProcessor;import oracle.apps.xdo.template.FOProcessor;import oracle.apps.xdo.template.fo.util.FOUtility;import oracle.xml.parser.v2.NSResolver;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.InputStream;import java.lang.reflect.Array;import java.sql.DriverManager;import java.sql.SQLException;public class XMLPublisher {public XMLPublisher() { }public void foProcessorEngine() {try {FOProcessor processor = new FOProcessor();processor.setData("catalog.xml");processor.setTemplate("catalog.xsl");processor.setOutput("catalog.pdf");processor.setOutputFormat(FOProcessor.FORMAT_PDF);processor.generate();} catch (XDOException e) {System.out.println("XDOException " + e.getMessage()); } }public void xslFoUtility() {try {InputStream[] input = new InputStream[2];InputStream firstFOStream = FOUtility.createFO("catalog2.xml", "catalog.xsl");InputStream secondFOStream = FOUtility.createFO("catalog3.xml", "catalog.xsl");Array.set(input, 0, firstFOStream);Array.set(input, 1, secondFOStream);InputStream mergedFOStream = FOUtility.mergeFOs(input, null);if (mergedFOStream == null) {System.out.println("Merge failed."); }FOProcessor processor = new FOProcessor();processor.setData(mergedFOStream);processor.setTemplate((String) null);processor.setOutput("catalog2.pdf");processor.setOutputFormat(FOProcessor.FORMAT_PDF);processor.generate();} catch (XDOException e) {System.out.println("XDOException" + e.getMessage()); } }public void pdfDocumentMerger() {try {FileInputStream[] inputStreams = new FileInputStream[2];inputStreams[0] = new FileInputStream("catalog.pdf");inputStreams[1] = new FileInputStream("catalog2.pdf");FileOutputStream outputStream = new FileOutputStream("catalog3.pdf");PDFDocMerger pdfMerger = new PDFDocMerger(inputStreams, outputStream);pdfMerger.setPageNumberCoordinates(300, 20);pdfMerger.setPageNumberFontInfo("Courier", 10);pdfMerger.setPageNumberValue(1, 1);pdfMerger.process();pdfMerger = null;} catch (XDOException e) {System.out.println("XDOException" + e.getMessage());} catch (FileNotFoundException e) {System.out.println("FileNotFoundException " + e.getMessage()); } }public void dataEngine() {try {Class.forName("oracle.jdbc.OracleDriver");String url = "jdbc:oracle:thin:@localhost:1521:ORCL";java.sql.Connection jdbcConnection = DriverManager.getConnection(url,"OE", "password");DataProcessor dataProcessor = new DataProcessor();dataProcessor.setDataTemplate("catalogDataTemplate.xml");Hashtable parameters = new Hashtable();parameters.put("id", "catalog1");dataProcessor.setParameters(parameters);dataProcessor.setConnection(jdbcConnection);dataProcessor.setOutput("catalogData.xml");dataProcessor.processData();} catch (SQLException e) {System.out.println("SQLException " + e.getMessage());} catch (ClassNotFoundException e) {System.out.println("ClassNotFoundException " + e.getMessage());} catch (XDOException e) {System.out.println("XDOException" + e.getMessage()); } }public static void main(String[] argv) {XMLPublisher xmlPublisher = new XMLPublisher();xmlPublisher.foProcessorEngine();xmlPublisher.xslFoUtility();xmlPublisher.pdfDocumentMerger();xmlPublisher.dataEngine(); }}
    接下來,運行 Oracle XML Publisher 應用程序。右鍵單擊 XMLPublisher.java 類并選擇 Run,如圖 3 所示。這將生成 PDF 和 XML 報表: Oracle XML Publisher與JDeveloper 10g集成(圖三)
圖 3.運行 XMLPublisher.java。假如 FO Processor Engine 部分中的輸出格式設為 HTML,則將生成輸出 HTML 報表,如圖 4 所示:Oracle XML Publisher與JDeveloper 10g集成(圖四)
圖 4.HTML 報表。本文未討論的 XMLPublisher API 可能也集成在類似過程中。
  • PDF Form Processing Engine 的 XML Publisher 類是 oracle.apps.xdo.template.FormProcessor
  • RTF Processor 的類是 oracle.apps.xdo.template.RTFProcessor
  • Document Processor 的類是 oracle.apps.xdo.batch.DocumentProcessor
  • PDF Book Binder Processor 的類是 oracle.apps.xdo.template.pdf.book.PDFBookBinder

結論

    恭喜!您已經將 Oracle XML Publisher API 與 Oracle JDeveloper 集成在一起,可以生成 PDF、Excel、HTML 和 XML 報表了。
Deepak Vohra (dvohra09@yahoo.com) 是 NuBean 顧問、Web 開發人員、Sun 認證的 Java 程序員,并且是 Oracle 認證助理。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 本溪市| 丽江市| 道真| 年辖:市辖区| 元氏县| 万宁市| 淮阳县| 嘉鱼县| 东乌珠穆沁旗| 开江县| 密云县| 合水县| 融水| 当涂县| 衢州市| 余姚市| 漾濞| 茌平县| 塔河县| 尉犁县| 谷城县| 伽师县| 黑水县| 辽阳市| 安岳县| 定结县| 顺义区| 万全县| 湾仔区| 白水县| 贞丰县| 西宁市| 隆子县| 栾川县| 安乡县| 区。| 泉州市| 岑溪市| 绥德县| 南和县| 武城县|