AI办公自动化:批量在多个Word文档中插入对应图片

2024-06-24 19:50:17 浏览数 (2)

工作任务:文件夹中有多个word文档和word文档名称一致的图片,要把这些图片都插入到word文档中

在chatpgt中输入提示词:

你是一个Python编程专家,写一个Python脚本,具体步骤如下:

打开文件夹:F:AI自媒体内容AI视频教程下载新建文件夹

读取里面的docx文档;

定位文件夹中和这个docx文档主文件名一样的png图片;

将这个png图片插入到docx文档的第2段落和第3段落之间;

图片大小设置为:高度为7.25厘米,宽度14.44为厘米;

删除这个png图片;

注意:每一步都要输出信息到屏幕

源代码:

from docx import Document

from docx.shared import Cm

import os

from PIL import Image

# 文件夹路径

folder_path = r'F:AI自媒体内容AI视频教程下载新建文件夹'

# 遍历文件夹中的文件

for file_name in os.listdir(folder_path):

if file_name.endswith('.docx'):

docx_path = os.path.join(folder_path, file_name)

doc = Document(docx_path)

# 获取主文件名(不包括扩展名)

base_name = os.path.splitext(file_name)[0]

png_path = os.path.join(folder_path, f'{base_name}.png')

if not os.path.exists(png_path):

print(f'找不到匹配的 PNG 文件: {png_path},跳过此文档')

continue

# 输出当前操作

print(f'处理文档: {docx_path}')

print(f'匹配的 PNG 图片: {png_path}')

# 检查文档的段落数

if len(doc.paragraphs) < 2:

print(f'文档段落数少于2: {docx_path},跳过此文档')

continue

# 插入图片到第2段落和第3段落之间

run = doc.paragraphs[1].insert_paragraph_before().add_run()

# 插入图片并设置大小

run.add_picture(png_path, width=Cm(14.44), height=Cm(7.25))

# 保存修改后的文档

doc.save(docx_path)

print(f'图片已插入并调整大小,文档保存: {docx_path}')

# 删除 PNG 图片

try:

os.remove(png_path)

print(f'图片已删除: {png_path}')

except Exception as e:

print(f'删除图片失败: {png_path}, 错误: {e}')

print('完成所有文档的处理。')

0 人点赞