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文档的更多相关文章
- C# 合并及拆分Word文档
本文简要分析一下如何如何使用C#简单实现合并和拆分word文档.平时我们在处理多个word文档时,可能会想要将两个文档合并为一个,或者是将某个文档的一部分添加到另一个文档中,有的时候也会想要将文档拆分 ...
- 一键批量打印EXCEL、WORD文档
一键批量打印EXCEL.WORD文档,本方法也可以打印同一个文档N份,可以批量打印A3.A4文档,包括单.双面打印等.希望能帮到广大朋友.请大家注重原创版权,不得在未经许可的下转载.传播,或者用来对同 ...
- freemarker导出带图片的word文档
最近做一个关于文档导出功能, 顺便学习了下freemarker,做了个关于导出带图片的word文档,模板并没有写全,只是验证代码的正确性 这只是做一个小功能,故只做了后台代码关于导出的代码,并未与前台 ...
- java 在MySQL中存储文件,读取文件(包括图片,word文档,excel表格,ppt,zip文件等)
转自:https://blog.csdn.net/u014475796/article/details/49893261 在设计到数据库的开发中,难免要将图片或文档文件(如word)插入到数据库中的情 ...
- 解决图片插入word文档后清晰度降低的问题
解决图片插入word文档后清晰度降低的问题 在默认情况下,word程序会自动压缩插入word文档中的图片以减小整个word文档的.当我们需要插入word文档中的图片保持原始清晰度时,可以通过设置wor ...
- python 使用win32com实现对word文档批量替换页眉页脚
最近由于工作需要,需要将70个word文件的页眉页脚全部进行修改,在想到这个无聊/重复/没有任何技术含量的工作时,我的内心是相当奔溃的.就在我接近奔溃的时候我突然想到完全可以用python脚本来实现这 ...
- 合并两个word文档,保持样式不变
一.需求说明 例如将封面插入到word正文上方 二.导入依赖 <dependency> <groupId>org.apache.poi</groupId> < ...
- C# 实现将多个word文档合并成一个word文档的功能
前段时间项目上遇到这么一个需求,需要将多个OCR识别的word文档合并成一个,于是就在网上找了找,自己修改了一下.在这里跟大家分享一下,希望有用的到的. 要做多word文档合并,首先要导入Micros ...
- JAVA合并多个word文档根据文章标题生成目录
此产品版本是免费版的,我也是在用免费,除了只能单次识别25张一下的word和生成pdf有限制,其他的功能都和正式版差不多. 如果你几十个文档,每个文档几页,输出出来超过25页,那没关系,依然可以使用. ...
- 用python批量生成简单的xml文档
最近生成训练数据时,给一批无效的背景图片生成对应的xml文档,我用python写了一个简单的批量生成xml文档的demo,遇见了意外的小问题,记录一下. 报错问题为:ImportError: No m ...
随机推荐
- 解决php中通过exec调用python脚本报ModuleNotFoundError错误
背景 出于某些原因,我们有时会在PHP中通过exec来调用Python代码,有可能是某些功能只能用Python实现(或用Python实现比较方便),有可能是出于性能考虑(Python可以执行耗时任务) ...
- kbuild系统中最简单的目标 -- help(三)
当你学完help目标后你会发现它与我们的代码基本没有什么直接的关系,仅仅是用来生成kbuild的简短使用说明,但是用它来作为学习掌握kbuild编译系统的开篇,不管是从难度还是学习感受上真的是再适合不 ...
- [SDOI2008] 仪仗队【题解】
题目描述 作为体育委员,C 君负责这次运动会仪仗队的训练.仪仗队是由学生组成的 \(N \times N\) 的方阵,为了保证队伍在行进中整齐划一,C 君会跟在仪仗队的左后方,根据其视线所及的学生人数 ...
- vim玩法 .vimrc配置映射指令nnoremap、inoremap
编辑 vimrc 文件, vi ~/.vimrc vim中的映射指令,用于将一个按键绑定到某一个操作上. map: 执行映射指令,执行时会进行递归替换,可能会出现"按键循环"的情况 ...
- PHP插件
- Unity的IPostprocessBuildWithReport:深入解析与实用案例
Unity IPostprocessBuildWithReport Unity IPostprocessBuildWithReport是Unity引擎中的一个非常有用的功能,它可以让开发者在构建项目后 ...
- Prism报错
Rules.Default..WithoutFastExpressionCompiler()报错 说没有找到容器 1.查看Prism.Wpf源码 获取DryIoc容器规则 2.证明项目中出现了另外一个 ...
- Java中锁的简单使用体验
锁是控制多个线程访问共享资源的一种同步机制. synchronized:可以将代码块或方法设置为同步. ReentrantLock:提供了比synchronized更广泛的锁操作函数. ReadWri ...
- Tarjan基础用法
\(\operatorname{Tarjan}\) 基础用法 目录 \(\operatorname{Tarjan}\) 基础用法 \(\operatorname{Tarjan}\) 求最近公共祖先 前 ...
- Pytest+Jenkins 学习笔记
Pytest+Jenkins 学习笔记 在软件测试工作中,单元测试通常是由开发人员执行的.针对最小单元粒度的组件测试,在完成了单元粒度的测试任务之后,通常就需要交由专职的测试人员将这些单元级的组件放到 ...