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 ...
随机推荐
- matlab gui .mat数据读取
在matlab的gui中用load函数读取.mat等类型数据 %定义全局变量 global img_correct %读取数据名称及位置 [filename,pathname]=uigetfile({ ...
- 小白也能看懂的 ROC 曲线详解
作者:PrimiHub-Kevin ROC 曲线是一种坐标图式的分析工具,是由二战中的电子和雷达工程师发明的,发明之初是用来侦测敌军飞机.船舰,后来被应用于医学.生物学.犯罪心理学. 如今,ROC 曲 ...
- DolphinScheduler3.1.7集成SAP HANA
源码地址:GitHub - apache/dolphinscheduler at 3.1.7-release 个人fork gitee地址:DolphinScheduler:Gitee) 后端代码更改 ...
- zabbix web 打开 lastest data 显示空白,http 返回 500
问题 当在zabbix web 的 lastest data 界面上进行一个超大查询(没有限定主机)时,可能因为查询过大,超出了php-fpm进程的内存限制,而导致该界面卡住.(此后打开均无显示,F1 ...
- KVM 硬盘分区扩容(GPT与MBR两种分区、fdisk 与 growpart两种方法)
因为认知顺序的原因,之前我都是用fdisk命令手工删除分区表后重建进行扩容,后面才发现可以用growpart命令. 实战建议直接点 AWS EC2 存储空间扩容 跳转过去参考,学习操作可以继续往下看. ...
- quarkus依赖注入之五:拦截器(Interceptor)
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是<quarkus依赖注入> ...
- 【青少年CTF】Crypto-easy 题解小集合
Crypto-easy 1.BASE 拿到附件用cyberchef自动解码得到flag 2.basic-crypto 拿到附件发现是一串01的数字,这时候想到二进制转换 然后base64在线解码 接着 ...
- Jenkins远程执行shell脚本,超时报错(ERROR: Exception when publishing, exception message [Exec timed out or was interrupted after 120,001 ms])
通过Jenkins远程执行脚本时,发现Jenkins构建任务失败,但是服务器本身的脚本是生效的. 排查确认是Jenkins构建任务超时,导致Jenkins看板显示任务构建失败,但是服务器上的自动脚本执 ...
- UI通过元素定位实现特定区域截图
最近计划做一个自动截图的工具,目的是实现性能测试资源监控平台(grafana)各硬件资源的自动截图,解放手工操作.前期的截图做了如下探索. 1. 整个页面截图 1.1 代码实现 通过save_scre ...
- [ABC138F] Coincidence
2023-02-03 题目 题目传送门 翻译 翻译 难度&重要性(1~10):6 题目来源 AtCoder 题目算法 数位dp 解题思路 \(1.\) 当 \(2x\leq y\),有\(y- ...