AI辦公自動化:批量在多個Word文檔中插入對應圖片

部落人有文化 2024-06-16 19:18:49

工作任務:文件夾中有多個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 阅读:0

部落人有文化

簡介:感謝大家的關注