当前位置: 首页 > news >正文

用python将pdf转成图片转换成对应的word文件

*科管系统**报告只能上传word,但是有些盖章文件只有pdf版本,因此有这个需求,目前市面上没这软件,只能自己python写一个。

要将PDF中的页面以图片的形式存储到Word文档中,你需要完成以下几个步骤:

从PDF中提取每一页的图像。
将这些图像插入到Word文档中。
这里提供一个使用Python实现的示例流程,其中使用PyMuPDF(也称为fitz)来读取PDF并提取图像,使用python-docx来创建Word文档并插入图像。

安装所需库
首先确保安装了所需的库:

pip install pymupdf python-docx

示例代码

以下是一个简单的脚本,演示如何将PDF中的页面作为图像保存,并将这些图像插入到Word文档中:

import fitz  # PyMuPDF
from docx import Document
from docx.shared import Inchesdef pdf_to_images(pdf_path, output_folder):# 打开PDF文件with fitz.open(pdf_path) as doc:# 遍历每一页for page_num in range(len(doc)):page = doc[page_num]# 将PDF页面渲染为图像pix = page.get_pixmap(dpi=300)  # dpi可以根据需要调整image_path = f"{output_folder}/page_{page_num + 1}.png"pix.save(image_path)  # 保存图像到磁盘yield image_pathdef images_to_word(image_paths, word_path):# 创建一个新的Word文档doc = Document()# 遍历所有图像并将它们插入到Word文档中for image_path in image_paths:doc.add_picture(image_path, width=Inches(6))  # 调整宽度以适应页面doc.add_page_break()  # 添加一个新页面# 保存Word文档doc.save(word_path)# 主函数
def main(pdf_path, output_folder, word_path):# 从PDF中提取图像image_paths = list(pdf_to_images(pdf_path, output_folder))# 将图像插入到Word文档中images_to_word(image_paths, word_path)if __name__ == "__main__":# 定义输入输出路径pdf_path = 'F:\python\pdf2word\测试分册.pdf' # PDF文件路径output_folder = "output_images"  # 图像输出文件夹word_path = "output_ceshi.docx"  # Word文档输出路径# 创建输出文件夹import osif not os.path.exists(output_folder):os.makedirs(output_folder)# 调用主函数main(pdf_path, output_folder, word_path)

相关文章:

用python将pdf转成图片转换成对应的word文件

*科管系统**报告只能上传word,但是有些盖章文件只有pdf版本,因此有这个需求,目前市面上没这软件,只能自己python写一个。 要将PDF中的页面以图片的形式存储到Word文档中,你需要完成以下几个步骤: 从PDF中…...

list(c++)

