使用Python将PDF转为图片

将PDF转为图片能方便我们将文档内容上传至社交媒体平台进行分享。此外,转换为图片后,还可以对图像进行进一步的裁剪、调整大小或添加标记等操作。 用Python将PDF文件转JPG/ PNG图片可能是大家在一些项目中会遇到的需求,下面将详细介绍如何使用第三方库Spire.PDF for Python 来实现这一功能。

目录

安装Python PDF库

使用Python将指定PDF页面转为图片

使用Python将PDF文件转为图片


安装Python PDF库

本文中用到的第三方 Python 库支持多种 PDF 文档处理功能,可在 Python 程序中创建、读取、编辑、转换和保存 PDF 文档。要安装此产品,使用以下 pip 命令。

pip install Spire.PDF

详细安装教程点击: 如何在 VS Code 中安装 Spire.PDF for Python

使用Python将指定PDF页面转为图片

加载PDF文件后,使用 PdfDocument.SaveAsImage(int pageIndex) 方法就能将指定的 PDF 页面转换为图片。然后再通过 Stream.Save() 方法可以将图片保存为你需要的格式如 JPG、PNG 或BMP 等。参考代码:

from spire.pdf.common import *
from spire.pdf import *# 创建PdfDocument对象
pdf = PdfDocument()# 加载PDF文档
pdf.LoadFromFile("示例.pdf")# 将第一页转换为图片
with pdf.SaveAsImage(0) as imageS:# 将图片保存为jpg或png格式imageS.Save("PDF转图片.png")
pdf.Close()

转换结果:

使用Python将PDF文件转为图片

要将整个PDF文档都转为图片,可以循环遍历文档中的所有页面,然后再将每一页都保存为一个单独的图片。参考代码:

from spire.pdf.common import *
from spire.pdf import *# 创建PdfDocument对象
pdf = PdfDocument()# 加载PDF文档
pdf.LoadFromFile("示例.pdf")# 遍历文档中的页面
for i in range(pdf.Pages.Count):# 将每一页都保存为图片fileName = "图片\图-{0:d}.png".format(i)with pdf.SaveAsImage(i) as imageS:imageS.Save(fileName)
pdf.Close()

转换结果:

通过使用Spire.PDF for Python,仅需几行代码就能轻松实现PDF转图片。要了解其提供的更多功能,点击:

Spire.PDF for Python 中文教程

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

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

相关文章

ASEMI高压二极管CL08-RG210参数,CL08-RG210封装

编辑-Z CL08-RG210参数描述: 型号:CL08-RG210 反向重复峰值电压VRRM:8000V 反向工作峰值电压VRWM:8000V 正向平均电流IF:0.5A 正向(不重复)浪涌电流IFSM:20A 反向恢复时间trr:80ns 正向…

如何在Postman中使用静态HTTP

首先,打开 Postman 软件。在 Postman 的菜单栏中,点击 “Preferences”(偏好设置)。 亲身经验:我自己尝试了这个方法,发现它非常适用于需要使用HTTP的场景。 数据和引证:根据 Postman 官方文档…

Java NIO 高并发开发

Java NIO 高并发开发 前言 Java NIO(New I/O)相比于传统的Java I/O(BIO)在高并发开发方面具有以下优势: 非阻塞模式:Java NIO使用非阻塞的I/O操作,允许一个线程管理多个通道(Channe…

systrace/perfetto如何看surfaceflinger的vsync信号方法-android framework实战车载手机系统开发

背景: hi,粉丝朋友们: 大家好!近期分享了surfaceflinger相关的一些blog,有同学就对相关的一些内容产生了一些疑问。 比如:vsync查看问题,即怎么才可以说是vsync到来了。 比如perfetto中surfac…

打破信息孤岛,如何从API、数据中台突围

“烟囱”林立,零售企业“数据孤岛”现象突出 所谓数据孤岛,是指零售企业不同组织机构之间、不同部门之间或不同软件之间的数据无法连接互动,数据信息不能共享,设计、管理、生产的数据不能相互交流,数据出现脱节的现象…

vue项目中内嵌iframe,打包上线时候iframe地址如何写?

vue项目中内嵌iframe,打包上线时候iframe地址如何写 一、项目结构1.内嵌的iframe文件位置2.打包后的iframe的位置 二、代码 前提描述,项目是用webpack打包的,内嵌一个完整的js小组件 一、项目结构 1.内嵌的iframe文件位置 2.打包后的iframe的…

归结原理、归结演绎推理

主要内容 归结演绎推理范式子句与子句集将谓词公式转化为子句集命题逻辑鲁宾逊归结原理 归结演绎推理 定理证明的实质是对前提P和结论Q证明P →Q的永真性应用反证法,欲证明P →Q,只要证明 P∧~Q 等价于 F鲁宾逊归结原理对机械化推理有重大突破鲁宾逊归…

吴恩达《机器学习》1-3:监督学习

一、监督学习 例如房屋价格的数据集。在监督学习中,我们将已知的房价作为"正确答案",并将这些价格与房屋的特征数据一起提供给学习算法。学习算法使用这些已知答案的数据来学习模式和关系,以便在未知情况下预测其他房屋的价格。这就…

牛客网刷题-(7)

🌈write in front🌈 🧸大家好,我是Aileen🧸.希望你看完之后,能对你有所帮助,不足请指正!共同学习交流. 🆔本文由Aileen_0v0🧸 原创 CSDN首发🐒 如…

蓝桥杯每日一题2023.10.26

测试次数 - 蓝桥云课 (lanqiao.cn) 题目描述 题目分析 对于本题我们可以使用动态规划来分析 dp[i][j]代表剩余i层,j台手机的情况下对应的测试数量 分类进行讨论一下: 1.当只剩下一台手机的时候,只能从第一层一层一层往上尝试&#xff0c…

AT32固件库外设使用,ArduinoAPI接口移植,模块化

目录 一、ArduinoAPI移植一、通用定时器使用1.计时1.2.ETR外部时钟计数4.ArduinoAPI - timer 三、ADC1.ADC初始化(非DMA)2.ADC_DMA 规则通道扫描 六、USB HID IAP1.准备好Bootloader和app2.配置好时钟,一定要打开USB3.将生成的时钟配置复制到…

Unity编辑器扩展之自定义Inspector面板

首先找到的是这个[CustomEditor(typeof(Class), true)],这个东西能够自己绘制在Inspector视图的显示规则,但是!如果这个类被另一个类持有,他就没作用了, 效果图: 1.对CustomClass类编辑自定义面板 2. 对M…