如何浏览Open Office中的每个角色

时间:2016-06-30 13:32:07

标签: java openoffice-writer uno

我在java中为OpenOffice做了扩展,我需要对每个角色做一些事情。

关于单词,我已经能够使用:

foreach item in doc.characters

OpenOffice Java API中是否存在类似内容?

1 个答案:

答案 0 :(得分:0)

这是一个计算文档中所有字符的简单示例。

xText = xTextDocument.getText();
XTextCursor xTextCursor = xText.createTextCursorByRange(xText.getStart());
int num_chars = 0;
while (xTextCursor.goRight((short)1, false)) { num_chars++; }
System.out.println("Found " + num_chars + " characters.");

但是,如果存在诸如表或框架之类的对象,则单个文本光标将不起作用。使用view cursor处理表格和框架但速度要慢得多。有关更完整的示例,请参见Andrew Pitonyak's macro document的第7.14.2节。

另一种方法是枚举文档中的所有文本内容,如Andrew的文档7.16.3节所述。 Java的相关信息也在Dev guide中。然后对于每个文本部分,通过创建一个文本光标来迭代它,这应该相当快。