【发布时间】:2016-04-10 10:59:11
【问题描述】:
我目前正在开发一个库,该库将 docx 文件作为输入并使用它来构建 html 页面,由于 docx 的文档模糊且缺乏,我必须严重依赖示例输出来决定如何处理确定的事情。其中之一是超链接。
据我目前所见,docx 至少有两种超链接方式:
-
锚点 -
<w:hyperlink w:anchor="_Toc000000000" history="1"></w:hyperlink>这似乎是最喜欢的方式,比如 toc-links。
-
ID -
<w:hyperlink w:id="rId7" history="1"></w:hyperlink>这似乎是为超链接指定 url 的唯一方法(id 在
.xml.rels文件中定义)
到目前为止一切顺利,我的问题是我遇到了文件,它们简单地指定了“超链接”的 rStyle(在 textrun 对象上)值,然后似乎相信这将使文本充当指向textrun 中指定的标题。
例如,一个文档可以包含以下内容:
<w:p>
<w:pPr>
<w:pStyle w:val="Heading1"/>
</w:pPr>
<w:r>
<w:t>Introduction</w:t>
</w:r>
</w:p>
然后再往下走:
<w:p>
<w:r>
<w:t>This is a hyperlink to </w:t>
</w:r>
<w:r>
<w:rPr>
<w:rStyle w:val="Hyperlink"/>
</w:rPr>
<w:t>Introduction</w:t>
</w:r>
<w:r>
<w:t>.</w:t>
</w:r>
</w:p>
所以我的问题是,这些“超链接”(w:p 而不是w:hyperlink)实际上是有效的还是只是我所拥有的文件的作者做错了什么?
【问题讨论】:
标签: docx