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

 更新时间:2023年02月01日 11:14:34   作者:qq_24591139  
这篇文章主要介绍了python如何将图片批量保存至word文档中问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

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

def picture_docx(path_picture,path_docx):
    # 要插入的图片所在的文件夹
    #fold = 'C:\\Users\\Administrator\\Desktop\\tu'
    fold = path_picture

    # os.walk(fold)没有返回值,所以这么做显然没有结果,是错的
    # pics=list(os.walk(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)
                # 如果格式有问题,就用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 Inches
 
string = '文字内容'
images = '1.jpg'    # 保存在本地的图片
doc = Document()    # doc对象
doc.add_paragraph(string)   # 添加文字
doc.add_picture(images, width=Inches(2))     # 添加图, 设置宽度
doc.save('word文档.docx')     # 保存路径

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

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

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

解决的方法

图片格式转换

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))     # 添加图, 设置宽度
except Exception:
    jpg_ima = Image.open(images)    # 打开图片
    jpg_ima.save('0.jpg')           # 保存新的图片
    doc.add_picture(images, width=Inches(2))     # 添加图, 设置宽度
 
doc.save('word文档.docx')     # 保存路径

结果就和前面一样了:

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

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

总结

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

相关文章

  • 浅谈tensorflow中Dataset图片的批量读取及维度的操作详解

    浅谈tensorflow中Dataset图片的批量读取及维度的操作详解

    今天小编就为大家分享一篇浅谈tensorflow中Dataset图片的批量读取及维度的操作详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • 在Python的Flask框架下使用sqlalchemy库的简单教程

    在Python的Flask框架下使用sqlalchemy库的简单教程

    这篇文章主要介绍了在Python的Flask框架下使用sqlalchemy库的简单教程,用来简洁地连接与操作数据库,需要的朋友可以参考下
    2015-04-04
  • pycharm与jupyter lab/notebook结合使用方式

    pycharm与jupyter lab/notebook结合使用方式

    这篇文章主要介绍了pycharm与jupyter lab/notebook结合使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • 详解python Warning警告有哪些情况

    详解python Warning警告有哪些情况

    这篇文章主要为大家介绍分析了python Warning警告有哪些情况示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • python bmp转换为jpg 并删除原图的方法

    python bmp转换为jpg 并删除原图的方法

    今天小编就为大家分享一篇python bmp转换为jpg 并删除原图的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • Python爬虫原理与基本请求库urllib详解

    Python爬虫原理与基本请求库urllib详解

    这篇文章主要介绍了Python爬虫原理与基本请求库urllib详解,爬虫就是通过模拟浏览器,按照一定的规则,自动、大批量的获取网络资源,包括文本、图片、链接、音频、视频等等,需要的朋友可以参考下
    2023-07-07
  • Python类的高级函数详解

    Python类的高级函数详解

    这篇文章主要介绍了Python类的高级函数,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08
  • Python+OpenCV图片局部区域像素值处理改进版详解

    Python+OpenCV图片局部区域像素值处理改进版详解

    这篇文章主要为大家详细介绍了Python+OpenCV图片局部区域像素值处理的改进版,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • Python编程基础之函数和模块

    Python编程基础之函数和模块

    这篇文章主要为大家介绍了Python函数和模块,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • 浅谈Python接口对json串的处理方法

    浅谈Python接口对json串的处理方法

    今天小编就为大家分享一篇浅谈Python接口对json串的处理方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12

最新评论