用python批量实现文件夹中所有pdf转成图片并插入到一个word文件中

要实现这个任务,你需要使用Python的几个库:PyPDF2 用于处理PDF文件,python-docx 用于操作Word文件,PIL(或Pillow)用于处理图片。

首先,确保你已经安装了这些库。如果没有,你可以使用pip来安装:

 

bash复制代码

pip install PyPDF2 python-docx Pillow

接下来是Python脚本的示例代码:

 

python复制代码

import os
import PyPDF2
from PIL import Image
from docx import Document
from io import BytesIO
# 文件夹路径,其中包含要转换的PDF文件
folder_path = 'path_to_pdf_folder'
# 创建Word文档对象
doc = Document()
# 遍历文件夹中的所有PDF文件
for filename in os.listdir(folder_path):
if filename.endswith('.pdf'):
pdf_path = os.path.join(folder_path, filename)
print(f"Processing {pdf_path}...")
# 打开PDF文件
with open(pdf_path, 'rb') as file:
reader = PyPDF2.PdfFileReader(file)
for page_num in range(reader.numPages):
page = reader.getPage(page_num)
# 将PDF页面转换为图片
img = Image.open(BytesIO(page.extractText().encode('utf-8')))
img.save('temp.png') # 临时保存图片,稍后将其添加到Word文档中
# 将图片插入到Word文档中(假设在当前页的最后添加)
doc.add_picture('temp.png', width=doc.paragraphs[-1].width) # 替换宽度为当前段落宽度,以适应页面布局
# 删除临时图片文件
os.remove('temp.png')
print(f"Done with {pdf_path}.")
# 保存Word文档
doc.save('output.docx')
print("All PDFs converted and saved to output.docx.")

注意:这个脚本将PDF的每一页都转换为图片,并将这些图片插入到Word文档中。如果你希望将整个PDF作为一个图片插入到Word中,你需要稍微修改代码。此外,这个脚本没有处理PDF中的文本,如果你需要提取和插入文本,请相应地修改代码。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/625185.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java 方法以及在计算机内部的调用问题

修饰符 返回值类型 方法名( 形参列表 ){ 方法体代码(需要执行的功能代码) return 返回值; } 方法在内种没有先后顺序,但是不能把一个方法定义在另一个方法中。 方法的返回值类型写void(无返回申明)时,方法内不能使用return返回数…

Linux中放大字体

环境:VMware17Pro,Ubuntu22.04 在显示设置外观中只看到图标放大的调整,没看到字体大小设置 不按照常规设置,点开下面的辅助功能->大号文本(没有设置具体字号的选项,但是可以放大) 效果图如下…

day-10 删除排序链表中的重复元素

