使用 Python 以高分辨率从 PDF 中提取图像

Extract images from PDF in high resolution with Python

我已经成功地使用下面的代码从几个 PDF 页面中提取图像,但是分辨率很低。有办法调整吗?

import fitz    
pdffile = "C:\Users\me\Desktop\myfile.pdf"
doc = fitz.open(pdffile)
for page_index in range(doc.pageCount):
    page = doc.loadPage(page_index)  
    pix = page.getPixmap()
    output = "image_page_" + str(page_index) + ".jpg"
    pix.writePNG(output)

我也尝试过使用代码 here 并将 if pix.n < 5" 更新为 "if pix.n - pix.alpha < 4 但这没有输出在我的案例中有任何图像。

如本期 PyMuPDF 所述,您必须使用矩阵: issue on Github.

给出的例子是:

zoom = 2    # zoom factor
mat = fitz.Matrix(zoom, zoom)
pix = page.getPixmap(matrix = mat, <...>)

问题中还指出,如果您不使用矩阵,则默认分辨率为 72 dpi,这可能解释了您获得低分辨率的原因。