我正在使用apachepoi将word文档转换为html。我遇到了这样一个问题:如果word文档在内容控件中包含一个超链接,那么该超链接将被读取为纯文本而不是超链接。
我发布了以下文件ooxml中的一节:
<w:p w14:paraId="0FA9C2C5" w14:textId="628A41CF" w:rsidR="00346C13" w:rsidRDefault="00613C1C" w:rsidP="0004460F">
<w:pPr>
<w:spacing w:line="240" w:lineRule="auto"/>
<w:jc w:val="both"/>
<w:rPr>
<w:rFonts w:ascii="Calibri" w:eastAsia="Calibri" w:hAnsi="Calibri" w:cs="Calibri"/>
</w:rPr>
</w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:ascii="Calibri" w:eastAsia="Calibri" w:hAnsi="Calibri" w:cs="Calibri"/>
</w:rPr>
<w:t xml:space="preserve">Test XYZ </w:t>
</w:r>
<w:sdt>
<w:sdtPr>
<w:tag w:val="goog_rdk_11"/>
<w:id w:val="241604511"/>
</w:sdtPr>
<w:sdtEndPr/>
<w:sdtContent>
<w:hyperlink r:id="rId5" w:history="1">
<w:r>
<w:rPr>
<w:rFonts w:ascii="Calibri" w:eastAsia="Calibri" w:hAnsi="Calibri" w:cs="Calibri"/>
<w:color w:val="1155CC"/>
<w:u w:val="single"/>
</w:rPr>
<w:t>Linked Content</w:t>
</w:r>
</w:hyperlink>
</w:sdtContent>
</w:sdt>
这是暗示上述代码段中超链接的url的部分:
<Relationship Id="rId5" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink" Target="https://somewebsite.com/" TargetMode="External"/>
现在,在读取word文档内容时,当控件转到下面的visitrun方法时:
protected void visitRun( XWPFRun run, boolean pageNumber, String url, Object paragraphContainer )
然后,“链接内容”内容的url为空。正因为如此,我无法理解“链接内容”实际上是一个超链接。
在使用xwpf读取word文档时,有没有一种方法可以使用apachepoi识别sdt中的超链接内容?
暂无答案!
目前还没有任何答案,快来回答吧!