【发布时间】:2021-02-28 03:05:55
【问题描述】:
我正在使用 Apache POI 将 Word 文档转换为 HTML。我有一个包含外部超链接的脚注的 Word 文档。我无法获取该超链接的超链接 URL。这是我的代码:
List<CTHyperlink> links = paragraph.getCTP().getHyperlinkList();
log.debug("Count of hyperlinks="+links.size());
for (CTHyperlink ctHyperlink : links) {
String rId = ctHyperlink.getId();
log.debug("rid="+rId);
XWPFHyperlink link = document.getHyperlinkByID(rId);
if(link!=null) {
log.debug("link not NULL");
}else {
log.debug("link is NULL");
}
}
从上面的代码中,我看到在我的例子中,超链接的数量是 2。我将 rId 正确地设为“rId1”和“rId2”,但链接始终为 NULL。
在 OOXML 中,我看到文档中的超链接存储在包名称“/word/_rels/document.xml.rels”中,而脚注中的超链接存储在包名称“/word/_rels/footnotes”中.xml.rels”。可能这就是我的链接变量为 NULL 的原因。但是我不确定如何从脚注关系包中获取超链接元素。
【问题讨论】:
标签: java apache-poi