我怎样才能*自动*地校正和裁剪从扫描页面制作的PDF?

Pie*_* M. 13 pdf imagemagick

可能的重复:
我可以使用哪些免费软件来校正扫描图像

我有几个由书页扫描组成的 PDF。一次扫描两页,其中一些扫描是倾斜的,使文本看起来略微倾斜。

我正在寻找一种工具,它可以让我在不失去可读性的情况下通过对扫描进行校正来进行自动优化。我找到了 GPL 软件Briss来裁剪扫描,以便获得 1:1 的页面比例而不是 2:1,但我没有任何工具来校正页面。

我偶然发现了unpaper,这是另一个似乎非常适合我想做的事情的开源工具,但该工具仅适用于 Linux,不能直接处理 PDF 文件。

任何提示表示赞赏。

Kur*_*fle 9

看看校正。这是一个命令行工具。下载 *zip 似乎包括适用于 Windows、MacOSX 和 Linux 的二进制文件。

许可证是 MPL (Mozilla) 或 LPGL (GNU),无论您喜欢什么。

对您来说唯一的缺点似乎是它不使用 PDF,只使用 PNG 和 TIFF 图像(AFAICS)。这意味着您必须设置 s.th 的工作流程。喜欢:

 PDF.orig -> PNG.orig -> PNG.deskewed -> PDF.deskewed
Run Code Online (Sandbox Code Playgroud)

我自己还没有测试过(还没有),我最近刚刚访问了该网站并将其添加为书签。


Kur*_*fle 5

哦,让我补充另一个答案。我只记得netpbm。好多年没用了,但我想我应该重新审视一下......

netpbm 是一个非常强大的工具包,用于命令行操作图形图像。它提供了近 300 个独立的工具。它包括大约 100 种图形格式的转换器。

它还有一个可以旋转图像的命令行工具:

pnmrotate
Run Code Online (Sandbox Code Playgroud)

它还有另一个工具可以尝试发现旋转图像的角度:

pamtilt
Run Code Online (Sandbox Code Playgroud)

pamtilt返回其图像旋转猜测的浮点数。所以图像的自动去歪斜应该是触手可及的。可以编写一个 shell 脚本来做到这一点。这将需要不同的步骤:

  1. 借助 Ghostscript 将 PDF 页面转换为适合 netpbm 的图像格式。
  2. 使用pamtilt自动发现图像的倾斜角度。
  3. 使用pnmrotate到去偏移图像。
  4. 将图像重新转换为 PDF。

如果你让我访问你的 PDF 文件的一个小样本,我可以尝试想出一个 shell 脚本来完成这个壮举。


(我很想知道 [netpbm] 在超级用户+stackoverflow 上没有看到标签。)