如何使用imagemagick处理多页PDF的每一页?

问题描述 投票:0回答:3

我有一个多页的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 image-processing imagemagick imagemagick-convert image-editing
3个回答
1
投票

[由于Tesseract等人更喜欢PNG或NetPBM PPM文件,因此您似乎不太希望将PDF传递给OCR,因此您不妨将大PDF拆分为单个PNG(或其他)文件:

convert full.pdf page-%03d.png

您现在可以一次删除一个页面上的渐变,然后传递到OCR。或者,您可以使用GNU Parallel并行执行它们-请在选项中说明是否这样做,如果可以,我会为您编写。


0
投票

由于imagemagick似乎无法一口气做到这一点,所以我根据Mark Setchell在对他的回答的评论中提出的建议,整理了一个脚本。


0
投票

这应该在一个命令行中完成您在ImageMagick中想要的操作。您必须使用-layers Composite并将pdf和模糊处理分开为null :。这与合并动画gif的过程相同。

© www.soinside.com 2019 - 2024. All rights reserved.