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

问题描述

我已使用以下代码设法从多个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,并将pix.n

解决方法

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

给出的示例是:

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

该问题还表明,如果您不使用矩阵,则默认分辨率为72 dpi,这很可能说明分辨率越来越低。