我正在做一个项目,它要求我将文档生成为docx,然后转换为doc和pdf。
这个项目是用PHP编写的(使用Zend Framework(,并在Windows上的IIS上运行(客户端要求 - 绝对不是我的选择!(。
- 视窗服务器
- IIS 7.5
- PHP 5.3
- OpenOffice 3.2
我正在研究如何进行文档转换(包括LiveDocx服务(,目前正在研究使用OpenOffice作为服务来转换文档。
我有一个有效的PHP脚本 - 它类似于这篇文章中的代码如何使用OpenOffice从我的PHP网页将RTF转换为PDF?- 但我想知道这将如何扩展。 PHP脚本基本上是使用PHP的COM函数的PyOD转换器的PHP版本。在此页面(http://code.google.com/p/jodconverter/wiki/GettingStarted(中,它特别指出 PyOD 脚本不适用于多个并发连接。因此,我假设PHP脚本同样不合适。
阅读后,似乎正在运行的OpenOffice进程一次只支持一个连接。这绝对正确吗?如果是这样,那么我认为这根本不是一个可行的解决方案是否正确?我预计该产品的使用率很高,因此必须进行并发转换。有人在生产环境中对此有任何经验吗?
最后,有没有人对进行转换有任何其他建议?如果没有,我将重新使用LiveDocx服务。我对它唯一真正的抱怨是速度和转换的一些不准确之处。
提前感谢您的帮助。
你可以扩展OpenOffice来做你需要的。 过去直接使用 OpenOffice UNO API 完成工作后,您可能会发现您有很多工作要做。 试图以多线程方式使用单个OpenOffice进程只会让我感到悲伤。 但是,您可以生成多个OpenOffice进程,每个进程和单线程。 这取决于您的性能标准是什么,这是否足够可扩展......
JODReports 和 Docmosis 位于 OpenOffice 之上,因此可能值得尝试其中一个系统,看看您是否可以在自己投入任何开发工作之前有效地扩展到您需要的东西。 你也可以看看LibreOffice,它最近比OpenOffice发展得更远。
希望有帮助。