list介绍 list是STL容器中的容器,且元素在容器中的位置是分散的并与大小无关。list的底层是双向链表,其优势是在任意位置插入和删除元素的时间复杂度为O(1),但无法通过“下标[ ]”直接访问元素,需要通过从头(尾&#…...

51单片机STC8G串口Uart配置

测试环境 单片机型号:STC8G1K08-38I-TSSOP20,其他型号请自行测试; IDE:KEIL C51; 寄存器配置及主要代码 STC8G系列单片机具有4个全双工异步串行通信接口;本文以串口1为例,串口1有4种工作方式…...

uni-app使用movable-area 实现数据的拖拽排序功能

文档地址 template部分 <movable-area :style"getAreaStyle"><movable-view class"table-row" v-for"v,i in move.list":key"v.id":y"v.y"change"handle_moving"direction"vertical"touchst…...

如何设置使PPT的画的图片导出变清晰

PPT画的流程图另存为图片 插入WORD不清晰的解决办法&#xff1a; 第一步&#xff1a;先调整PPT分辨率 根据此链接修改PPT默认的导出dpi 第二步&#xff1a;新建PPT准备 首先看想要保存的图的尺寸&#xff1a;点击图形-格式-长宽 新建一个ppt-设计-幻灯片大小-自定义大小 …...

和鲸科技 CEO 范向伟受邀揭牌启动南京大学 2024 级大学生人工智能素养大赛

2024 年 10 月 26 日&#xff0c;南京大学第十九届读书节在仙林校区图书馆举行开幕仪式。中国科学院院士、南京大学校长谈哲敏&#xff0c;校党委常委、副校长索文斌&#xff0c;原副校长、关工委主任闵铁军出席仪式&#xff0c;南京大学相关学院和职能部处负责人&#xff0c;以…...

NewStarCTF2024-Week4-Web-WP

目录 1、blindsql2 2、chocolate 3、隐藏的密码 4、ezcmsss 题目对勇师傅来说已经是开始上难度了所以这周没有AK 分享下自己做出来的题的解题思路 1、blindsql2 原本是在继续构造新的 payload&#xff0c;也测到了延时 打算去改上周的脚本&#xff0c;结果去跑的时候忘了将…...

Java学习Day56:暴打舔狗!(SpringBoot)

1.springboot简介 核心能力&#xff1a;Spring容器、日志、自动配置AutoCongfiguration、Starters web应用的能力&#xff1a;MVC、嵌入式Web服务器 数据访问(持久化)&#xff1a;关系型数据库、非关系型数据库 强大的整合其他技术的能力 只要是Java中牛逼的技术&#xff0c…...

RSA加密算法实现

Java实现RSA加密算法示例,包括密钥对的生成、加密和解密过程。首先需要导入Java的加密库,这些功能主要通过java.security和javax.crypto包提供。先生成了一个RSA密钥对,包括一个公钥和一个私钥。然后使用公钥加密了一个字符串,并使用私钥解密了加密后的字符串。加密和解密的…...

大数据新视界 -- 大数据大厂之优化大数据计算框架 Tez 的实践指南

&#x1f496;&#x1f496;&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎你们来到 青云交的博客&#xff01;能与你们在此邂逅&#xff0c;我满心欢喜&#xff0c;深感无比荣幸。在这个瞬息万变的时代&#xff0c;我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…...

java 中 List<T> 类型数据在 postgreSql 数据库中存储

一 属性添加注解 在类上面添加注解&#xff1a; TableName(autoResultMap true) 在字段上面添加注解&#xff1a; TableField(value "list", typeHandler UserHandler.class) private List<User> list new ArrayList<>(); 二 创建 UserHandler 类…...

公共命名空间,2024年10月的笔记

首先&#xff0c;我国选择C做为竞赛语言&#xff0c;许多人学C&#xff0c;学习的结果是&#xff1a;看到“公共命名空间”&#xff0c;就幻想出一个私有命名空间&#xff0c;其实&#xff0c;公共命名空间和C的命名空间无关&#xff01; 超简源代码 已知序列v{1,2,3,4,5}&…...

frida脚本,自动化寻址JNI方法

版权归作者所有&#xff0c;如有转发&#xff0c;请注明文章出处&#xff1a;https://cyrus-studio.github.io/blog/ 1. 通过 ArtMethod 结构体找到 jni 方法在内存中的地址&#xff0c;并把寻址方法通过 rpc.exports 暴露给 Python 脚本调用 jni_addr.js let entry_point_fr…...

‌MySQL中‌between and的基本用法‌

文章目录 一、between and语法二、使用示例2.1、between and数值查询2.2、between and时间范围查询2.3、not between and示例 BETWEEN AND操作符可以用于数值、日期等类型的字段&#xff0c;包括边界值。 一、between and语法 MySQL中的BETWEEN AND操作符用于在两个值之间选择…...

Ceph 存储系统全解

1. 引言 什么是 Ceph&#xff1f; Ceph 是一个开源的分布式存储系统&#xff0c;旨在提供高性能、可扩展、无单点故障的统一存储平台。它可以同时支持对象存储、块存储和文件系统存储&#xff0c;能够满足不同存储需求的多种应用场景。Ceph 通过其强大的 RADOS&#xff08;可…...

C# ftp帮助类 项目实战优化版

上位机开发中有时要与客户的文件服务器进行数据交互。如Mapping文件下载。结果文件上传等。我在项目中就常用到。现在把项目实战代码进行分享一下。 功能列表&#xff1a;连接服务器&#xff0c;下载文件&#xff0c;上传文件&#xff0c;删除服务器文件&#xff0c;获取当前目…...

栈和队列相关|有效的括号|用队列实现栈|用栈实现队列|设计循环队列(C)

20. 有效的括号 判断左右括号是否匹配&#xff0c;匹配返回true&#xff0c;不匹配返回false 通过栈来实现&#xff0c;类型和顺序&#xff0c;数量都要匹配 控制数量通过size 每个右括号都要找最近的左括号去判断类型匹配不匹配&#xff0c;顺序匹配不匹配 最后来判断数量匹配…...

云原生后端开发教程

云原生后端开发教程 引言 随着云计算的普及&#xff0c;云原生架构逐渐成为现代软件开发的主流。云原生不仅仅是将应用部署到云上&#xff0c;而是一种构建和运行应用的方式&#xff0c;充分利用云计算的弹性和灵活性。本文将深入探讨云原生后端开发的核心概念、工具和实践&a…...

TortoiseSVN小乌龟下载安装(Windows11)

目录 TortoiseSVN 1.14.7工具下载安装 TortoiseSVN 1.14.7 工具 系统&#xff1a;Windows 11 下载 官网&#xff1a;https://tortoisesvn.subversion.org.cn/downloads.html如图选 TortoiseSVN 1.14.7 - 64 位 下载完成 安装 打开 next&#xff0c;next Browse&#xf…...

Android adb命令获取设备id

Android adb命令获取设备id 方式很多&#xff0c;以下均可获得Android device id&#xff1a; adb shell settings get secure android_id adb shell settings get secure android_id adb devices -l adb shell content query --uri content://settings/secure --where "…...

医疗AI数据偏见:从耳镜图像分类看模型泛化陷阱与实战避坑指南

1. 项目概述与核心挑战作为一名在医疗AI领域摸爬滚打了十多年的从业者&#xff0c;我见过太多“实验室里天花乱坠&#xff0c;临床上寸步难行”的模型。最近&#xff0c;我和团队深入剖析了一项关于利用人工智能&#xff08;AI&#xff09;进行中耳炎耳镜图像分类的研究&#x…...

Vellium:基于Electron与RAG的本地AI创作工作台架构解析

1. 项目概述&#xff1a;Vellium&#xff0c;一个全能的本地AI创作与对话工作台如果你和我一样&#xff0c;既沉迷于与AI进行深度角色扮演对话&#xff0c;又需要它协助进行严肃的写作、整理知识库&#xff0c;并且对数据隐私和本地化运行有执念&#xff0c;那么你一定会对Vell…...

基于Arduino Pro Micro的薄膜键盘矩阵改造:DIY低成本模拟飞行外设

1. 项目概述&#xff1a;为Falcon BMS打造一款经济型多功能按键面板如果你是一名《Falcon BMS》的飞行模拟爱好者&#xff0c;同时又对硬件DIY抱有热情&#xff0c;那么你很可能和我一样&#xff0c;对市面上那些动辄数百甚至上千元的专业模拟飞行外设感到望而却步。尤其是像F-…...

深度强化学习在航天控制中的仿真到实物迁移挑战

1. 深度强化学习在航天控制领域的应用背景卫星近距离操作是航天任务中的一项关键技术挑战&#xff0c;涉及轨道交会、在轨服务、空间目标检测等多种场景。传统基于模型预测控制&#xff08;MPC&#xff09;的方法需要精确的环境动力学模型&#xff0c;而实际太空环境中存在诸多…...

MCP2MQTT 完全指南:用 AI 自然语言控制硬件设备的开源 MCP 工具

前言 2025年4月&#xff0c;MCP2Everything 团队正式开源MCP2MQTT&#xff0c;这是全球首个将 MCP&#xff08;模型上下文协议&#xff09;与 MQTT 物联网协议无缝桥接的开源工具&#xff0c;彻底打通了 AI 大模型与物理硬件之间的"最后一公里"。无需编写任何胶水代码…...

松下绿色科技战略:技术复用与协同效应如何驱动企业转型

1. 松下困局&#xff1a;消费电子巨头的十字路口2013年初的拉斯维加斯&#xff0c;消费电子展&#xff08;CES&#xff09;的喧嚣与霓虹之下&#xff0c;松下的时任社长津贺一宏站在聚光灯前&#xff0c;面对的却是一个冰冷而残酷的现实&#xff1a;公司预计将连续第二年录得高…...

模块二-数据选择与索引——08. 条件筛选

08. 条件筛选 1. 概述 条件筛选是数据分析中最常用的操作之一。通过布尔表达式&#xff0c;可以快速筛选出满足特定条件的数据行&#xff0c;实现数据过滤、异常检测、子集提取等功能。 import pandas as pd import numpy as np# 创建示例数据 np.random.seed(42) df pd.DataF…...

抖音图片怎么去水印?2026实测免费去水印方法全盘点,这几款工具真好用

抖音图片怎么去水印&#xff1f;2026实测免费去水印方法全盘点&#xff0c;这几款工具真好用 刷抖音的时候&#xff0c;你有没有遇到过这种情况&#xff1a;看到一张超好看的图片&#xff0c;点保存&#xff0c;结果发现角落里多了一行「用户名」或者一个抖音 Logo&#xff0c;…...

基于Godot与Roslyn构建现代化.NET IDE:SharpIDE架构解析与实践

1. 项目概述&#xff1a;一个为.NET开发者打造的现代IDE如果你是一个.NET开发者&#xff0c;尤其是长期使用C#进行开发&#xff0c;那么你肯定对Visual Studio和Visual Studio Code这两款工具又爱又恨。Visual Studio功能强大但略显笨重&#xff0c;VS Code轻快但针对.NET的原生…...

观察taotoken在ubuntu高峰期调用时的稳定性与自动路由效果

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 观察 Taotoken 在 Ubuntu 高峰期调用时的稳定性与自动路由效果 1. 背景与测试环境 在日常的开发与调试工作中&#xff0c;我们经常…...