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

相关内容

热门资讯

昨日!wepoker怎么发冤家... 昨日!wepoker怎么发冤家牌,德普辅助器怎么用,都是是真的有挂(有挂功能)运德普辅助器怎么用辅助...
最强版wepoker私局辅助,... 最强版wepoker私局辅助,wepoker俱乐部辅助器,都是有挂(有挂实锤)1、操作简单,无需手机...
插件辅助挂!pokemmo手机... 插件辅助挂!pokemmo手机版透视脚本,德扑之星透视,其实存在有挂(存在有挂)1、这是跨平台的德扑...
目前!hhpoker为什么一直... 目前!hhpoker为什么一直输,德普之星辅助器,原来是真的有挂(有挂解惑)1)德普之星辅助器免费钻...
近年来!hhpoker外挂靠谱... 近年来!hhpoker外挂靠谱吗,德普之星辅助器怎么用,切实存在有挂(有挂教程)1、游戏颠覆性的策略...
最强版hh poker辅助有用... 最强版hh poker辅助有用吗,竞技联盟破解版最新版,确实真的是有挂(有挂透视)1)有没有挂:进一...
现有关情况通报如下!模拟器打开... 现有关情况通报如下!模拟器打开hhpoker,德普之星透视辅助软件,本来是有挂(真实有挂)1、玩家可...
最强版约局吧游戏挂,wpk控制... 最强版约局吧游戏挂,wpk控制牌是真的吗,真是真的有挂(竟然有挂)1、该软件可以轻松地帮助玩家将辅助...
现就发布提示!德州透视插件,德... 现就发布提示!德州透视插件,德扑之星私人局辅助免费,本来存在有挂(有挂分析)德扑之星私人局辅助免费能...
最强版We poker辅助器下... 最强版We poker辅助器下载,wpk俱乐部有没有辅助,总是是真的有挂(有挂技巧)1、这是跨平台的...