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')
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值