feat: bookmark replace
This commit is contained in:
parent
3168c49e1a
commit
7d0bbcc052
@ -17,6 +17,7 @@ import org.w3c.dom.Node;
|
||||
|
||||
import java.awt.print.Book;
|
||||
import java.io.*;
|
||||
import java.math.BigInteger;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@ -115,6 +116,11 @@ public class BookmarkExec {
|
||||
queryBookmarkIdx(paragraph, info);
|
||||
}
|
||||
|
||||
BigInteger numID = paragraph.getNumID();
|
||||
if (numID != null) {
|
||||
|
||||
}
|
||||
|
||||
return new ArrayList<>(set);
|
||||
}
|
||||
|
||||
@ -129,10 +135,15 @@ public class BookmarkExec {
|
||||
CTR ctr = run.getCTR();
|
||||
Node node = ctr.getDomNode();
|
||||
Node currentNode = node.getPreviousSibling();
|
||||
int idx = runs.indexOf(run);
|
||||
// 递归查找前一个兄弟节点
|
||||
while (currentNode != null) {
|
||||
String nodeName = currentNode.getNodeName();
|
||||
|
||||
if (MARK_RUN.equals(nodeName)) {
|
||||
// 跨run,跳过
|
||||
break;
|
||||
}
|
||||
|
||||
if (BOOKMARK_START.equals(nodeName)) {
|
||||
NamedNodeMap attrs = currentNode.getAttributes();
|
||||
Node idNode = attrs.getNamedItem(ATTR_BOOKMARK_ID);
|
||||
@ -140,7 +151,7 @@ public class BookmarkExec {
|
||||
|
||||
// 匹配书签ID或名称
|
||||
if (id.equals(info.getBookmarkId())) {
|
||||
info.setStartIdx(idx); // 记录当前Run的索引为起始位置
|
||||
info.setStartIdx(i); // 记录当前Run的索引为起始位置
|
||||
foundStart = true;
|
||||
break;
|
||||
}
|
||||
@ -151,7 +162,7 @@ public class BookmarkExec {
|
||||
|
||||
// 匹配书签ID
|
||||
if (id.equals(info.getBookmarkId())) {
|
||||
info.setEndIdx(idx); // 记录当前Run的索引为结束位置
|
||||
info.setEndIdx(i); // 记录当前Run的索引为结束位置
|
||||
foundEnd = true;
|
||||
break;
|
||||
}
|
||||
|
@ -15,12 +15,16 @@ import lombok.NoArgsConstructor;
|
||||
@NoArgsConstructor
|
||||
public class BookmarkInfo {
|
||||
|
||||
// 书签名称
|
||||
private String bookmarkName;
|
||||
|
||||
// 书签id
|
||||
private String bookmarkId;
|
||||
|
||||
// 起始run idx
|
||||
private int startIdx;
|
||||
|
||||
// 中止run idx
|
||||
private int endIdx;
|
||||
|
||||
public BookmarkInfo(String bookmarkName, String bookmarkId) {
|
||||
|
Loading…
Reference in New Issue
Block a user