这个问题主要针对 Windows + LibreOffice + Python 3。
我已经安装了 LibreOffice (6.3.4.2),并且
pip install unoconv(pip install unotools 是pip install uno另一个不相关的库),但在之后我仍然收到此错误import uno:
ModuleNotFoundError:没有名为“uno”的模块
更一般地说,作为 UNO 使用的示例,如何使用 LibreOffice UNO 打开 .docx 文档并将其导出为 PDF?
几天来我对此进行了广泛的搜索,但我还没有找到可在 Windows 上运行的可重现的示例代码:
无头使用soffice.exe,请参阅我的问题+答案Headless LibreOffice 在 Windows 上导出到 PDF 非常慢(比 Linux 慢 6 倍)以及答案的注释:它“可以”使用,soffice.exe --headless ...但更接近 COM 交互(组件对象模型) )对于许多应用程序都是有用的,因此这个问题在这里
相关论坛帖子,以及LibreOffice:使用Python脚本编程,但是uno应该如何安装在Windows上,使用Python,没有详细说明;还有关于 LibreOffice 到 Python 宏编写的详细教程,尤其是 Calc
我也尝试过这个(不成功):Getting python to import uno / pyuno: …
有几个相关的线程这个话题在这里的广告在这里,但他们似乎有点过时了。
我刚刚下载了内置 Python 3.3.0 的 LibreOffice 4。使用该 Python,我可以很好地导入和使用 UNO,并从我的 Python 脚本控制 Office。然而,我的许多其他模块都从 Python 中丢失了——而 UNO 是我的 Python 中唯一丢失的模块。
有什么办法可以为我的本地 Python 安装 pyuno?LibreOffice 源代码树包括一个 pyuno/ 源代码树,但我不确定如何将它构建/集成到另一个 Python 树中。
这里有什么经验吗?帮助?提示?做,不做,做?
编辑下面的答案适用于Linux,我在扩展PYTHONPATH导入uno时没有问题。Mac 上的情况有所不同,因此请查看其他答案。
编辑在修改 Python 路径时绝对要考虑这个答案!