当前位置: 首页 > 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)

http://www.lryc.cn/news/472896.html

相关文章:

  • list(c++)
  • 51单片机STC8G串口Uart配置
  • uni-app使用movable-area 实现数据的拖拽排序功能
  • 如何设置使PPT的画的图片导出变清晰
  • 和鲸科技 CEO 范向伟受邀揭牌启动南京大学 2024 级大学生人工智能素养大赛
  • NewStarCTF2024-Week4-Web-WP
  • Java学习Day56:暴打舔狗!(SpringBoot)
  • RSA加密算法实现
  • 大数据新视界 -- 大数据大厂之优化大数据计算框架 Tez 的实践指南
  • java 中 List<T> 类型数据在 postgreSql 数据库中存储
  • 公共命名空间,2024年10月的笔记
  • frida脚本,自动化寻址JNI方法
  • ‌MySQL中‌between and的基本用法‌
  • Ceph 存储系统全解
  • C# ftp帮助类 项目实战优化版
  • 栈和队列相关|有效的括号|用队列实现栈|用栈实现队列|设计循环队列(C)
  • 云原生后端开发教程
  • TortoiseSVN小乌龟下载安装(Windows11)
  • Android adb命令获取设备id
  • Skywalking教程一
  • React中管理state的方式
  • 服务器数据恢复—RAID5阵列中部分成员盘重组RAID5阵列后如何恢复原raid5阵列数据?
  • 【Linux】文件切割排序 cut sort
  • 零售EDI:HornBach EDI 项目案例
  • SpringBoot 集成RabbitMQ 实现钉钉日报定时发送功能
  • 基于java ssm springboot女士电商平台系统源码+文档设计
  • Matlab数字信号处理——基于改进小波变换的图像去噪方法(7种去噪算法)
  • leetcode hot100【LeetCode 70. 爬楼梯】java实现
  • Java异常2
  • 2024熵密杯初始题2