Python实现批量合并图片到word文档
作者:qwerrt9
这篇文章主要为大家详细介绍了如何利用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')
到此这篇关于Python实现批量合并图片到word文档的文章就介绍到这了,更多相关Python合并图片内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!