python中的新手:在Windows上使用Apache OpenOffice 4的pyodconverter
Posted
技术标签:
【中文标题】python中的新手:在Windows上使用Apache OpenOffice 4的pyodconverter【英文标题】:Newbie in python : pyodconverter with Apache OpenOffice 4 on Windows 【发布时间】:2014-10-18 09:22:41 【问题描述】:我对Python一无所知,我需要在windows(XP和7)上使用pyodconverter转换文档。我使用这里给出的简单示例:http://www.oooninja.com/2008/02/batch-command-line-file-conversion-with.html
"C:\Program Files\OpenOffice.org2.4\program\soffice.exe" -headless -nologo -norestore -accept=socket,host=localhost,port=2002;urp;StarOffice.ServiceManager
"C:\Program Files\OpenOffice.org2.4\program\python" DocumentConverter.py test.odt test.pdf
它的作用就像一个魅力,从 openoffice 3 到 soffice.exe 的路径,但在 openoffice 4 中我收到了这条消息:
ImportError: No module named uno
所有其他导入的模块都会如此 (from os.path import abspath, isfile, splitext from com.sun.star.beans import PropertyValue
from com.sun.star.task import ErrorCodeIOException
from com.sun.star.connection import NoConnectException
)
但是,如果我在与 python.exe 相同的目录中复制并执行 DocumentConverter.py,它就可以工作。所以肯定是路径问题。
我不能从这个目录调用 DocumentConverter.py,它必须从另一个目录调用 但我可以修改 DocumentConverter.py 或在同一目录中添加其他文件。我看到 OpenOffice 3 和 4 之间的目录结构发生了变化,但不知道为什么它适用于 3 而不是 4。有什么想法吗?
【问题讨论】:
【参考方案1】:在 OpenOffice 4 中使用 DocumentConverter.py 时,您必须修改搜索路径。
OpenOffice 4 中的 python.exe 似乎使用相对搜索路径而不是绝对路径,这就是从安装 OpenOffice 4 的目录之外的另一个目录执行 DocumentConverter.py 时出现错误的原因。
我可以通过在 DocumentConverter.py 中的“import uno”命令之前添加以下代码行来解决这个问题:
import sys
sys.path.append("C:\Program Files (x86)\OpenOffice 4\program")
【讨论】:
以上是关于python中的新手:在Windows上使用Apache OpenOffice 4的pyodconverter的主要内容,如果未能解决你的问题,请参考以下文章
使用 Anaconda (Python) 在 Windows 上安装 Pyomo
无法在我的 Windows 10 上安装“Turicreate”
在 Windows 上使用 C++ 中的 Select 函数进行轮询