问题描述
有一个用 pdf2image 构建的 PDF 到 PNG 转换器。将 PDF 转换为 PNG 图像非常慢。例如,即使在 4 核机器(标准 B4ms Azure VM)上将 thread_count
设置为 4,一个 7 页的 PDF 文档也需要 10 秒才能拆分为 PNG 图像。
尝试了 PyMuPdf(如 here 所述)并且在默认缩放的情况下运行速度更快(仅 800 毫秒):
mat = fitz.Matrix(1,1)
然后我意识到默认缩放输出的 PNG 与 pdf2image 相比要小得多,因此增加了缩放以匹配 pdf2image 输出的 PNG。我必须使用 2.7777 的比例因子来使像素大小与 pdf2image 匹配,所以
mat = fitz.Matrix(2.7777,2.7777)
这需要 3 秒才能运行,但与 pdf2image 相比仍然快得多。
在我看来,PyMuPdf 输出的图像与 pdf2image 输出的图像完全相同,但实际上它们不同。我们使用这些 PNG 的下游处理(对象检测模型)也会产生不同的结果。
看看 pdf2image doc,我们刚刚使用了默认的 dpi 200。如何将此设置转换为 PyMuPdf 以获得完全相同的输出?我尝试了 setResolution 次,共 200 次,但没有帮助。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)