web-dev-qa-db-ja.com

スキャンされたページから作成されたPDFを*自動的に*デスキューおよびトリミングするにはどうすればよいですか?

重複の可能性:
スキャンした画像をデスキューするために使用できるフリーソフトウェア

本のページのスキャンで構成されたPDFがいくつかあります。スキャンは一度に2ページから行われ、これらのスキャンの一部は歪んでいるため、テキストがわずかに傾いて見えます。

読みやすさを損なうことなくスキャンをデスキューすることで自動最適化を実行できるツールを探しています。 GPLソフトウェア Briss が2:1ではなく1:1のページ比率になるようにスキャンをトリミングすることを発見しましたが、ページをデスキューするツールがありません。

unpaperに出くわしました。これは、やりたいことにぴったりの別のオープンソースツールですが、そのツールはLinuxのみであり、PDFファイルを直接。

任意のヒントをいただければ幸いです。

13
Pietro M.

deskew をご覧ください。これはコマンドラインツールです。ダウンロード* Zipには、Windows、MacOSX、Linuxのバイナリが含まれているようです。

ライセンスはMPL(Mozilla)またはLPGL(GNU)で、好きなものを選択できます。

あなたにとっての唯一の欠点は、PDFを消費せず、PNGとTIFF画像(AFAICS)のみを消費することです。つまり、s.thのワークフローを設定する必要があります。お気に入り:

 PDF.orig -> PNG.orig -> PNG.deskewed -> PDF.deskewed

私は(まだ)それを自分でテストしていません。最近ウェブサイトに出くわし、ブックマークしました。

9
Kurt Pfeifle

ああ、別の答えを追加させてください。 netpbm を思い出しました。何年も使っていませんが、見直すべきだと思います...

netpbmは、コマンドラインがグラフィックイメージを操作するための非常に強力なツールキットです。 300近くの個別のツールが出荷されます。約100のグラフィック形式のコンバーターが含まれています。

また、画像を回転できるコマンドラインツールもあります。

pnmrotate

そしてそれは回転した画像の角度を発見しようとする別のツールを持っています:

pamtilt

pamtiltは、イメージの回転の推測の浮動小数点数を返します。したがって、画像の自動スキュー解除は手の届く範囲にある必要があります。そのためにシェルスクリプトを書くことができます。さまざまな手順が必要になります。

  1. Ghostscriptを使用して、PDFページをnetpbmに適した画像形式に変換します。
  2. pamtiltを使用して、画像のスキュー角度を自動検出します。
  3. pnmrotateを使用して画像の傾きを修正します。
  4. 画像をPDFに再変換します。

PDFファイルの小さなサンプルへのアクセスを提供していただければ、偉業を成し遂げるためにシェルスクリプトを思いつくことができます。


([netpbm]がここにスーパーユーザー+スタックオーバーフローにタグを付けていないことはないと思います。)

5
Kurt Pfeifle