使用Openoffice Java API(UNO API)将整个ODT(Openoffice Writer)
发布时间:2020-12-15 02:21:24 所属栏目:Java 来源:网络整理
导读:我需要使用OpenOffice Java API来复制文档部分并将其粘贴到另一个文档部分.到目前为止,我已设法复制源文档部分的文本并将其粘贴到目标文档的部分(请参阅下面的示例). 但是,问题是非文本元素(图形,格式,表格等)不会粘贴到目标文档上. 我用来提取源部分文本的
我需要使用OpenOffice
Java API来复制文档部分并将其粘贴到另一个文档部分.到目前为止,我已设法复制源文档部分的文本并将其粘贴到目标文档的部分(请参阅下面的示例).
但是,问题是非文本元素(图形,格式,表格等)不会粘贴到目标文档上. 我用来提取源部分文本的代码是: // Read source file text XComponent xComponentSource = this.ooHelper.loadDocument("file://" + fSource); // Get sections XTextSectionsSupplier textSectionsSupplierSource = (XTextSectionsSupplier)UnoRuntime.queryInterface(XTextSectionsSupplier.class,xComponentSource); XNameAccess nameAccessSource = textSectionsSupplierOrigen.getTextSections(); // Get sections by name XTextSection textSectionSource = (XTextSection)UnoRuntime.queryInterface(XTextSection.class,nameAccessOrigen.getByName("SeccEditable")); //Get section text String sectionSource = textSectionSource.getAnchor().getString(); 要将文本粘贴到目标部分,选择该部分的代码是相同的,我设置了字符串: textSectionDest.getAnchor().setString(sectionSource); 我已经阅读了API Javadoc,但我没有找到任何方法来复制整个部分.有什么办法吗? 解决方法
我遇到了同样的问题.我最后通过创建两个游标进行求解,一个在我想要复制的内容的开头,然后在内容的末尾使用另一个,然后将第一个的光标选择扩展到第二个.这在第一个游标上使用gotoRange方法,传入第二个游标,并使用True告诉它扩展选择.
游标示例: 然后我创建了一个包含选择的autoText容器,组和元素.使用自动文本条目的applyTo方法将内容插入/粘贴到光标位置.我使用guid作为autoText容器的名称,因此它是唯一的,然后在我完成时删除容器. 自动图文集示例: 如果你愿意,我可以发布我的代码,但它是用Python编写的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |