工作任务:文件夹中有多个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('完成所有文档的处理。')