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()
添加回答
舉報