如何在 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中的图像
如何使用 Vb.net 在 Openoffice 中进行 Mailmerge