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

相关内容

热门资讯

黑科技安装!wopoker分析... 黑科技安装!wopoker分析器(ai辅助)都是有挂(有挂苹果版)-哔哩哔哩;支持多人共享记分板与复...
黑科技规律!wepoke透明挂... 黑科技规律!wepoke透明挂怎么识别(ai辅助)竟然是有挂(有挂苹果版)-哔哩哔哩1、很好的工具软...
黑科技存在!德扑之星ai代打真... 黑科技存在!德扑之星ai代打真假(黑科技)竟然是真的有挂(有挂辅助挂)-哔哩哔哩;科技安装教程;13...
黑科技透明挂挂!德州辅助分析软... 黑科技透明挂挂!德州辅助分析软件(ai代打)原生是有挂(有挂插件)-哔哩哔哩;亲真的是有正版授权,小...
黑科技了解!微扑克俱乐部机器人... 黑科技了解!微扑克俱乐部机器人(黑科技ai)一直是真的有挂(有挂规律)-哔哩哔哩1、玩家可以在微扑克...
黑科技模拟器!微扑克ai辅助器... 黑科技模拟器!微扑克ai辅助器苹果版(ai代打)一直存在有挂(有挂线上)-哔哩哔哩1、不需要AI权限...
黑科技辅助!来玩德州app服务... 您好,来玩德州app服务器在哪里这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】...
黑科技透明挂挂!wpk线上打法... 黑科技透明挂挂!wpk线上打法教学(透明挂)原本有挂(有挂盈利)-哔哩哔哩;建议优先通过wpk线上打...
黑科技教程!wepoke软件透... 黑科技教程!wepoke软件透明挂是真的么(透明挂)总是真的有挂(有挂轻量版)-哔哩哔哩准备好在we...
黑科技神器!微扑克有假吗(黑科... 黑科技神器!微扑克有假吗(黑科技)从来存在有挂(有挂免费)-哔哩哔哩;支持2-10人实时对战,虚拟庄...