如何在python中替换word文档中超链接的显示文本。我可以替换链接,但无法更改显示文本。
I am able to change link using docx package in python using docx python package. Need help on this
你的问题缺乏细节,但这是一个好的开始(通过在GH1113之上构建):
#pip install python-docx
from docx import Document
doc = Document("file.docx")
TARGET = "SO" # <- targeted label or url (i.e, "https://stackoverflow.com/")
schema = "{http://schemas.openxmlformats.org/officeDocument/2006/relationships}id"
for p in doc.paragraphs:
for link in p._element.xpath(".//w:hyperlink"):
label = link.xpath("w:r", namespaces=link.nsmap)[0]
hlink = doc._part.rels[link.get(schema)]._target
if label.text == TARGET: # or hlink == TARGET
label.text = "StackOverflow"
doc.save("new.docx")
输出(new.docx):
使用的输入(file.docx):