1

Java アプリで Open Office を使用しようとしています。

SDK に基づいて、bootstrapconnector.jar の追加の助けを借りて、空の switter を正常に開始し、ドキュメントに書き込むことができます。

ここで、ByteArray に保存されているドキュメントを開きたいと思います。いくつかの変更を加えた後、ドキュメントの変更を ByteArray に保存します。

誰か私がそれをするのを手伝ってくれませんか?

これが sWritter を起動する SDK 部分です。

public static com.sun.star.text.XTextDocument openWriter(
        com.sun.star.uno.XComponentContext xContext) {
    //define variables
    com.sun.star.frame.XComponentLoader xCLoader;
    com.sun.star.text.XTextDocument xDoc = null;
    com.sun.star.lang.XComponent xComp = null;

    try {
        // get the remote office service manager
        com.sun.star.lang.XMultiComponentFactory xMCF =
                xContext.getServiceManager();

        Object oDesktop = xMCF.createInstanceWithContext(
                "com.sun.star.frame.Desktop", xContext);

        xCLoader = (com.sun.star.frame.XComponentLoader) UnoRuntime.queryInterface(com.sun.star.frame.XComponentLoader.class,
                oDesktop);
        com.sun.star.beans.PropertyValue[] szEmptyArgs =
                new com.sun.star.beans.PropertyValue[0];
        String strDoc = "private:factory/swriter";
        xComp = xCLoader.loadComponentFromURL(strDoc, "_blank", 0, szEmptyArgs);
        xDoc = (com.sun.star.text.XTextDocument) UnoRuntime.queryInterface(com.sun.star.text.XTextDocument.class,
                xComp);

    } catch (Exception e) {
        System.err.println(" Exception " + e);
        e.printStackTrace(System.err);
    }
    return xDoc;
}

ご覧のとおり、loadComponentFromURL メソッドがあります。

OOoBeanViewer のどこかで、Doc を ByteArray に読み書きできることを見ましたが、自分のプロジェクトで使用したくない officebean.jar なしでそれを達成する方法がわかりません。

コメントとヒントをありがとう。

4

0 に答える 0