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}")
相关推荐
一水鉴天3 小时前
映射、哈希表与哈斯图:计算机科学的三种基线 20261003(元宝)
开发语言·人工智能
Frank_refuel3 小时前
C++11之一场名为“搬家”的 C++ 之旅
开发语言·c++
海绵宝宝转agent4 小时前
learn-claude-code第1-5章开源学习笔记分享
人工智能·笔记·python·学习
小奇不哭4 小时前
ROS2 单节点,RGB-D 深度相机局部路径提取 + B 样条平滑路径 + YOLOv8 障碍物检测 + 深度测距,用于移动机器人视觉局部循迹。
python·yolov8·ros2·cv2·路径探索循迹
小小龙学IT4 小时前
Python scikit-learn 机器学习库深度解析
python·机器学习·scikit-learn
Wang's Blog4 小时前
Java 项目实战: 外卖平台优化-Nginx配置文件结构与块层级
java·开发语言·nginx
2601_949950634 小时前
练题簿在线免费刷题 从资料整理到考前自测
面试·职场和发展·pdf·word·刷题
2601_962071575 小时前
类变量和全局变量的查找路径有什么区别?
开发语言·python
卷无止境5 小时前
独立开发者的"富矿地带":哪些垂直领域值得你押注一辈子?
后端·python
\光辉岁月/6 小时前
5.java-数组
java·开发语言