开发者

python如何将图片批量保存至word文档中

开发者 https://www.devze.com 2023-02-02 09:30 出处:网络 作者: qq_24591139
目录将图片批量保存至word文档中将本地图片存储到word文档解决的方法总结将图片批量保存至word文档中
目录
  • 将图片批量保存至word文档中
  • 将本地图片存储到word文档
    • 解决的方法
  • 总结

    将图片批量保存至word文档中

    def picture_docx(path_picture,path_docx):
        # 要插入的图片所在的文件夹
        #fold = 'C:\\Users\\Administrator\\Desktop\\tu'
        fold = path_picture
    
        # os.walk(fold)没有返回值,所以这么做显然没有结果,是错的
        # pics=list(os.walkandroid(fold)[3])
        # # pics.pop()
        # print(pics)
    
        # pics是图片的名字
        # root是string类型, dirs和pics是list类型
        for root, dirs, pics in os.walk(fold):
            doc = Document()
            for i in range(0, len(pics)):
    
                # 不需要把文件后缀名去掉,后面的PIL库里的open可以直接识别出文件名后缀
                # print(pics[i],'\n')
                # pics[i] = os.path.splitext(pics[i])[0]
                # print(pics[i], '\n')
    
                # 我前半部分的路径直接复制黏贴了,没用root和dirs
                filepath = path_picture + pics[i]
                # filepath = root + '\\' + str(pics[i])
    
                try:
                    doc.add_picture(filepath, width=Inches(6), height=Inches(3))
                except Exception:
                    pic_tmp = Image.open(filepath)
                    # 如果格式开发者_Python有问题,就用save转换成默认的jpg格式
                    pic_tmp.save(pic_tmp)
                    # 把处理后的图片放进Document变量doc中
                    doc.add_picture(filepath, width=Inches(6), height=Inches(3))
    
                # 把Document变量doc保存到指定路径的docx文件中
                doc.save(path编程客栈_docx + "PLS.docx")
    
                # 输出保存成功的标志
                print("pic", i + 1, "successfully added.")
    

    将本地图片存储到word文档

    想要利用python来操作word文档可以使用docx模块.

    安装: pip install python-docx

    from docx import Document
    from docx.shared import pythonInches
     
    string = '文字内容'
    images = '1.jpg'    # 保存在本地的图片
    doc = Document()    # doc对象
    doc.add_paragraph(string)   # 添加文字
    doc.add_picture(images, width=Inches(2))     # 添加图, 设置宽度
    doc.save('word文档.docx')     # 保存路径

    执行结果: 本地生成了一个Word文档, 打开之后.

    python如何将图片批量保存至word文档中

    但是有时添加图片会产生识别异常:

    python如何将图片批量保存至word文档中

    这是因为图片的格式问题, 对比一下 0.jpg 和 1.jpg的二进制数据, 添加0.jpg会异常, 1.jpg则不会.

    python如何将图片批量保存至word文档中

    解决的方法

    图片格式转换

    from docx import Document
    from docx.shared import Inches
    from PIL import Image
     
    string = '文字内容'
    images = '0.jpg'    # 保存编程客栈在本地的图片
    doc = Document()
    doc.add_paragraph(string)   # 添加文字
     
    try:
        doc.add_picture(images, width=Inches(2))     # 添加www.devze.com图, 设置宽度
    except Exception:
        jpg_ima = Image.open(images)    # 打开图片
        jpg_ima.save('0.jpg')           # 保存新的图片
        doc.add_picture(images, width=Inches(2))     # 添加图, 设置宽度
     
    doc.save('word文档.docx')     # 保存路径

    结果就和前面一样了:

    python如何将图片批量保存至word文档中

    docx库还有很多的方法,大家可以查看文档。

    https://python-docx.readthedocs.io/en/latest/

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

    0

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    关注公众号