python pdf文件转图片

在Python中,有很多的第三方库可以用于PDF文件的转换,比如PyPDF2和pdf2image。

其中PyPDF2可以从PDF文件中提取每一页并将其保存为图像文件,需要安装Pillow库。

pdf2image则直接将PDF文件转换为PNG或JPEG图像文件,可以使用ImageMagick或Ghostscript作为后台渲染引擎。

以下是使用这两个库的示例代码:

  1. 使用PyPDF2库将PDF文件中的第一页转换为图像文件
python 复制代码
import io
import os
from PIL import Image
import PyPDF2

pdf_file = "example.pdf"
page_number = 0
output_file = "output.jpg"

# 打开PDF文件并读取第一页
with open(pdf_file, "rb") as f:
    pdf = PyPDF2.PdfFileReader(f)
    page = pdf.getPage(page_number)

    # 获取页面大小和旋转角度
    bbox = page.mediaBox
    rotate = page.get('/Rotate', 0)

    # 转换为Pillow图像对象
    img = page.toImage()
    img = img.convert("RGB")
    img = img.rotate(-rotate)

    # 保存为JPEG图像文件
    img.save(output_file, "JPEG")
    
    print(f"{pdf_file}的第{page_number+1}页已保存为{output_file}")
  1. 使用pdf2image库将PDF文件转换为PNG图像文件
python 复制代码
import os
from pdf2image import convert_from_path

pdf_file = "example.pdf"
output_file = "output.png"

# 将PDF文件转换为PNG图像列表
images = convert_from_path(pdf_file)

# 获取第一页并保存为图像文件
image = images[0]
image.save(output_file, "PNG")

print(f"{pdf_file}的第一页已保存为{output_file}")
相关推荐
CHEN5_023 小时前
【Java虚拟机】垃圾回收机制
java·开发语言·jvm
HalvmånEver3 小时前
在 C++ :x86(32 位)和 x64(64 位)的不同
开发语言·c++·学习
amy_jork5 小时前
npm删除包
开发语言·javascript·ecmascript
浪成电火花6 小时前
(deepseek!)deepspeed中C++关联部分
开发语言·c++
茉莉玫瑰花茶6 小时前
Qt 常用控件 - 9
开发语言·qt
独行soc6 小时前
2025年渗透测试面试题总结-18(题目+回答)
android·python·科技·面试·职场和发展·渗透测试
S01d13r7 小时前
gunicorn + flask 处理高并发请求
python·flask·gunicorn
艾伦~耶格尔7 小时前
【数据结构进阶】
java·开发语言·数据结构·学习·面试
杜子不疼.7 小时前
《Python列表和元组:从入门到花式操作指南》
开发语言·python
pan0c237 小时前
数据处理与统计分析 —— numpy入门
python·numpy