使用python将pdf转换为png(不带pdf2image)

2024-06-02 10:47:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我想将pdf(一页)转换为png文件。 我安装了pdf2image,并出现以下错误: windows中未安装popler

根据这一问题: Poppler in path for pdf2image,应安装poppler并修改路径

我无法执行这些操作(我在使用的系统中没有必要的权限)

我看了一下opencv和PIL,似乎没有一个能够实现这种转换: PIL(参见此处https://pillow.readthedocs.io/en/stable/handbook/image-file-formats.html?highlight=pdf#pdf)不提供读取PDF的可能性,只提供将图像保存为PDF的可能性。 openCV也是如此

有没有关于如何进行pdf到png转换的建议?我可以安装任何python库,但我不能触摸windows安装

谢谢


Tags: 文件pathinforpilpdfpngwindows
2条回答

以下是生成任意分辨率(dpi)PNG图像的片段:

import fitz
file_path = "my_file.pdf"
dpi = 300  # choose desired dpi here
zoom = dpi / 72  # zoom factor, standard: 72 dpi
magnify = fitz.Matrix(zoom, zoom)  # magnifies in x, resp. y direction
doc = fitz.open(fname)  # open document
for page in doc:
    pix = page.get_pixmap(matrix=magnify)  # render page to an image
    pix.save(f"page-{page.number}.png")

生成PNG文件名page-0.pngpage-1.png。。。 通过选择dpi < 72将创建缩略图页面图像

PyMuPDF支持pdf到图像光栅化,无需任何外部依赖项

执行基本pdf到png转换的示例代码:

import fitz  # PyMuPDF, imported as fitz for backward compatibility reasons
file_path = "my_file.pdf"
doc = fitz.open(fname)  # open document
for page in doc:
    pix = page.get_pixmap()  # render page to an image
    pix.save(f"page_{i}.png")

相关问题 更多 >