3

我已经设法使用以下代码从几个 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)

我也尝试使用此处的代码并将 if pix.n < 5" 更新为 "if pix.n - pix.alpha < 4 但这在我的情况下没有输出任何图像。

4

1 回答 1

6

如本期 PyMuPDF 所述,您必须使用矩阵: Github 上的问题

给出的例子是:

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

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

于 2020-09-10T06:13:57.673 回答