web-dev-qa-db-ja.com

PDFに画像のみが含まれているのか、または検索のためにOCRスキャンされているのかを知る方法は?

スキャンしたドキュメントから取得したPDFファイルがたくさんあります。ファイルには画像とテキストが混在しています。OCRのない画像としてスキャンされたものもあるので、それぞれPDFページ全体がテキストの場合でも、ページは1つの大きな画像です。その他はOCRでスキャンされ、テキストとテキストが存在する場合は画像と検索可能なテキストが含まれます。多くの場合、画像内の単語でも検索可能になりました。

Acrobat 8​​ Proで、OCRを使用してスキャンされたすべてのドキュメントのテキストを認識する自動プロセスを作成したいのですが、過去にOCRプロセスを経たファイルを再度OCRしたくありません。どれが画像のみを含み、どれがすでに検索可能なテキストを含んでいるかを知る方法があるかどうか誰かが知っていますか?

C#またはVB.NETでこれを行う予定ですが、2種類のファイルを区別できるかどうかは言語に依存するとは思いません。

24
Bratch

PDFに変換されたスキャンされた画像は、テキストを検索可能にするために余計にOCR処理されていますが、通常は「非表示」としてレンダリングされたテキスト部分を含んでいます。印刷された)はまだ元の画像ですが、searchが成功すると、ヒットが強調表示されます非表示のテキスト上にあります。

XPDFから派生したコマンドラインツールpdffonts(.exe)pdfinfo(.exe)pdftotext(.exe)をご覧になることをお勧めします。ダウンロードについてはこちらをご覧ください: http://www.foolabs.com/xpdf/download.html

pdffontsの使用例

C:\downloads\> pdffonts Cisco-ip-phone-7911-guide6.1.pdf
name                                 type              emb sub uni object ID
------------------------------------ ----------------- --- --- --- ---------
LGOKFL+Univers-BlackOblique          Type 1C           yes yes no   13171  0
LGOKGM+Univers-Black                 Type 1C           yes yes no   13172  0
[....]

これはPDFフォント(「名前」列で示される)を使用し、それらを埋め込み(「emb」列で「はい」で示される)し、サブセットフォント(「はい」で示される)を使用します「sub」列の「」)。

C:\downloads\> pdffonts examle1.pdf
name                                 type              emb sub uni object ID
------------------------------------ ----------------- --- --- --- ---------
Univers-BlackOblique                 Type 1C           yes no  no   14    0
Arial                                TrueType          no  no  no   15    0

これはPDFは2つのフォントを使用します(「名前」列で示されます)。フォント「Universe-BlackOblique」は完全に埋め込まれています(「emb」列の「yes」と「 'sub'列のno ')フォント' Arial 'も使用されますが、埋め込まれません。

C:\downloads\> pdffonts examle2.pdf
name                                 type              emb sub uni object ID
------------------------------------ ----------------- --- --- --- ---------

これはPDFは単一のフォントを使用しないため、テキストが埋め込まれていません(したがってOCRもありません)。

pdftotextの使用例

C:\downloads\> pdftotext ^
                   -layout ^
                   Cisco-ip-phone-7911-guide6.1.pdf ^
                   Cisco-ip-phone-7911-guide6.1.txt

これは、PDFからすべてのテキスト文字列を抽出します(元のレイアウトとの類似性を維持しようとします)。PDFにテキストがない場合、OCRがないことがわかります...

24
Kurt Pfeifle

さまざまなPDFツールはテキストがあるかどうかを教えてくれます。COMコントロールとして使用できるものもあれば、ネイティブ.NETのものも使用できます。

2
Steven Sudit

ドキュメントをアクロバットで開きます。 [ファイル]-> [プロパティ]に移動します。 「詳細」セクションを見て、PDF Producerを見つけます。「Paper Capture ...」のようなものであれば、OCRされています。

お役に立てれば。

1
Bob

Apagoのpdfspyは、PDFから情報をXMLファイルに抽出します。これには、画像やテキストを含むドキュメントに関する情報が含まれます。プロジェクトの場合、有用な情報には、画像の数とサイズ、およびOCRがある場所(非表示)テキスト。

http://www.apagoinc.com/pdfspy

0
Dwight Kelly

古いスレッドを掘り下げて申し訳ありませんが、これを見つけた場合は、私のスレッドを確認してください。

PDFのバッチOCRプログラム

pdfをunix/linux/osxに入れるか、Pythonで「rb」モードとして開くことで、pdfに関する追加情報を取得できます。 (もちろん、それはpythonであり、それを使用したくなかったが、同等のものがあるかもしれない)。

0