GNU/Linux >> Linux の 問題 >  >> Linux

LinuxでPDFからOCRでテキストを抽出するには?

Cuneiform OCR システムの BSD ライセンスの Linux ポートで成功しました。

バイナリ パッケージは利用できないようです。そのため、ソースからビルドする必要があります。基本的にすべての入力画像形式をサポートするために、ImageMagick C++ ライブラリがインストールされていることを確認してください (そうでない場合は、BMP のみを受け入れます)。

簡単な README ファイル以外は基本的に文書化されていないように見えますが、OCR の結果は非常に良好であることがわかりました。これの良いところは、OCR テキストの位置情報を hOCR 形式で出力できるため、PDF ファイルの非表示レイヤーにテキストを正しい位置に戻すことができるようになることです。このようにして、テキストをコピーできる「検索可能な」PDF を作成できます。

hocr2pdf を使用して、元の画像のみの PDF と OCR の結果から PDF を再作成しました。残念ながら、このプログラムは複数ページの PDF の作成をサポートしていないようです。そのため、それらを処理するスクリプトを作成する必要があるかもしれません:

#!/bin/bash
# Run OCR on a multi-page PDF file and create a new pdf with the
# extracted text in hidden layer. Requires cuneiform, hocr2pdf, gs.
# Usage: ./dwim.sh input.pdf output.pdf

set -e

input="$1"
output="$2"

tmpdir="$(mktemp -d)"

# extract images of the pages (note: resolution hard-coded)
gs -SDEVICE=tiffg4 -r300x300 -sOutputFile="$tmpdir/page-%04d.tiff" -dNOPAUSE -dBATCH -- "$input"

# OCR each page individually and convert into PDF
for page in "$tmpdir"/page-*.tiff
do
    base="${page%.tiff}"
    cuneiform -f hocr -o "$base.html" "$page"
    hocr2pdf -i "$page" -o "$base.pdf" < "$base.html"
done

# combine the pages into one PDF
gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile="$output" "$tmpdir"/page-*.pdf

rm -rf -- "$tmpdir"

上記のスクリプトは非常に初歩的であることに注意してください。たとえば、PDF メタデータは保持されません。


pdftotext が機能するかどうかを確認してください。お使いのマシンにない場合は、poppler-utils パッケージをインストールする必要があります

sudo apt-get install poppler-utils 

また、使用する pdf ツールキットを見つけることもできます。

ウィキペディアの PDF ソフトウェアの完全なリスト。

編集: あなたが必要だから OCR 機能については、別の方法を試す必要があると思います。 (つまり、OCR を行う Linux pdf2text コンバーターが見つかりませんでした)。

  • PDF を画像に変換
  • OCR ツールを使用して画像をスキャンしてテキストにする

pdf を画像に変換

  • gs:以下のコマンドは、複数ページの pdf を個々の tiff ファイルに変換する必要があります。

    <ブロック引用>

    gs -SDEVICE=tiffg4 -r600x600 -sPAPERSIZE=文字 -sOutputFile=ファイル名_%04d.tif -dNOPAUSE -dBATCH -- ファイル名

  • ImageMagik ユーティリティ:SuperUser サイトには、変換を行うために使用できる ImageMagik の使用に関する他の質問があります。

    <ブロック引用>

    foo.pdf foo.png に変換

OCR で画像をテキストに変換

  • GOCR:ウィキペディアのページ
  • オクラッド:ウィキペディアのページ
  • オクロプス:ウィキペディアのページ
  • tesseract-ocr:ウィキペディアのページ

ウィキペディアの OCR ソフトウェアのリストから取得


Google ドキュメントは OCR を使用して、アップロードされた画像/PDF ドキュメントをテキストに変換します。私はそれでうまくいきました.

彼らは、巨大な Google ブックス プロジェクトで使用されている OCR システムを使用しています。

ただし、サイズが 2 MB までの PDF のみが処理に受け入れられることに注意してください。

更新
1. 試すには、Web ブラウザから 2MB 未満の PDF を Google ドキュメントにアップロードします。
2. アップロードしたドキュメントを右クリックし、[Google ドキュメントで開く] をクリックします。
...Google Docs はテキストに変換し、同じ名前の新しいファイルに出力しますが、Google Docs の種類は同じフォルダーにあります。


Linux
  1. gImageReader –Linuxの画像とPDFからテキストを抽出する

  2. Linuxでテキストファイルからバイナリを見分ける方法

  3. Linux ボックスから Windows とインターネットを共有するにはどうすればよいですか?

  1. groff-meを使用してLinuxで学術論文をフォーマットする方法

  2. LinuxでPDFファイルからビデオを作成する方法

  3. Linux から添付ファイルと本文を含むメールを送信する方法

  1. Linuxでコマンドラインを使用してPDFをJPGに変換するには?

  2. nano を使用してファイルからすべてのテキストを選択するにはどうすればよいですか?

  3. Linuxでパワーポイントpptxからテキストを抽出するツール?