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(布局与文字相邻的图片)进行了调整,如果需要调整其他类型的图片,请将代码改为适当的方式来实现。

相关内容

热门资讯

aapoker有胜率保护吗,微... aapoker有胜率保护吗,微扑克辅助工具,智星德州菠萝辅助1、在微扑克辅助工具ai机器人技巧中,中...
微扑克辅助透视技能教程,wpk... 微扑克辅助透视技能教程,wpk怎么提高胜率,智星菠萝德州有挂吗是一款可以让一直输的玩家,快速成为一个...
智星德州菠萝辅助工具,wepo... 智星德州菠萝辅助工具,wepoke软件靠谱吗,智星德州菠萝辅助器免费下载1、wepoke软件靠谱吗a...
红龙扑克透牌辅助器,wepok... 红龙扑克透牌辅助器,wepoke透明挂咋测试,智星德州菠萝辅助器推荐;人气非常高,ai更新快且高清可...
wpk有辅助插件吗,wepok... wpk有辅助插件吗,wepokeai代打辅助软件,智星德州菠萝辅助;无聊就玩这款wepokeai代打...
德扑之星发牌规律,wepoke... 自定义wepoke软件透明演示系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑克专用辅助...
德扑之星有系统新手保护期吗,w... 德扑之星有系统新手保护期吗,wepok软件透明挂,智星菠萝德州辅助1、这是跨平台的wepok软件透明...
红龙扑克有挂吗,wepoke辅... 红龙扑克有挂吗,wepoke辅助功能,智星德州菠萝开挂是一款可以让一直输的玩家,快速成为一个“必胜”...
wpk透视辅助测试,wepok... wpk透视辅助测试,wepoke挂真的假的,智星德州菠萝外挂是一款可以让一直输的玩家,快速成为一个“...
德州之星辅助器多少钱,微扑克辅... 德州之星辅助器多少钱,微扑克辅助提高胜率,智星德州菠萝辅助是一款可以让一直输的玩家,快速成为一个“必...