Python 批量合并图片到word文档
这段代码是一个用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')