apachepoi:读取sdt内容控件中的超链接

u91tlkcl  于 2021-07-03  发布在  Java
关注(0)|答案(0)|浏览(349)

我正在使用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中的超链接内容?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题