使用 Python 从 Word 文档中输出 PCL

Posted

技术标签:

【中文标题】使用 Python 从 Word 文档中输出 PCL【英文标题】:Output PCL from Word document using Python 【发布时间】:2012-01-23 15:29:10 【问题描述】:

我正在构建一个 Web 应用程序,该应用程序将包含获取 MS Word(以及可能来自基于 Web 的富文本编辑器的输入)文档的功能,将值替换为这些文档中的表单字段占位符,并生成一个 PCL 文档作为输出.

我正在 windows 上使用 python 和 django 进行开发,但是整个解决方案需要部署到一个 web 主机(尚未选择),这实际上意味着该解决方案需要在 linux 上运行。

如果这是唯一的方法,我愿意接受仅限 linux 的解决方案。我对涉及与用另一种语言编写的服务器交谈的解决方案持开放态度。如有必要,我可以编写 C++ 或 java 来完成这项工作。最终输出确实必须是 PCL 格式。

我的问题是:什么是使用python从word文档生成PCL的好工具链

我正在考虑使用某种接口来 openoffice 来打开 word 文档,进行替换,并将输出发送到某种打印机驱动程序。 有人有这方面的经验吗?你会推荐哪些库?

我确定的接口选项包括以下内容;非常欢迎任何其他建议:

Ulif.openoffice:http://pypi.python.org/pypi/ulif.openoffice/0.4 Py3o.renderserver:https://bitbucket.org/faide/py3o.renderserver OpenOffice-python:http://openoffice-python.origo.ethz.ch/

第二种方法是使用 paradocx (https://bitbucket.org/yougov/paradocx/wiki/Home) 之类的东西来打开 word 文件,在 python 中使用它进行替换,然后以某种方式与可以输出 PCL 的东西交互。 同样,任何有关此方法的经验或 cmet 将不胜感激。

我将非常感谢任何关于工具和工具链的 cmet,以及您可能拥有的想法或食谱。

这个问题与How to Create PCL file from MS word类似,但不一样

【问题讨论】:

【参考方案1】:

Ghostscript 可以读取 PS (Postscript) 或 PDF 并创建 PCL。您可以使用 python 库或只是子进程....

【讨论】:

谢谢 - 你知道用于与 ghostscript 交互的 python 库,或者在 python 中将 word 转换为 pdf 的选项吗?如果你这样做,如果你能链接到他们,我将非常感激。【参考方案2】:

好的,所以我的最终解决方案是创建一个 java web 服务来执行我的转码。

Docx4j 提供了一个类org.docx4j.convert.out.pdf.viaXSLFO.Conversion 挂钩到apache FOP 以将Docx 转换为PDF;很容易被破解以转换为 PCL(因为 FOP 输出 PCL) Spark 是一个轻量级的 java web 框架,它允许我将我的转码器包装在 web 服务中 因为我也操作文档,所以我需要一些元数据,所以完美的东西是多部分表单。我使用Apache Fileupload 对其进行解码

在几乎所有情况下,我都必须升级到库的开发版本才能使其正常工作。

在我使用的python方面:

requests 与网络服务通信 poster准备多部分请求

【讨论】:

以上是关于使用 Python 从 Word 文档中输出 PCL的主要内容,如果未能解决你的问题,请参考以下文章

python合并word

python操作word文档表格

python批量给word文末添加句号

python编写一个自动替换word文档文字程序

从 Word 文档中删除前导“项目符号”

Python代码保存到word?