繁体   English   中英

在python中:使用python将pdf转换为png(没有pdf2image)

[英]in python: Converting pdf to png with python (without pdf2image)

我想将 pdf(一页)转换为 png 文件。 我安装了 pdf2image 并收到此错误:windows 中未安装 ppopler。

根据这个问题: Poppler in path for pdf2image

应该安装 Poppler 并修改 PATH。

我不能做任何这些(我在我正在使用的系统中没有权限)。

我查看了 opencv 和 PIL,似乎没有一个提供进行这种转换的可能性。

PIL(参见此处https://pillow.readthedocs.io/en/stable/handbook/image-file-formats.html?highlight=pdf )不提供阅读 pdf 的可能性,只能将图像保存为 pdf。 openCV 也是如此。

有什么建议如何将 pdf 转换为 png 吗? 我可以安装任何 python 库,但我无法触摸 Windows 安装。

谢谢

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

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

import fitz  # PyMuPDF, imported as fitz for backward compatibility reasons
file_path = "my_file.png"
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")

这是生成任意分辨率 (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将创建缩略图页面图像。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM