我在java中为OpenOffice做了扩展,我需要对每个角色做一些事情。
关于单词,我已经能够使用:
foreach item in doc.characters
OpenOffice Java API中是否存在类似内容?
答案 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中。然后对于每个文本部分,通过创建一个文本光标来迭代它,这应该相当快。