python - 使用 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)
我也尝试使用此处的代码并将 if pix.n < 5" 更新为 "if pix.n - pix.alpha < 4 但这在我的情况下没有输出任何图像。
解决方案
如本期 PyMuPDF 所述,您必须使用矩阵: Github 上的问题。
给出的例子是:
zoom = 2 # zoom factor
mat = fitz.Matrix(zoom, zoom)
pix = page.getPixmap(matrix = mat, <...>)
问题中还指出,如果您不使用可能解释您的分辨率较低的矩阵,则默认分辨率为 72 dpi。
推荐阅读
- android - 如何在android studio3.2中集成firebase 18.0.0
- python - 将原始时间转换为时区感知时间 (JST)
- javascript - 如何重用 Storybook 的组件故事格式 (CSF) 中的旋钮?
- node.js - 如何解决运行 NodeJs 程序时出现的错误
- amazon-web-services - 将数据从一个 AWS 账户中的 S3 存储桶复制到具有 acl 权限的另一个 AWS 账户中的 S3 存储桶
- python-3.x - 使用 pandas 读取 CSV 文件时出现解析器错误
- android - 外部库在发布 apk android 中不起作用
- laravel - 具有静态字段值的 Elasticsearch multi_query
- javascript - 使用 Google 跟踪代码管理器创建自定义 cookie 的最佳方法是什么?
- java - 更新 Map 的 Map 值