Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用java将图像插入到openoffice writer文档中?_Java_Image_Openoffice.org_Openoffice Writer - Fatal编程技术网

如何使用java将图像插入到openoffice writer文档中?

如何使用java将图像插入到openoffice writer文档中?,java,image,openoffice.org,openoffice-writer,Java,Image,Openoffice.org,Openoffice Writer,我正在尝试从模板创建openoffice writer文档。 我可以用此代码替换报告的文本部分 private static void searchAndReplace(final String search, final String replace, final XTextDocument mxDoc) { XReplaceable xReplaceable = (XReplaceable) UnoRuntime.queryInterface(

我正在尝试从模板创建openoffice writer文档。 我可以用此代码替换报告的文本部分

private static void searchAndReplace(final String search,
        final String replace, final XTextDocument mxDoc) {
    XReplaceable xReplaceable = (XReplaceable) UnoRuntime.queryInterface(
            XReplaceable.class, mxDoc);
    XReplaceDescriptor xRepDesc = xReplaceable.createReplaceDescriptor();
    xRepDesc.setSearchString(search);
    xRepDesc.setReplaceString(replace);
    xReplaceable.replaceAll(xRepDesc);
}
我从中找到一些示例代码,用于将图像链接或嵌入到XTEXT文档中。 但是,我无法插入到Xtext文档中。有没有其他方法可以用Java实现这一点? Openoffice版本是3.1.0

有答案吗?

我在这里找到了:


谢谢你的回复。我找到了那个问题的临时解决办法。这个问题已经过去很久了。我将尝试你的解决方案,并将结果通知你。
private void embedGraphic(GraphicInfo grProps,
            XMultiServiceFactory xMSF, XTextCursor xCursor) {

    XNameContainer xBitmapContainer = null;
    XText xText = xCursor.getText();
    XTextContent xImage = null;
    String internalURL = null;

    try {
            xBitmapContainer = (XNameContainer) UnoRuntime.queryInterface(
                            XNameContainer.class, xMSF.createInstance(
                                            "com.sun.star.drawing.BitmapTable"));
            xImage = (XTextContent) UnoRuntime.queryInterface(
                            XTextContent.class,     xMSF.createInstance(
                                            "com.sun.star.text.TextGraphicObject"));
            XPropertySet xProps = (XPropertySet) UnoRuntime.queryInterface(
                            XPropertySet.class, xImage);

            // helper-stuff to let OOo create an internal name of the graphic
            // that can be used later (internal name consists of various checksums)
            xBitmapContainer.insertByName("someID", grProps.unoURL);
            internalURL = AnyConverter.toString(xBitmapContainer
                            .getByName("someID"));

            xProps.setPropertyValue("AnchorType",
                            com.sun.star.text.TextContentAnchorType.AS_CHARACTER);
            xProps.setPropertyValue("GraphicURL", internalURL);
            xProps.setPropertyValue("Width", (int) grProps.widthOfGraphic);
            xProps.setPropertyValue("Height", (int) grProps.heightOfGraphic);

            // inser the graphic at the cursor position
            xText.insertTextContent(xCursor, xImage, false);

            // remove the helper-entry
            xBitmapContainer.removeByName("someID");
    } catch (Exception e) {
            System.out.println("Failed to insert Graphic");
    }
}