2

pyunoを使用してPythonスクリプトを完成させ、document / xls/rtfなどをpdfに正常に変換しました。次に、mssqlデータベースを更新する必要がありました。これは、現在python 2.3をサポートしているオープンオフィスのためです。これは古くからあり、まともなデータベースライブラリのサポートが不足しています。そのため、私はJythonを使用することにしました。この方法では、古いpyunoを使用してオブジェクト指向Python環境内で実行することで負担がかかりません。

これは、変換コードが壊れていることも意味し、pyunoライブラリの代わりにjavaライブラリを使用する必要があります。

import com.sun.star.beans.PropertyValue as PropertyValue
import com.sun.star.bridge.XUnoUrlResolver as XUnoUrlResolver
import com.sun.star.comp.helper.Bootstrap as Bootstrap
->>importcom.sun.star.frame。 XComponentLoader as XComponentLoader
->> import com.sun.star.frame.XStorable as XStorable
import com.sun.star.lang.XMultiComponentFactory as XMultiComponentFactory
import com.sun.star.uno.UnoRuntime as UnoRuntime
import com.sun.star.uno .XComponentContext as XComponentContext

'->>'を含むインクルードはインポートせず、コンパイラはcom.sun.star.frameを認識しません。'フレーム'ビットを認識できません。これらは私が含めたライブラリです。

代替テキスト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)に相当するもので、パス
のプロパティを適切にフォーマットするために使用できます= []
p = PropertyValue()
p.Name = "Hidden"
p.Value = Trueproperties.append
(p)
properties = tuple(properties)
doc = xcomponentloader.loadComponentFromURL(file、 "_blank"、0、properties)

4

2 に答える 2

1

そして、この男によると、オイルが必要です....そしてそれは魔法のように機能します

http://www.oooforum.org/forum/viewtopic.phtml?p=304263#304263

この lib C:\OpenOffice_24\program\classes\unoil.jar を含めます

于 2008-11-06T04:38:37.790 に答える
0

Jythonを使用することは、このための素晴らしいアイデアだと思います。しかし、なぜ2つのスクリプトを使用できないのでしょうか。1つはpyuno / 2.3を使用し、もう1つはpymssql / 2.5(または使用しているdbアダプター)を使用します。

中間形式は、pickle、json、またはXMLのようなものにすることができます。

編集:私はpyunoをかなり広範囲に使用したことを付け加えなければなりません、そして私はあなたの痛みを感じます。

于 2008-11-05T11:09:58.247 に答える