3 回答
TA贡献1815条经验 获得超6个赞
给出的例子是:
zoom = 2 # zoom factor mat = fitz.Matrix(zoom, zoom) pix = page.getPixmap(matrix = mat, <...>)
该问题还指出,如果您不使用矩阵,则默认分辨率为 72 dpi,这可能解释了您的分辨率较低的原因。
TA贡献1802条经验 获得超10个赞
比制作矩阵更简单,文档显示getPixmap()
您可以使用该dpi
参数来获得更高分辨率:
pix = page.getPixmap(dpi=200)
这是从 v1.19.2 开始的新增内容。
TA贡献1810条经验 获得超5个赞
为了获得最佳质量,请使用“matrix”和“dpi”。该代码解决了结果分辨率更高的问题。我实现了一个解决方案,以最佳质量转换文件夹中的所有文件:
# pip install fitz
# pip install pip install PyMuPDF==1.19.0
import fitz
import glob
for filename in glob.glob("*.pdf"):
pdffile = filename
doc = fitz.open(pdffile)
for page_index in range(doc.pageCount):
try:
page = doc.load_page(page_index)
zoom = 2
mat = fitz.Matrix(zoom, zoom)
pix = page.get_pixmap(matrix = mat,dpi=1200)
output = '_' + filename.replace(".pdf","") + "-" + str(page_index) + ".png"
pix.save(output)
except Exception as e:
print(str(filename) + ' > ' + str(e))
doc.close()
添加回答
举报