176

PDFからテキストと画像を抽出するためのライブラリ/APIを推奨できる人はいますか?ドキュメントの既知の領域に含まれているテキストを取得できる必要があるため、APIはページ上の各要素の位置情報を提供する必要があります。

xmlそのデータをまたはjsonフォーマットで出力したいと思います。現在、かなり良いように見えるPdfTextStreamを調べていますが、他の人々の経験や提案を聞きたいと思います。

プログラムでPDFからテキストを抽出するための代替手段(商用または無料)はありますか?

4

15 に答える 15

39

効率的なコマンド ライン ツール、オープン ソース、無料、Linux と Windows の両方で利用可能: 単に pdftotext という名前です。このツールは xpdf ライブラリの一部です。

http://en.wikipedia.org/wiki/Pdftotext

于 2014-08-13T20:47:25.477 に答える
31

今日から私はそれを知っています:PDFからのテキスト抽出のための最良のものTET、テキスト抽出ツールキットです。TETは、PDFlib.com製品ファミリーの一部です。

PDFlib.comはThomasMerzの会社です。彼の名前がわからない場合:ThomasMerzは「PostScriptandPDFBible」の著者です。

TETの最初の化身は図書館です。これで、ページ上のすべての要素に関する位置情報を含め、Budda006が望んでいたすべてのことを実行できる可能性があります。ああ、それはまた画像を抽出することができます。断片化された画像を再結合します。

pdflib.comは、このテクノロジーのもう1つの化身である、Acrobat用のTETプラグインも提供しています。そして3番目の化身はPDFlibTETiFilterです。これは、ユーザーデスクトップ用のスタンドアロンツールです。これらは両方とも(ビールのように)無料で、非営利目的で使用できます。

そして、それは本当に強力です。アドビ独自のテキスト抽出よりもはるかに優れています。他のツール(Adobeを含む)がゴミだけを吐き出すテキストを抽出しました。

デスクトップスタンドアロンツールをテストしたところ、彼らのWebページに書かれていることは真実です。非常に優れたコマンドラインがあります。私の「問題のある」PDFテストファイルのいくつかは、ツールが完全に満足のいくように処理しました。

これからは、洗練された挑戦的なPDFテキスト抽出要件すべてに対する私の推奨事項になります。

TETは単に素晴らしいです。テーブルを検出します。テーブル内では、複数の列にまたがるセルを識別します。テーブルの行と各テーブルセルの内容を個別に識別します。ハイフンを非常にうまく処理します。ハイフンを削除し、完全な単語を復元します。非ASCII言語(CJK、アラビア語、ヘブライ語を含む)をサポートします。合字に遭遇すると、元の文字を復元します...

試してみる。

于 2010-09-15T23:25:40.527 に答える
22

Python の場合、PDFMinerpyPDF2があります。これらの詳細については、PDF をテキストに変換するための Python モジュール を参照してください。

于 2013-03-09T17:34:45.983 に答える
10

PdfTextStream (あなたが見ていると言っていました) は、シングル スレッド アプリケーションで無料になりました。私の意見では、その品質は他のライブラリよりもはるかに優れています (特にファンキーな埋め込みフォントなど)。

Java と C# で利用できます。

または、オープンソースのApache PDFBoxをご覧ください。

于 2012-09-16T20:22:47.690 に答える
7

ここでのコメントの 1 つは、Windows で gs を使用していました。Linux/OSX でも、次の構文である程度成功しました。

gs \
 -q \
 -dNODISPLAY \
 -dSAFER \
 -dDELAYBIND \
 -dWRITESYSTEMDICT \
 -dSIMPLE \
 -f ps2ascii.ps \
 "${input}" \
 -dQUIET \
 -c quit

後者は1行あたり1文字を出力するため、dSIMPLE代わりに使用しました。dCOMPLEX

于 2014-02-25T17:19:40.183 に答える
6

Docotic.Pdf ライブラリを使用して、PDFファイルからテキストをプレーン テキストとして、または各チャンクの座標を含むテキスト チャンクのコレクションとして抽出できます。

Docotic.Pdf を使用して、PDF から画像を抽出することもできます。

免責事項: 私はビット ミラクルで働いています。

