2013-07-17 84 views
0

我被要求學習一個概念驗證,但我找不到任何告訴我以下內容的解決方案。PHP將數據發送到BIPublisher插件

事實上,我必須處理一些數據來發現哪些.DOCX或模板的.rtf我必須使用,並建立可以由甲骨文BIPublisher插件在微軟Word加載XML文件。

獲取和處理數據並不困難,但是,由於瀏覽器的安全我無法在客戶端打開MS Word。所以我正在考慮讓他們下載* .docx或.rtf文件 * s,由於在模板中寫入了BIPublisher條件結構,所以它們將被修改。

你知道你是否可以使用PHP腳本作爲BIP與預先安排的MS Word插件進行交互?

+0

'打開模板' - 模板在哪裏?在客戶的電腦?在服務器上?如果它在服務器上,爲什麼你不能這樣做? –

+0

那麼在服務器上:如果修改了模板,TPM傢伙就不必修改它們中的每一個。我仍然不知道是否可以與MS Word中的插件進行交流 – GnsBeldaran

+0

我並不真正關注你,你沒有足夠清楚地解釋你正在解決的問題*是*。使用php,你可以根據任何插件做出任何輸出,因爲你有* how *結構的數據。你的問題是如何在客戶端的電腦上使用預先安裝的插件打開文件或什麼? –

回答

1

實際上,您可以使用PHP中的BI Publisher Word插件進行交互。首先確保你的Java,Word和BI Publisher插件有效,我認爲你已經完成了。像這樣創建一個XML文件:

<tb> 
    <type>PDF</type> 
    <template>absolute path to your RTF template</template> 
    <data>absolute path to your XML data</data> 
    <xlifffile></xlifffile> 
    <tmppath>C:\Users\<User name>\AppData\Local\Oracle\BIPublisher\TemplateBuilderforWord\tmp</tmppath> 
    <locale>en-us</locale> 
    <tbhome>C:\Program Files (x86)\Oracle\BI Publisher\BI Publisher Desktop\Template Builder for Word</tbhome> 
    <mastertemplate></mastertemplate> 
    <userconfigdir>C:\Users\<User name>\AppData\Local\Oracle\BIPublisher\TemplateBuilderforWord\config</userconfigdir> 
</tb> 

的tmppath,tbhome和userconfigdir值從我的安裝,所以修改它們相應。 下一步是在您的PHP腳本中調用java,這可以使用exec()函數完成。

java -Xmx256M -jar "C:\Program Files (x86)\Oracle\BI Publisher\BI Publisher Desktop\Template Builder for Word\jlib\RTF2PDFv2.jar" absolute_path_to_the_xml_you_created 

再次檢查RTF2PDFv2.jar的路徑。之後,您可以轉到tmppath,並在其中有一個名爲tmp的文件夾,將其打開,您將找到生成的PDF。 PDF可以在瀏覽器中直接查看。

雖然你可以使用上述程序,但我建議嘗試BI Publisher Server,它提供的不止是桌面插件版本。

+0

非常感謝,我已經向不感興趣的客戶提供了BIP服務器。 – GnsBeldaran