在现有python安装中使用pyuno
我正在尝试使用PyUNO作为一种方法,从Django服务器中将不同的文档格式(doc、wordperfect、html等)转换为PDF。我在在现有python安装中使用pyuno,python,openoffice.org,pyuno,Python,Openoffice.org,Pyuno,我正在尝试使用PyUNO作为一种方法,从Django服务器中将不同的文档格式(doc、wordperfect、html等)转换为PDF。我在导入uno工作上花了很长时间。执行导入pyuno时,它似乎失败,并显示一条消息导入错误:DLL加载失败:找不到指定的模块 我实现这一点的唯一方法是使用OpenOffice附带的Python2.6,但我确实希望使用我的另一个2.6安装。PyUNO的文档都是python2.2的,据说已经过时了 我猜以下部分(或全部)文件需要从OpenOffice目录复制到我的s
导入uno
工作上花了很长时间。执行导入pyuno
时,它似乎失败,并显示一条消息导入错误:DLL加载失败:找不到指定的模块
我实现这一点的唯一方法是使用OpenOffice附带的Python2.6,但我确实希望使用我的另一个2.6安装。PyUNO的文档都是python2.2的,据说已经过时了
我猜以下部分(或全部)文件需要从OpenOffice目录复制到我的site packages目录(或其中的一些子目录):
有没有人成功地让它工作
这是在Windows上。我还需要一个答案。我使用的是windows XP,有一个系统,我从SQL server数据库中提取数据,并将其插入到模板excel文件中。我不想在OpenOffice中添加宏等。但我想使用该服务生成这些文件 然而,我似乎能够导入uno modude的唯一方法是使用openoffice目录中的python.exe。即使这样,由于某种原因,我也无法将这个exec与系统中的py文件相关联,因此每次我都必须输入完整的路径名
我知道在Linux中,Pyuno模块是一个插件,可以在普通python中使用,但在windows中似乎不是这样。我已经在openoffice下列出了python exec的所有相关路径详细信息,并在python 2.7中复制了它们,但pyuno仍然无法找到DDL,没有提及什么DDL。我认为答案是“这是不可能的”。从web上的其他阅读来看,似乎用于从python.org编译/链接python可执行文件的stdlib与用于编译/链接随OpenOffice.org分发的python.exe的stdlib不同。我不知道为什么,我仍然对两个python都给我相同的启动消息感到困惑。所以我可能完全走错了方向。对于简单的转换,你不需要重新发明轮子。看看unoconv: 如果python解释器与OpenOffice捆绑在一起,或者在某些Linux系统中,打包程序已经为您做了大量工作,“Import uno”将自动工作 备选方案1:对于Win32系统上的其他Python安装,您需要导入三个环境变量并向Pythonpath添加一项。详细教程见 必须从OO安装的Python中获取并添加到其他Python安装中的三个环境变量是: (使用Python 2.6和OO 3.1.2)
- os.environ['URE_BOOTSTRAP']=“vnd.sun.star.pathname:c:\Program Files\OpenOffice.org 3\Program\Basic.ini”
- os.environ['UNO_PATH']='c:\Program Files\OpenOffice.org 3\Program\'
- 附加('c:\Program Files\OpenOffice.org 3\URE\bin;c:\Program Files\OpenOffice.org 3\Basis\Program;'))
- sys.path.append('C:\Program Files\OpenOffice.org 3\Basis\Program')
- 安装pywin32module以获得COM访问权限:
- 关于API差异的讨论:
pythonloader.py
pythonloader.uno.ull
pythonloader.uno.ini
pythonscript.py
pyuno.pyd