无需付费开会员,一个Python程序实现PDF转高清图片

今天需要将一个PDF导出为图片,但是一般的在线转换网站导出的图片清晰度都不高,分辨率只有1241*1754,这就导致输出的图片放大后字体是有点模糊的,所以就想到了使用Python中的PyPDF2库来处理PDF文件,以及Pillow库来处理图像

首先,确保你已安装所需的库。你可以使用以下命令来安装它们:

复制代码
pip install PyPDF2 Pillow

接下来,可以使用以下Python程序来执行PDF到图片的转换:

复制代码
import fitz
from PIL import Image

# 读取PDF文件
pdf_file = "your_pdf_file.pdf"

# 打开PDF文件
pdf_document = fitz.open(pdf_file)

# 自定义输出图片的清晰度(dpi)
dpi = 300

# 逐页将PDF转换为图像
for page_num in range(pdf_document.page_count):
    page = pdf_document.load_page(page_num)
    
    # 将PDF页面转换为PIL图像
    image = page.get_pixmap(matrix=fitz.Matrix(dpi/72, dpi/72))
    
    # 创建PIL图像对象
    pil_image = Image.frombytes("RGB", [image.width, image.height], image.samples)
    
    # 保存图像为文件
    image_file = f"output_page_{page_num+1}.png"
    pil_image.save(image_file, dpi=(dpi, dpi))

print(f"{pdf_document.page_count} 页PDF已转换为图像。")

将上述代码中的your_pdf_file.pdf替换为你要处理的PDF文件的路径。程序将为每一页生成一个单独的PNG图像文件,你可以自定义dpi变量来控制输出图像的清晰度(每英寸点数)。

相关推荐
web打印社区6 小时前
前端开发实现PDF打印需求:从基础方案到专业解决方案
前端·vue.js·react.js·electron·pdf
Kratzdisteln7 小时前
【MCM】(x= (N_A),y=(N_G),z=(p))RGB=T*
pdf
Kratzdisteln8 小时前
【1902】process_assignment_pdf()
大数据·人工智能·pdf
AAA_搬砖达人小郝11 小时前
Markdown 一键生成完美 Word(.docx) + PDF 的完整实战方案(JDK 8 环境亲测可用)
pdf·word
Kratzdisteln1 天前
【1902】process_handout_pdf()
服务器·windows·pdf
星月前端1 天前
springboot中使用LibreOffice实现word转pdf(还原程度很高,可以配置线程并发!)
spring boot·pdf·word
qq_171520351 天前
linux服务器springboot(docker)项目word转pdf中文乱码
linux·spring boot·docker·pdf·word
100分简历1 天前
无图标简洁大方的简历模板下载
人工智能·面试·职场和发展·pdf·编辑器
zyplayer-doc2 天前
文档增加访问密码设置,编辑器增加导航,登录日志增加IP归属地和浏览器信息展示,zyplayer-doc 2.5.9 发布啦!
人工智能·pdf·编辑器·飞书·开源软件·有道云笔记
appearappear2 天前
wkhtmltopdf把 html 原生转成成 pdf
前端·pdf·html