工作任務:文件夾中有多個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('完成所有文檔的處理。')