在无头服务器上处理 Doc/Docx 模板以生成 PDF 最好不使用 OpenOffice.org

lux*_*fer 3 server command-line pdf conversion file-format

在生产网络服务器上,我必须根据我以 MS-Word 二进制格式获得的模板生成字母。我使用 PHP 并在搜索和替换任务中找到了 PHPWord,它可以处理 Docx 文件,因此我在本地工作站上将模板转换为 OpenXML。不幸的是,输出也是 Docx。

目标是生成一个 PDF 供用户下载,以便她可以非常轻松地一次打印出一堆字母。

现在我需要找到一种方法:

  • 搜索和替换 PDF 文件中的文本
  • 在不丢失格式的情况下将 Docx 转换为 PDF
  • 在不丢失格式和不使用 COM 的情况下编辑原始 Doc 模板
  • 在不丢失格式的情况下将 Docx 转换为 Doc(这似乎几乎不可能,因为模板在 word 中看起来不错,但从技术上讲,如何完成格式设置是一大堆......)所以我可以使用 wvPDF 转换它

除了 OpenOffice.org 之外,我不想使用的是 Web 服务。我知道 PHPLiveDocx,但我不想依赖外部服务来提高性能、可用​​性和安全性。在这种情况下,购买软件也不是一种选择(不能影响它)。

运行在一个面向公众的Web服务器,我不想拉OpenOffice.org -甚至无头,因为它会牵绕压缩二进制文件的160MB和最好的做法是不是你不无负载的二进制文件(!)真的需要在面向公众的服务器。虽然这是使用 oo.o 的最后手段,但我想确保我已经排除了可能存在的任何其他选项。

主机操作系统是 CentOS 5.5。

我可以从这里去哪里?

问候, luxifer

Tak*_*kat 10

据我所知,没有 Libre Office 的一些依赖,没有任何应用程序可以做到这一点。

但是,当只执行命令行转换时,您不需要安装整个办公套件。

你可以试试如果工具unoconv 安装 unoconv满足您的需求。它有 python 和 python-uno 作为依赖项。后者还将安装libreoffice-core作为依赖项,但不会安装整个办公套件。

  • 您还没有解释为什么不想安装 openoffice.org。显然,您不想安装 GUI 组件,但是您是否对它有偏见以至于不允许无头安装? (2认同)
  • 即使是无头也会拉出大约 160MB 的数据,包括 java,这是它的压缩大小!如果您有替代方案(我正在寻找:-)),那么不要在生产服务器上提取大量可执行代码是一种很好的做法……所以拉动 openoffice 对我来说有点像最后的手段 (2认同)