Ome*_*ega 11 python pdf pymupdf
我已成功使用以下代码从多个 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)
Run Code Online (Sandbox Code Playgroud)
我还尝试使用此处的代码并将 if pix.n < 5" 更新为 "if pix.n - pix.alpha < 4 但这在我的情况下没有输出任何图像。
Dav*_*che 12
正如本期 PyMuPDF 中所述,您必须使用矩阵: Github 上的问题。
给出的例子是:
zoom = 2 # zoom factor
mat = fitz.Matrix(zoom, zoom)
pix = page.getPixmap(matrix = mat, <...>)
Run Code Online (Sandbox Code Playgroud)
该问题还指出,如果您不使用矩阵,则默认分辨率为 72 dpi,这可能会导致分辨率较低。
比制作矩阵更简单,文档显示getPixmap()您可以使用该dpi参数来获得更高分辨率:
pix = page.getPixmap(dpi=200)
Run Code Online (Sandbox Code Playgroud)
这是从 v1.19.2 开始的新增内容。
| 归档时间: |
|
| 查看次数: |
9376 次 |
| 最近记录: |