PDF文件转换为图片

在这里插入图片描述

现在确实有很多线上的工具可以把pdf文件转为图片,比如smallpdf等等,都很好用。但我们有时会碰到一些敏感数据,或者要批量去转,那么需要自己写脚本来实现,以下脚本可以提供这个功能~

def pdf2img(pdf_dir, result_path):if not os.path.exists(result_path):os.makedirs(result_path, exist_ok=True)pdf_path_list = glob.glob(os.path.join(pdf_dir, "*.pdf"))for pdf_path in tqdm(pdf_path_list):pdf_name = os.path.split(pdf_path)[1].split(".")[0]with fitz.open(pdf_path) as pdf:pdf_page_count = pdf.pageCountfor pg in range(0, pdf_page_count):page = pdf[pg]mat = fitz.Matrix(2, 2)pm = page.getPixmap(matrix=mat, alpha=False)# if width or height > 2000 pixels, don't enlarge the imageif pm.width > 2000 or pm.height > 2000:pm = page.getPixmap(matrix=fitz.Matrix(1, 1), alpha=False)img = Image.frombytes("RGB", [pm.width, pm.height], pm.samples)# img = cv2.cvtColor(np.array(img), cv2.COLOR_RGB2BGR)img = Image.fromarray(np.array(img))img.save(os.path.join(result_path, f"{pdf_name}_{pg}.jpg"))

说明
pdf_dir:pdf文件的路径
result_path:保存的路径

以上即可完成pdf文件转换为图片, Enjoy~

∼ O n e p e r s o n g o f a s t e r , a g r o u p o f p e o p l e c a n g o f u r t h e r ∼ \sim_{One\ person\ go\ faster,\ a\ group\ of\ people\ can\ go\ further}\sim One person go faster, a group of people can go further

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

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

相关文章

IDEA环境下项目的模块右下角蓝色小方块缺失的解决方法

一、问题描述 该问题的具体表现就如上图一样,模块——”spring-ioc-xml-01“的应该有一个蓝色的方块。现在蓝色方块缺失了之后,我们需要让maven工程重新识别出这个模块。 二、问题分析 出现这种问题的原因:是当前的maven工程没有能够成功的识…

香港服务器选择指南:注意这些方面

香港服务器选择指南:注意这些方面 在香港建立服务器可以为您的业务提供无缝的连接,快速的下载速度和较低的延迟。但是,在选择香港服务器时,有许多重要的因素需要考虑,包括数据中心的位置,网络连接速度&…

1409: [宁波25届]教室外的风景

题目描述 小猪上初中了,初中真好啊,有很多自修课哦。很多同学喜欢在自修课时到教室外面去,说是到老师那问问题。 学校规定,自修课到教室外去的每个同学都必须做好登记,每次进出教室的登记是以一对整数a和b来描述的&am…

phtread_cancel函数用于取消线程,但不是实时的

如上图所示,线程函数中没有取消点(一般是一些系统调用----man 7 pthreads查看,自定义函数是无效的),则使用pthread_cancle函数不生效。 解决方法:可以添加pthread_testcancle(); 通过pthread_join回收的…

为什么要学习PMP知识,PMP培训哪家好?

IT行业项目管理一枚,曾在做技术的时候对自己的职业发展越来越迷茫,不想干到35岁就参与到失业潮中,一直在想着办法提升自己的能力和竞争力,直到在领导嘴里了解到了PMP认证。也就是它对我的职业发展带来了不少的影响,这其…

《信用中国》20240224期1|王业富:技术突破引领健康中国

随着社会经济的快速发展,重视健康已成为当今人们的共识,国家对医疗行业的发展越来越重视,我国医疗行业将迎来持续高速的发展。同时,随着越来越多的新技术运用在生命科学领域,将提高我国医疗行业的发展水平,…

Python采集二手车数据信息实现数据可视化展示

嗨喽~大家好呀,这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取 环境使用: Python 3.10 Pycharm 模块使用: requests >>> pip install requests csv 数据可视化: pandas >>> pip install pandas pyech…

自学Python第十五天-常用的HTML解析工具:bs4、xpath、re

自学Python第十五天-常用的HTML解析工具:bs4、xpath、re BS4安装和引入开始使用find_all() 方法获取标签find() 方法获取标签select() 方法获取标签,css 选择器从标签中获取数据 XPathxpath 基础xpath 语法规则lxml 模块xpath() 方法 REmatch() 方法sear…