于 2011-04-15T15:14:33.983 に答える
5

質問は具体的にはPDF から XML としてデータを取得するための代替ツールに関するものであるため、これを正確に行うことができる商用ツール「ByteScout PDF Extractor SDK」を見てみることに興味があるかもしれません: XML として PDF からテキストを抽出し、位置データ (x,y) とフォント情報:

ソース PDF のテキスト:

Products | Units | Price 

出力 XML:

 <row>
 <column>
  <text fontName="Arial" fontSize="11.0" fontStyle="Bold" x="212" y="126" width="47" height="11">Products</text> 
  </column>
 <column>
  <text fontName="Arial" fontSize="11.0" fontStyle="Bold" x="428" y="126" width="27" height="11">Units</text> 
  </column>
 <column>
  <text fontName="Arial" fontSize="11.0" fontStyle="Bold" x="503" y="126" width="26" height="11">Price</text> 
  </column>
</row>

PS: さらに、テキストをテーブルベースの構造に分割します。

開示:私はByteScoutで働いています

于 2015-02-10T14:46:50.910 に答える
3

このトピックはかなり古いことは知っていますが、この必要性はまだ生きています。多くのドキュメント、フォーラム、スクリプトを読み、圧縮および非圧縮 pdf をサポートする新しい高度なドキュメントを作成しました。

https://gist.github.com/smalot/6183152

場合によっては、セキュリティ上の理由からコマンド ラインが禁止されています。したがって、ネイティブ PHP クラスは多くのニーズに対応できます。

それが誰にも役立つことを願っています

于 2013-08-08T10:04:49.007 に答える
3

私が現在考えることができる最高のもの (「単純な」ツールのリスト内) は、Ghostscript (現在のバージョンは v.8.71) と PostScript ユーティリティ プログラムps2ascii.psです。Ghostscript のlibサブディレクトリに同梱されています。これを試してください(Windowsの場合):

gswin32c.exe ^
   -q ^
   -sFONTPATH=c:/windows/fonts ^
   -dNODISPLAY ^
   -dSAFER ^
   -dDELAYBIND ^
   -dWRITESYSTEMDICT ^
   -dCOMPLEX ^
   -f ps2ascii.ps ^
   -dFirstPage=3 ^
   -dLastPage=7 ^
   input.pdf ^
   -dQUIET ^
   -c quit

このコマンドは、 の 3 ~ 7 ページを処理しますinput.pdf。ファイル自体のコメントを読んでps2ascii.ps、「奇妙な」数字と追加情報が何を意味するかを確認してください (文字列、位置、幅、色、画像、四角形、フォント、改ページなどを示しています)。「単純な」テキスト出力を取得するには、その-dCOMPLEX部分をに置き換えます-dSIMPLE

于 2010-09-07T00:13:57.350 に答える
2

画像抽出用の pdfimages は、Linux または Windows (win32) 用の無料のコマンド ライン ツールです。

pdfimages: Portable Document Format ( PDF ) ファイルから画像を抽出して保存する

于 2013-02-18T22:45:15.370 に答える
2

Apache pdfbox にはこの機能があります - テキスト部分は次の場所で説明されています:

http://pdfbox.apache.org/apidocs/org/apache/pdfbox/util/PDFTextStripper.html

実装例については、 https://github.com/WolfgangFahl/pdfindexerを参照してください。

テストケース TestPdfIndexer.testExtracting は、それがどのように機能するかを示しています

于 2014-03-07T13:53:21.323 に答える
1

QuickPDF は、手頃な価格でやりたいことができる合理的なライブラリのようです。

http://www.quickpdflibrary.com/ - 30 日間の試用版があります。

于 2010-09-07T14:46:53.697 に答える
0

私の Macintosh システムでは、「Adobe Reader」がかなり良い仕事をすることがわかりました。「Adobe Reader.app」を指すデスクトップにエイリアスを作成しました。エイリアスにpdfファイルをドロップするだけで、Adobe Readerでアクティブなドキュメントになり、ファイルメニューから、 「テキストとして保存...」を選択し、名前と保存場所を指定して、「保存」をクリックすれば完了です。

于 2015-01-12T05:24:29.980 に答える