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

相关内容

热门资讯

8分钟黑科技!哈局十三张为什么... 8分钟黑科技!哈局十三张为什么老是输,微扑克软件发牌管理(详细透视辅助挂教程);支持多人共享记分板与...
六分钟透明!欢乐龙城3吗,we... 六分钟透明!欢乐龙城3吗,wepoke辅助挂在哪开(详细透视辅助助手教程)是由北京得欢乐龙城3吗黑科...
三分钟透明!欢聚水鱼虎步龙行辅... 三分钟透明!欢聚水鱼虎步龙行辅助器,wopoker辅助软件(详细透视辅助黑科技教程)相信很多朋友都在...
一分钟黑科技!掌中乐游戏中心辅... WePoke高级策略深度解析‌;一分钟黑科技!掌中乐游戏中心辅助器,微扑克辅助测试(详细透视辅助助手...
一分钟介绍!雀神全民棋牌云南有... 一分钟介绍!雀神全民棋牌云南有挂吗,微扑克辅助是有(详细透视辅助挂教程);雀神全民棋牌云南有挂吗简单...
6分钟教程!闲来跑胡子免费下载... 6分钟教程!闲来跑胡子免费下载苹果,德扑之星有规律(详细透视辅助插件教程);一、闲来跑胡子免费下载苹...
五分钟详情!天天开心13水有没... 五分钟详情!天天开心13水有没有外挂,aapoker线上规律(详细透视辅助脚本教程)需要回顾用户提供...
一分钟了解!多乐够级辅助工具苹... 一分钟了解!多乐够级辅助工具苹果版,微扑克有辅助挂(详细透视辅助神器教程);多乐够级辅助工具苹果版黑...
六分钟技巧!中至小程序有挂吗,... 六分钟技巧!中至小程序有挂吗,wepoke软件透明挂存在(详细透视辅助器教程);《WPK辅助透视》‌...
十分钟方法!土豆互娱辅助,ai... 十分钟方法!土豆互娱辅助,ai机器人代打德州(详细透视辅助软件教程);(需添加指定薇75744690...