2013-07-17 83 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