这段代码是一个用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')