【问题标题】:Output PCL from Word document using Python使用 Python 从 Word 文档中输出 PCL
【发布时间】:2024-03-08 18:00:02
【问题描述】:

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

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

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

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

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

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

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

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

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

【问题讨论】:

    标签: python django openoffice.org printer-control-language


    【解决方案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方面:

    【讨论】: