python实现PDF转PNG
说明
为了方便将pdf格式发票转为图片,找到以下方法,转换后的效果非常不错,特此记录在自己的笔记中,根据自己的需要,代码稍微有所优化修改
三方库安装
pip install fitz
pip install PyMuPDF
代码示例
import os
import fitz
def pdf_to_image(pdf_path, img_path=None, zoom_x=5, zoom_y=5, theta=0):
"""
PDF转PNG
:param pdf_path: pdf文件的路径
:param img_path: 图像要保存的文件夹
:param zoom_x: x方向的缩放系数
:param zoom_y: y方向的缩放系数
:param theta: 旋转角度
:return: dst_path
"""
if not img_path:
img_path = os.path.abspath(os.path.join(pdf_path, '../'))
with fitz.open(pdf_path) as pdf:
name = os.path.basename(pdf.name)
file_name = name.split('.')[0]
page = pdf[0]
# 设置缩放和旋转
trans = fitz.Matrix(zoom_x, zoom_y).preRotate(theta)
pm = page.getPixmap(matrix=trans, alpha=False)
dst_path = f'{img_path}/{file_name}.png'
# 保存
pm.writePNG(dst_path)
return dst_path
python实现PDF转PNG的更多相关文章
- Python绘制PDF文件~超简单的小程序
Python绘制PDF文件 项目简介 这次项目很简单,本次项目课,代码不超过40行,主要是使用 urllib和reportlab模块,来生成一个pdf文件. reportlab官方文档 http:// ...
- python制作pdf电子书
python制作pdf电子书 准备 制作电子书使用的是python的pdfkit这个库,pdfkit是 wkhtmltopdf 的Python封装包,因此在安装这个之前要安装wkhtmltopdf 安 ...
- Python处理PDF和Word文档常用的方法
Python处理PDF和Word文档的模块是PyPDF2,使用之前需要先导入. 打开一个PDF文档的操作顺序是:用open()函数打开文件并用一个变量来接收,然后把变量给传递给PdfFileReade ...
- 【PyMuPDF和pdf2image】Python将PDF转成图片
前言: 在最近的测试中遇到一个与PDF相关的测试需求,其中有一个过程是将PDF转换成图片,然后对图片进行测试. 粗略的试了好几种方式,其中语言尝试了Python和Java,总体而言所找到的Python ...
- 趣学Python编程PDF高清完整版免费下载|百度网盘
百度网盘:趣学Python编程PDF高清完整版免费下载 提取码:ts47 内容简介 python是一款解释型.面向对象.动态数据类型的高级程序设计语言.python语法简捷而清晰,具有丰富和强大的类库 ...
- 疯狂Python讲义PDF高清完整版免费下载|百度网盘
百度网盘:疯狂Python讲义PDF高清完整版免费下载 提取码:uzba 内容简介 <疯狂Python讲义>既是一本适合初学者入门Python的图书(一个8岁的小朋友在未出版前已学习了本书 ...
- python程序设计PDF高清完整版免费下载|百度云盘
百度云盘:python程序设计PDF高清完整版免费下载 提取码:bvsz Python 程序设计基础难易程度适中.除Python应用开发基础知识之外,还适当介绍了Python标准库以及内置对象的工作原 ...
- 使用Python从PDF文件中提取数据
前言 数据是数据科学中任何分析的关键,大多数分析中最常用的数据集类型是存储在逗号分隔值(csv)表中的干净数据.然而,由于可移植文档格式(pdf)文件是最常用的文件格式之一,因此每个数据科学家都应该了 ...
- python实用小技能分享,教你如何使用 Python 将 pdf 文档进行 加密 解密
上次说了怎么将word转换为pdf格式 及 实现批量将word转换为pdf格式(点击这里),这次我又get到一个新技能–使用 Python 将 pdf 文档进行 加密 解密,哈哈哈 希望帮到更多人! ...
- 用Python去除PDF水印
今天介绍下用 Python 去除 PDF (图片)的水印.思路很简单,代码也很简洁. 首先来考虑 Python 如何去除图片的水印,然后再将思路复用到 PDF 上面. 这张图片是前几天整理<数据 ...
随机推荐
- allure-动态参数,报告优化方法。
1.allure.title方法 #前置需要在源文件:\venv\Lib\site-packages\allure_pytest\listener.py#在该文件修改为这样:test_result.p ...
- 解决在宝塔面板IIS服务器上部署svg/woff/woff2字体的问题
部署网站的字体和服务器IIS有什么关系?如果你的职责只限于一名前端开发,那么你可能很"幸福"地与这些问题擦肩而过,浑然不觉.可是本人一直都是孤军奋战,连开发环境都要自己搭建,这次又 ...
- RN 报错信息总结
我使用的是 VScode 编辑器,有时候,卸载包,安装包就会编译失败,解决方式 gradlew clean 编译错误 Execution failed for task ':app:compileDe ...
- Spring Boot 开启后缀匹配模式
项目原有 Java 配置为继承 WebMvcConfigurationSupport, 而WebMvcConfigurationSupport#requestMappingHandlerMapping ...
- Python学习的第三次的总结
元组 #组内元素可读,不能被改变 tup1=() #空元组 tup2=(1,) #一个元素后添加逗号 嵌套列表 a = [[1,2,3],'lyyyyy',4,(2,3,4)] b = a[0] ...
- 记:java.lang.IllegalArgumentException: DAY_OF_MONTH 报错
查询的时候报错: 月份中的天数错误 原因: date日期列中有数据错误 修改数据库中错误的数据就可以了.
- springboot gradle 集成流程引擎activiti
buildscript { repositories { maven { url 'https://maven.aliyun.com/repository/gradle-plugin' } } dep ...
- UI动画练习 - CABasicAnimation:视图绕X/Y轴旋转(3D效果)
视图 3D 旋转 1 - 代码示例:以绕 X 轴旋转为例 1 #import "ViewController.h" 2 @interface ViewController () 3 ...
- jmeter分布式压测配置
首选 压力机A,压力机B,压力机C, 压力机A作为控制台 压力机B,压力机C作为分布式的测试机 压力机Aip:172.16.23.69, 压力机Bip:192.168.184.128 压力机 ...
- .Net Core WebApi AutoFac用法
1. 安装Autofac.Extensions.DependencyInjection管理包 UI层安装 2.在Program里面配置服务提供工厂 3.在Startup里面添加一个配置容器的方法 使用 ...