思路 先统计每个值出现的次数,然后将出现次数为一的节点链接为一个链表即可 解题方法 while(t!null){ //统计每个值出现次数 arr[t.val100]1; tt.next; } while(t!null&&arr[t.val100]!1) tt.next;//确定返回的头结点 ttt; while(t!null&&t.next…

项目解决方案:多个分厂的视频监控汇聚到总厂

目 录 1、概述 2、建设目标及需求 2.1 建设目标 2.2 需求描述 2.3 需求分析 3. 设计依据与设计原则 3.1 设计依据 3.2设计原则 1、先进性与适用性 2、经济性与实用性 3、可靠性与安全性 4、开放性 5、可扩充性 6、追求最优化的系统设备配置…

Zynq7020 使用 Video Processing Subsystem 实现图像缩放

1、前言 没玩过图像缩放都不好意思说自己玩儿过FPGA,这是CSDN某大佬说过的一句话,鄙人深信不疑。。。 目前市面上主流的FPGA图像缩放方案如下:1:Xilinx的HLS方案,该方案简单,易于实现,但只能用…

MySQL语句 | 使用DATE_FORMAT()对查询结果按日、周、月分组统计

文章目录 语法举个通用的例子 按照年月日进行分组统计举个通用的例子举个实际的例子 在MySQL中, DATE_FORMAT() 函数可用于将日期按照指定的格式进行格式化,也可用于对数据记录按照不同的时间维度进行分组 语法 DATE_FORMAT(date, format)其中&#xf…

java+vue基于Spring Boot的渔船出海及海货统计系统

该渔船出海及海货统计系统采用B/S架构、前后端分离进行设计,并采用java语言以及springboot框架进行开发。该系统主要设计并完成了管理过程中的用户注册登录、个人信息修改、用户信息、渔船信息、渔船航班、海货价格、渔船海货、非法举报、渔船黑名单等功能。该系统操…

Elasticsearch安装Windows版

目录 1.:下载安装包,选择指定的版本,这里选择了7.8.0,官网下载地址: ​编辑 2:下载好之后解压,解压之后是这样的: 3:配置环境变量,跟JDK一样,…

登录页加载图片失败的默认图片占位图如何实现?<img>

问题&#xff1a; 登录页动态显示不同项目的图片的时候&#xff0c;若环境变量的图片加载失败&#xff0c;如何显示占位图logo? 解决&#xff1a; <img :οnerrοr"方法" />注意onerror的是方法 关键代码&#xff1a; <img draggable"false"…

rime中州韵小狼毫 联想词组 滤镜

教程目录&#xff1a;rime中州韵小狼毫须鼠管安装配置教程 保姆级教程 100增强功能配置教程 在 rime中州韵小狼毫 自定义词典 一文中&#xff0c;我们分享了如何在rime中州韵小狼毫须鼠管输入法中定义用户自定义词典&#xff1b;通过自定义词典&#xff0c;我们可以很方便的在…

*(长期更新)软考网络工程师学习笔记——Section 22 无线局域网

目录 一、IEEE 802.11的定义二、IEEE 802.11系列标准三、IEEE 802.11的两种工作模式四、CDMA/CA协议&#xff08;一&#xff09;CDMA/CA协议的定义&#xff08;二&#xff09;CDMA/CA协议的过程 五、AC与AP&#xff08;一&#xff09;接入控制器AC&#xff08;二&#xff09;无…

MySQL解决海量数据和并发性的方案——分库分表

分库分表其实是两个事情&#xff0c;为了解决的东西实际上也是两个&#xff0c;但是一定要注意&#xff0c;不到最后万不得已&#xff0c;不要用分库分表&#xff0c;因为这会对数据查询有极大限制。 数据量太大查询慢的问题。 这里面我们讲的「查询」其实 主要是事务中的查询…

如何实现图片压缩

文章目录 1、canvas实现图片压缩2、其他 1、canvas实现图片压缩 canvas 实现图片压缩&#xff0c;主要是使用 canvas 的drawImage 方法 具体思路 拿到用户上传的文件转成base64创建一个 Image&#xff0c;主要是获取到这个图片的宽度和高度创建一个 2D 的画布&#xff0c;画布…

一文搞懂系列——Linux C线程池技术

背景 最近在走读诊断项目代码时&#xff0c;发现其用到了线程池技术&#xff0c;感觉耳目一新。以前基本只是听过线程池&#xff0c;但是并没有实际应用。对它有一丝的好奇&#xff0c;于是趁这个机会深入了解一下线程池的实现原理。 线程池的优点 线程池出现的背景&#xf…

RocketMQ源码阅读-Message拉取与消费-Broker篇

RocketMQ源码阅读-Message拉取与消费-Broker篇 1. ConsumeQueue是什么2. Message重放2.1 从MappedFile文件读取Message到ConsumeQueue2.2 ConsumeQueue持久化 3. Broker提供的拉取接口3.1 请求Header3.2 拉取消息接口3.3 拉取失败处理 4. Broker提供的更新消费进度接口5. Broke…

C++之类的静态成员

C静态成员是指在类中使用static关键字声明的成员变量或成员函数。静态成员属于类本身&#xff0c;而不是类的对象。它们在所有对象之间共享&#xff0c;只有一份内存空间。静态成员在类外初始化&#xff0c;且只能访问一次。 关键字 static 意味着类中只有一个该成员的实例。静…

Redis面试题16

Redis 的主从复制是什么&#xff1f;它有什么作用&#xff1f; 答&#xff1a;主从复制是指 Redis 中的主节点将自己的数据复制给从节点的过程。主从复制为 Redis 提供了数据的冗余备份、读写分离和故障恢复等功能。 主从复制的过程如下&#xff1a; 主节点将自己的数据变更操…

短视频IP运营流程架构SOP模板PPT

【干货资料持续更新&#xff0c;以防走丢】 短视频IP运营流程架构SOP模板PPT 部分资料预览 资料部分是网络整理&#xff0c;仅供学习参考。 抖音运营资料合集&#xff08;完整资料包含以下内容&#xff09; 目录 抖音15秒短视频剧本创作公式 在抖音这个短视频平台上&#…

【FastAPI】路径参数

路径参数 from fastapi import FastAPIapp FastAPI()app.get("/items/{item_id}") async def read_item(item_id):return {"item_id": item_id}其中{item_id}就为路径参数 运行以上程序当访问 &#xff1a;http://127.0.0.1:8000/items/fastapi时候 将会…

SpringBoot集成RabbitMq,RabbitMq消费与生产,消费失败重发机制,发送签收确认机制

RabbitMq消费与生产&#xff0c;消费失败重发机制&#xff0c;发送确认机制&#xff0c;消息发送结果回执 1. RabbitMq集成spring bootRabbitMq集成依赖RabbitMq配置RabbitMq生产者&#xff0c;队列&#xff0c;交换通道配置&#xff0c;消费者示例 2. RabbitMq消息确认机制消息…