Python 批量合并图片到word文档

这段代码是一个用Python编写的功能,它将指定文件夹中的所有图片插入到Word文档中并保存。以下是代码的主要步骤和功能:

导入必要的库

Python中的docx库用于操作Word文档,glob库用于匹配文件路径。

复制代码
from docx import Document
from docx.shared import Inches
import glob

定义函数 insert_images_to_word(image_folder, output_path)

该函数用于将指定文件夹中的所有图片插入到Word文档中,并保存到指定路径。

复制代码
def insert_images_to_word(image_folder, output_path):
    try:
        # 创建一个空白的Word文档对象
        doc = Document()

        # 添加段落
        doc.add_paragraph('这是一个包含多张图片的Word文档')

        # 获取文件夹中的所有图片文件路径
        image_files = glob.glob(image_folder + '/*.png') + glob.glob(image_folder + '/*.jpg')

        # 遍历图片文件路径列表,逐个添加图片到Word文档中
        for image_file in image_files:
            doc.add_picture(image_file, width=Inches(6), height=Inches(3))

        # 保存Word文档
        doc.save(output_path)
        return True
    except Exception as e:
        print(e)
        return False

创建一个空白的Word文档对象

复制代码
doc = Document()

添加一个段落到Word文档中

复制代码
doc.add_paragraph('这是一个包含多张图片的Word文档')

获取文件夹中的所有图片文件路径

使用glob.glob()函数获取文件夹中所有的.png和.jpg图片文件路径。

复制代码
image_files = glob.glob(image_folder + '/*.png') + glob.glob(image_folder + '/*.jpg')

遍历图片文件路径列表,逐个将图片添加到Word文档中

利用add_picture()方法将图片逐个添加到Word文档中,可以设置图片的宽度和高度。

复制代码
for image_file in image_files:
    doc.add_picture(image_file, width=Inches(6), height=Inches(3))

保存Word文档到指定路径

使用save()方法保存Word文档到指定的输出路径。

复制代码
doc.save(output_path)

返回生成结果状态

如果成功生成Word文档,则返回True,否则返回False。

复制代码
return True

调用函数并输出结果

最后,根据需要指定图片所在文件夹路径和输出文件路径,并调用函数进行操作。根据返回值判断操作是否成功。

复制代码
# 图片所在文件夹路径
image_folder = r'C:\Users\Admin\Desktop\数据核对'

# Word文档保存路径
output_path = r'C:\Users\Admin\Desktop\output.docx'

# 调用函数
if insert_images_to_word(image_folder, output_path):
    print('Word文档已保存到{}'.format(output_path))
else:
    print('生成Word文档失败。')

这样,代码就完成了将指定文件夹中的所有图片插入到Word文档并保存的功能。

完整代码一:

复制代码
from docx import Document
from docx.shared import Inches
import glob


def insert_images_to_word(image_folder, output_path):
    """
    将指定文件夹中的所有图片插入到 Word 文档中,并保存到指定路径。

    image_folder:图片所在文件夹的路径。
    output_path:Word 文档保存路径。
    """
    try:
        # 创建一个空白的Word文档对象
        doc = Document()

        # 添加段落
        doc.add_paragraph('这是一个包含多张图片的Word文档')

        # 获取文件夹中的所有图片文件路径
        image_files = glob.glob(image_folder + '/*.png') + glob.glob(image_folder + '/*.jpg')

        # 遍历图片文件路径列表,逐个添加图片到Word文档中
        for image_file in image_files:
            doc.add_picture(image_file, width=Inches(6), height=Inches(3))

        # 保存Word文档
        doc.save(output_path)
        return True
    except Exception as e:
        print(e)
        return False


# 图片所在文件夹路径
image_folder = r'C:\Users\Admin\Desktop\数据核对'

# Word文档保存路径
output_path = r'C:\Users\Admin\Desktop\output.docx'

# 调用函数
if insert_images_to_word(image_folder, output_path):
    print('Word文档已保存到{}'.format(output_path))
else:
    print('生成Word文档失败。')

完整代码二:

复制代码
from docx import Document
from docx.shared import Inches
import glob

# 创建一个空白的Word文档对象
doc = Document()

# 添加段落
doc.add_paragraph('这是一个包含多张图片的Word文档')

# 图片所在文件夹路径
image_folder = r'C:\Users\liuchunlin2\Desktop\新建文件夹'

# 获取文件夹中的所有图片文件路径
image_files = glob.glob(image_folder + '/*.png')+glob.glob(image_folder + '/*.jpg')  # 根据实际情况修改文件扩展名

print(image_files)

# 遍历图片文件路径列表,逐个添加图片到Word文档中
for image_file in image_files:
    doc.add_picture(image_file, width=Inches(6), height=Inches(3))

# 保存Word文档
doc.save('output.docx')
相关推荐
代码山河5 小时前
Python就业方向全解析:后端、爬虫、数据分析、AI你选哪个?
python·学习·架构·教程·面向对象·项目
在世修行5 小时前
智学文枢:题目流水线
python·多线程·状态机·pyside
梯度下降者6 小时前
零基础入门Python 爬虫
爬虫·python·数据分析·入门指南·webcrawler
“AI国潮设计-小江”7 小时前
【AIGC实战】Python+Stable Diffusion打造“英歌舞财神”IP,解锁“马到成功”等爆款情绪营销文案设计
开发语言·人工智能·python·prompt·aigc
benchmark_cc9 小时前
用 Python 拉 A 股全市场实时快照:Notebook 请求、结果校验与易错点
python·数据分析·pandas·量化交易·股票数据·quantdash
伞伞悦读9 小时前
【第70期】Adam二阶矩不是方差:偏差校正、动量与AdamW完整实验
python
外收内放9 小时前
Python基础语法练习题(73)
java·前端·python
锋行天下9 小时前
Langgraph HITL 中断运行,用户输入后输出打字效果
人工智能·python
时早玖沐10 小时前
给 AstrBot 写一个天气推送插件:12 次提交、6 个坑
python·开源·ai编程
触底反弹10 小时前
🚀 FastAPI 五大重难点深度剖析:从 500 报错到彻底搞懂 Depends、Pydantic 与 SQLAlchemy
python·fastapi