如何替换word文档中的超链接显示

问题描述 投票:0回答:1

如何在python中替换word文档中超链接的显示文本。我可以替换链接,但无法更改显示文本。



I am able to change link using docx package in python using docx python package. Need help on this


python docx
1个回答
0
投票

你的问题缺乏细节,但这是一个好的开始(通过在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):

© www.soinside.com 2019 - 2024. All rights reserved.