AutoFitPictureinWordwithPythondocx
创始人
2024-11-12 13:30:14
0次

使用Python docx库自动调整Word中的图片大小。

使用Python docx库中的Image类和Shape类的属性进行操作,将图片的大小设置为页面的宽度,实现图片自动适应页面大小。

代码示例:

from docx import Document
from docx.shared import Cm

doc = Document('example.docx')

for paragraph in doc.paragraphs:
    for run in paragraph.runs:
        if run.element.tag.endswith('}r'):
            for tup in run.element.xpath('.//wp:docPr'):
                if 'inline' in tup.attrib.values():
                    try:
                        shape_id = run._r.xpath('.//a:blip')[0].attrib['{%s}embed' % doc.part.related_parts[
                        run._r.xpath('.//a:blip')[0].attrib['{%s}link' % doc.part.nsmap['r']].rId].reltype]
                        shape_size = doc.part.related_parts[shape_id]._element.xpath('.//a:ext')[0]
                        cx = shape_size.get('cx')
                        cy = shape_size.get('cy')
                        cx, cy = int(cx), int(cy)
                        
                        if cx > doc.page_width * 9525:
                            shape_size.set('cx', str(doc.page_width * 9525))
                            shape_size.set('cy', str(cy * doc.page_width * 9525 // cx))
                    except:
                        pass

doc.save('example.docx')

注意:上面的代码仅对InlineShape(布局与文字相邻的图片)进行了调整,如果需要调整其他类型的图片,请将代码改为适当的方式来实现。

相关内容

热门资讯

一分钟揭秘!微乐小程序免费黑科... 一分钟揭秘!微乐小程序免费黑科技(开挂),微乐浙江麻将原来真的是有透视挂工具微乐小程序免费黑科技能透...
记者爆料!微乐小程序免费黑科技... 记者爆料!微乐小程序免费黑科技(外挂),微乐小程序竟然有透视挂脚本1、进入到微乐小程序免费黑科技是否...
热点推荐!微乐自建房怎么提高运... 热点推荐!微乐自建房怎么提高运气(外挂),微乐锄大地好像是有透视挂软件1、完成微乐自建房怎么提高运气...
推荐十款!微乐自建房脚本入口(... 推荐十款!微乐自建房脚本入口(外挂),微乐炸红十一贯是真的有透视挂技巧进入游戏-大厅左侧-新手福利-...
今日公布!微乐兰州麻将小程序辅... 今日公布!微乐兰州麻将小程序辅助(作弊器),微乐三打一原来是真的有透视挂插件1)微乐兰州麻将小程序辅...
一分钟揭秘!微乐小程序免费黑科... 一分钟揭秘!微乐小程序免费黑科技是真的吗(辅助器),微乐刨幺填大坑果然真的有透视挂教程1、很好的工具...
分享一款!微乐小程序免费脚本(... 分享一款!微乐小程序免费脚本(外挂),微乐卡五星一贯真的是有透视挂技巧1、该软件可以轻松地帮助玩家将...
玩家必看分享!微乐小程序黑科技... 玩家必看分享!微乐小程序黑科技辅助工具推荐(开挂),微乐捉鸡麻将果然是有透视挂脚本1、全新机制【微乐...
安装程序教程!微乐小程序辅助器... 安装程序教程!微乐小程序辅助器脚本(作弊器),微乐河南红中麻将本来有透视挂app所有人都在同一条线上...
技术分享!微乐小程序辅助开挂(... 技术分享!微乐小程序辅助开挂(辅助),微乐河北麻将一直有透视挂插件1、微乐小程序辅助开挂模拟器是什么...