创建shel脚本 -- 自动备份用户文件

文章目录 1 按天自动备份(归档)文件1.1 准备工作1.2 编写配置文件和归档脚本1.2.1 编写配置文件1.2.2 编写归档脚本 1.3 运行脚本1.4 运行分析1.5 添加到cron表中1.5.1 编辑cron表1.5.2 测试脚本是否可用 2 按小时自动备份(归档)文…

git配置SSH

gitLab在Cenos7中安装,在Cenos7系统中执行以下操作 1.生成SSH ssh-keygen -t rsa -C xxxxxx.com 然后一路回车,直到出现以下界面为止(-C 参数是邮箱地址) 2.复制SSH 打开/root/.ssh/id_rsa.pub文件,复制其中的内容 在Linux系统中,/root/.…

初谈软件工程(一)

我就读于兰州交通大学的软件工程专业。虽然在全国众多的985、211高校中,兰州交通大学可能并不显眼,似乎未能跻身这些所谓的“顶尖”行列就意味着不被认可。然而,在甘肃省的教育领域中,它无疑是一座璀璨的明珠,名列前茅…

使用R语言进行主成分和因子分析

一、数据描述 数据来源2013年各地区水泥制造业规模以上企业的各主要经济指标,原始数据来源于2014年(《中国水泥统计年鉴》),试对用主成分和因子进行经济效益评价。 地区,企业个数(亿元),流动资产合计&…

半监督节点分类-graph learning

半监督节点分类相当于在一个图当中,用一部分节点的类别上已知的,有另外一部分节点的类别是未知的,目标是使用有标签的节点来推断没有标签的节点 注意 半监督节点分类属于直推式学习,直推式学习相当于出现新节点后,需要…

游戏服务器业务线程模型探究

游戏服务器业务线程模型是指在游戏服务器中,如何组织和管理线程来处理游戏业务逻辑,尽可能减少不必要的锁竞争。以下介绍几种常见的游戏服务器线程模型。 使用线程组为每个玩家分配线程 这里使用线程组,而不是线程池,主要是为了强调线程池在处理任务自主权比较弱。我们通…

pytest-配置项目不同环境URL

pytest自动化中,在不同环境进行测试,可以将项目中的url单独抽取出来,通过pytest.ini配置文件实现(类似postman中的“Environments”) 使用步骤: 1)安装pytest-base-url插件 pytest-base-url …

阿里云国际云解析DNS如何开启/关闭流量分析?

流量分析服务会涉及产生日志费用,所以开通内网DNS解析服务后,默认不会主动开启流量分析,需要您手动开启流量分析。对于未开启流量分析的用户,进入界面会提示您展示的都是模拟数据,您可以点击开启流量分析服务&#xff…

C语言中的动态数组:原理、实现与应用

引言 在C语言的世界里,静态数组虽然方便易用,但其固定的大小限制了其适应灵活变化的数据场景的能力。相比之下,动态数组作为一种能够在运行时动态调整容量的数组结构,极大地提升了程序处理可变规模数据集的效率和便利性。本文将深…

【PHP进阶】Redis管道技术的实际运用

大家好,我是程序员若风,又到了技术分享时刻。 今天我们来讲讲Redis管道技术 Redis管道技术介绍 Redis流水线技术是一种通过同时发出多个命令来提高性能的技术,而无需等待对每个单独命令的响应。大多数Redis客户端都支持流水线操作。 – 官网…

【pytorch】常用代码

文章目录 条件与概率torch.tensor()torch.rand()torch.randn()torch.randint()torch.multinominal() 逻辑运算torch.argmax()torch.max()torch.sum()torch.tanh()torch.pow() 功能性操作 torch.nn.functionalF.normalize()F.elu()F.relu()F.softmax() 张量计算torch.zeros()tor…

基于JavaWeb实现的校园新闻发布系统

一、系统架构 前端:jsp | bootstrap | js | css 后端:springboot | jdbc 环境:jdk1.6 | mysql | maven 二、 代码及数据库 三、功能介绍 01. web端-首页 02. web端-新闻列表 03. web端-新闻明细 04. 管理端-登录页…