我使用pyuno完成了一个python脚本,该脚本成功地将文档/ xls / rtf等转换为pdf。 然后我需要更新一个mssql数据库,因为当前支持python 2.3的开放式办公室,它的古老性,缺乏对体面数据库库的支持。所以我已经使用了Jython,这样我就不会因为使用旧的pyuno在OO python环境中运行而负担沉重。
这也意味着我的转换代码被破坏了,我现在需要使用java库而不是pyuno libs。
将com.sun.star.beans.PropertyValue导入为PropertyValue
将com.sun.star.bridge.XUnoUrlResolver导入为XUnoUrlResolver
将com.sun.star.comp.helper.Bootstrap导入为Bootstrap
- >>将com.sun.star.frame.XComponentLoader导入为XComponentLoader
- >>将com.sun.star.frame.XStorable导入为XStorable
将com.sun.star.lang.XMultiComponentFactory导入为XMultiComponentFactory
将com.sun.star.uno.UnoRuntime导入为UnoRuntime
将com.sun.star.uno.XComponentContext导入为XComponentContext
包含' - >>'不导入编译器无法识别com.sun.star.frame看不到'frame'位。这些是我所包含的库。
alt text http://www.freeimagehosting.net/uploads/eda5cda76d.jpg
关于这个问题的一些建议会很受欢迎
context = XComponentContext
xMultiCompFactory = XMultiComponentFactory
xcomponentloader = XComponentLoader//在python中使用
ctx =无
smgr =无
doc =无
url =无context = Bootstrap.bootstrap()
xMultiCompFactory = self.context.getServiceManager()
xcomponentloader = UnoRuntime.queryInterface(XComponentLoader.class,.... xMultiCompFactory.createInstanceWithContext(“com.sun.star.frame.Desktop”,context))file =“file:\\”+ file
//也是Java中url = uno.systemPathToFileUrl(file)的等价物,以便我可以利用它来很好地格式化我的路径
properties = []
p = PropertyValue()
p.Name =“隐藏”
p.Value =真
properties.append(P)
properties =元组(属性)
doc = xcomponentloader.loadComponentFromURL(file,“_ blank”,0,properties)
答案 0 :(得分:1)
根据这个家伙的说法,你需要一些油......它就像一个魅力
http://www.oooforum.org/forum/viewtopic.phtml?p=304263#304263
包含此lib C:\ OpenOffice_24 \ program \ classes \ unoil.jar
答案 1 :(得分:0)
我认为使用Jython是个好主意。但是为什么你不能使用两个脚本,一个使用pyuno / 2.3,另一个使用pymssql / 2.5(或者你正在使用的数据库适配器)?。
中间格式可以是pickle,json或XML。
编辑:我应该补充一点,我已经广泛使用了pyuno,我感到很痛苦。