這段程式碼是一個用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')