pdf - 如何使用 imagemagick 处理多页 PDF 的每一页?
问题描述
我有一个带有照片书页的多页 PDF。我想从每一页中删除渐变,为光学字符识别做准备。
此命令适用于单个页面的 PNG:
convert page.png \( +clone -blur 0x64 \) -compose minus -composite -channel RGB -negate page_deblurred.png
但是,一旦我使用此命令在多页 PDF 上尝试此操作...
convert full.pdf \( +clone -blur 0x64 \) -compose minus -composite -channel RGB -negate full_deblurred.pdf
...我得到一个单页 PDF,其中的颜色反转,上面覆盖了几页的文本。
如何告诉 imagemagick 像处理 PNG 一样处理每一页并将多页 PDF 返回给我?
解决方案
您似乎不太可能希望将 PDF 传递给 OCR,因为 Tesseract 等人更喜欢 PNG 或 NetPBM PPM 文件,因此您不妨将大 PDF 拆分为单独的 PNG(或其他)文件:
convert full.pdf page-%03d.png
您现在可以一次删除单个页面上的渐变,然后传递给 OCR。或者您可以使用GNU Parallel 并行执行它们 - 请说明是否可以选择,如果是,我会为您编写。
推荐阅读
- python - 确保加载 json 时正确编码 ASCII 转义序列(例如颜色代码)
- google-apps-script - 如何在不显示 OAuth 同意屏幕的情况下执行 UrlFetchApp.fetch()
- javascript - 如何从另一个文件 javascript 导入 Module.exports
- postgresql - 使用 jsonb 子键的索引 postgresql
- python - 使用 scipy.optimize.curve_fit 拟合函数时遇到问题
- html - 使用 Powershell 将 HTML 字符代码转换为文本?
- python - 如何在 Python 中按“子键”对字典进行排序
- django - Django - 在不将文件保存到模型的情况下获取返回图像的响应
- android - 发送一个信号通知时 Android 应用程序崩溃
- deployment - 为什么我不能创建 GPO 来将 .msi 安装到客户端?