使用python docx在Word文档中添加超链接

时间:2018-06-28 11:21:19

标签: python hyperlink docx win32com python-docx

我一直在使用python docx在docx中创建超链接。我可以创建一个超链接,例如www.google.com。但是我想创建一个指向同一文档中特定位置(标题)的超链接。有什么办法吗?

def add_hyperlink(paragraph, url, text):
"""
A function that places a hyperlink within a paragraph object.

:param paragraph: The paragraph we are adding the hyperlink to.
:param url: A string containing the required url
:param text: The text displayed for the url
:return: The hyperlink object
"""


part = paragraph.part
r_id = part.relate_to(url,RT.HYPERLINK, is_external=True)


hyperlink = docx.oxml.shared.OxmlElement('w:hyperlink')
hyperlink.set(docx.oxml.shared.qn('r:id'), r_id, )

new_run = docx.oxml.shared.OxmlElement('w:r')

rPr = docx.oxml.shared.OxmlElement('w:rPr')

new_run.append(rPr)
new_run.text = text
hyperlink.append(new_run)

paragraph._p.append(hyperlink)

return hyperlink

0 个答案:

没有答案