期待答疑支持。
如附件文档,想获取文件中【项目名称111】的绝对位置(结果位置是:从20到 27),可以通过什么方法
image.png (28.9 KB)
测试文件.docx (21.6 KB)
感谢回答。
我不是想获取坐标位置,而是从文档开头到指定文本的index(偏移字符数),方便的话可以给出示例,thanks。
@qqdong 在这种情况下,您可以将文档转换为文本并获取您感兴趣的字符串的索引。请参阅以下代码示例:
Document doc = new Document("C:\\Temp\\in.docx");
String query = "项目名称111";
String docString = doc.toString(SaveFormat.TEXT);
int startIndex = docString.indexOf(query);
System.out.println("start: " + startIndex + " end: " + (startIndex + query.length()));
谢谢你的回答,是一个不错的思路,但表格、图片、段落和换行是不是index的计数不一样呀。
我其实是想记录当前的index,在前端预览的时候,通过前端SDK去跳转到指定位置。
我使用了bookmark的思路,标记个位置,在前端跳转到某个bookmark,这种方法也ok吧。
@qqdong 是的,您是对的,这种方法仅适用于文本内容。 您可能注意到我提供的代码返回 22 作为起始索引,另外 2 个符号是分段符。
但是 MS Word 文档并不是简单的文本内容。 如果您的文档包含形状,它们将不会导出为 TXT 格式。 要确定某些内容的正确位置,您需要确定其在 Aspose.Words DOM 中的位置。
您可以使用 DocumentExplorer 演示项目调查 Aspose.Words DOM。