首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python更改docx中超链接的颜色和样式

Python更改docx中超链接的颜色和样式
EN

Stack Overflow用户
提问于 2020-08-29 18:56:38
回答 1查看 235关注 0票数 0

我在我的代码中添加了一个add_hyperlink函数,我可以使用这个函数在我的文档中添加超链接,但是当我想要改变它们的颜色时,我不能这样做。下面是函数:

代码语言:javascript
运行
复制
    def add_hyperlink(paragraph, url, text):
        part = paragraph.part
        r_id = part.relate_to(url, docx.opc.constants.RELATIONSHIP_TYPE.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

我尝试使用以下命令来更改它

代码语言:javascript
运行
复制
hyperl = add_hyperlink(paragraph, 'https://stackoverflow.com', 'stackoverflow')
hyperl.font.color.rgb = RGBColor(0x99, 0x99, 0x99)

但它并没有起作用。我已经试了好几天了。是否可以从代码中更改超链接的颜色或样式?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-10 05:16:13

我解决了这个问题。我将这些行添加到函数中的return hyperlink行的顶部

代码语言:javascript
运行
复制
r = paragraph.add_run()
r._r.append (hyperlink)
r.font.color.theme_color = MSO_THEME_COLOR_INDEX.HYPERLINK
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63646185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档