如何在 OpenOffice 中使用 PyOD?

Posted

技术标签:

【中文标题】如何在 OpenOffice 中使用 PyOD?【英文标题】:How to use PyOD with OpenOffice? 【发布时间】:2021-03-04 01:05:27 【问题描述】:

PyOD 是一个超级简单的 python 库 (https://github.com/mirkonasato/pyodconverter)。

它有一个命令用法

> "C:\Program Files (x86)\OpenOffice 4\program\python-core-2.7.18" DocumentConverter.py test.odt test.pdf

这应该将test.odt 转换为pdf。我使用的是自己的 PC,而不是 VPS。

我不知道如何使用这个命令。我已经在这工作了 3 个小时,我没有使用 python 或命令行的经验。

我试过从 `cmd.exe 运行它

cd /
python "C:\Program Files (x86)\OpenOffice 4\program\python-core-2.7.18" DocumentConverter.py test.odt test.pdf

但它给了我这个错误:

C:\Users\user\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\python.exe: can't find '__main__' module in 'C:\\Program Files (x86)\\OpenOffice 4\\program\\python-core-2.7.18'

我完全不知道这意味着什么,谷歌没有帮助。

我也试过

cd Program Files (x86)\OpenOffice 4\program\python-core-2.7.18
DocumentConverter.py test.odt test.pdf

所做的只是尝试打开文件。它问我想用什么打开它,我选择了 Python.exe,它只是打开了一个 python 终端然后立即关闭它,python-core-2.7.18 中没有新文件,所以我假设它不起作用。

所以我尝试直接从python-core-2.7.18 打开python.exe 并运行DocumentConverter.py test.odt test.pdf,但它说我的语法无效。

我真的不知道如何使用 python。这是一个 php 项目,我实际上只使用了这一小部分 python。

【问题讨论】:

尝试在 cmd.exe 中完全按照从 github 获得的命令运行该命令。 > "C:\Program Files\OpenOffice.org 3.1\program\python" DocumentConverter.py test.odt test.pdf @im_baby 可​​以发誓我之前尝试过,猜不到,但它只是说“访问被拒绝”。即使 CMD 提示符以管理员身份运行。 【参考方案1】:

我没有听说过 PyOD,但我们假设它像其他 Python-UNO 脚本一样工作。首先,确保启动 Apache OpenOffice 侦听套接字,如 GitHub 页面中所述。

soffice -accept=socket,host=localhost,port=2002;urp;

接下来,打开命令提示符并转到启用 UNO 的 python 可执行文件所在的目录。然后验证一下。

cd C:\Program Files (x86)\OpenOffice 4\program
python
>>> import uno

如果没有错误,则退出 python 提示符。 Chdir 到DocumentConverter.py 和您的文件所在的目录。然后根据GitHub页面,这应该可以工作:

"C:\Program Files (x86)\OpenOffice 4\program\python" DocumentConverter.py test.odt test.pdf

另一个问题:您选择 AOO 而不是 LibreOffice 是否出于某种特殊原因?如果您不熟悉该套件,您可能想先尝试 LibreOffice,因为它已经开发得更多并且可能更容易上手。

最后,有更简单的方法可以在不使用 Python 的情况下从 PHP 调用 LibreOffice。在 PHP 中,您应该能够使用带有 --convert-to 参数的系统调用。例如,请参阅Command `libreoffice --headless --convert-to pdf test.docx --outdir /pdf` is not working。

【讨论】:

我使用 AOO 是因为我对这一切都很陌生,而且 PyOD 脚本看起来很简单。实际上我确实让它工作了,我很快就会发布答案(我降级了版本),但我更喜欢 LibreOffice。我下载了它并在cd / 的那个链接中运行了那个命令,但什么也没发生,所以我觉得我要进入另一个兔子洞了。

以上是关于如何在 OpenOffice 中使用 PyOD?的主要内容,如果未能解决你的问题,请参考以下文章

将doc文件中的图像和图形导出为openoffice中的图像

孤立森林(IForest)代码实现及与PyOD对比

如何使用 Vb.net 在 Openoffice 中进行 Mailmerge

为啥我的启动 OpenOffice 服务的调用在开发中有效,但在服务器上无效?

如何在openoffice中删除分段符

如何使用 C# 和 LibreOffice/OpenOffice 在电子表格单元格中设置粗体文本?