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

相关内容

热门资讯

大神推荐!哈糖大菠萝软件下载,... 大神推荐!哈糖大菠萝软件下载,we poker游戏下,总是是有挂(有挂细节)1、上手简单,内置详细流...
一分钟教你!aa poker辅... 一分钟教你!aa poker辅助包,pokeplus脚本,好像真的是有挂(有挂讲解);1、完成辅助器...
来一盘!wepoker的辅助器... 来一盘!wepoker的辅助器,wpk透视工作室,真是存在有挂(揭秘有挂)1、玩家可以在线上大神俱乐...
科技分享!pokermaste... 科技分享!pokermaster修改器,wepoker游戏安装教程,其实真的是有挂(有挂规律)1、操...
一分钟了解!德普之星辅助工具如... 一分钟了解!德普之星辅助工具如何打开,wepoker免费脚本,都是是真的有挂(有挂讲解);1、wep...
实测分享!wepokerplu... 实测分享!wepokerplus脚本,aapoker怎么选牌,原来真的是有挂(有挂教学)1、这是跨平...
玩家必备教程!hhpoker可... 玩家必备教程!hhpoker可以控制牌吗,德州局透视脚本,一直存在有挂(有挂技巧)1、让任何用户在无...
如何分辨真伪!wepoker有... 如何分辨真伪!wepoker有辅助吗,hhpoker是真的还是假的,竟然有挂(有挂解惑)1、任何透视...
避坑细节!wepoker透视a... 避坑细节!wepoker透视app下载,HH平台挂,果然是真的有挂(证实有挂)亲,关键说明,透视脚本...
重大通报!wejoker辅助器... 重大通报!wejoker辅助器要钱玩吗,wepoker挂,一直有挂(确实有挂)1、任何透视是真的假的...