0

左、上、幅、高さのパラメータで指定された指定された長方形の領域からPDFテキストを抽出するのに役立つ(できれば無料の)ライブラリを探しています。Linux システム上の PHP で使用できるはずです。そのようなライブラリと実用的な例を提案していただけますか?

4

1 に答える 1

5

コマンドライン

PHP は、外部のコマンドライン ツールも使用できます。したがって、これがあなたのオプションである場合...

コマンドラインを使用する場合pdftotext-ただし、XPDF バージョンではなく Poppler バージョンのみです。-- 次のオプションの CLI パラメータがあります。

  -x : トリミング領域の左上隅の x 座標
  -y : トリミング領域の左上隅の y 座標
  -W : トリミング領域の幅 (ピクセル単位) (デフォルトは 0)
  -H : トリミング領域の高さ (ピクセル単位)

実際の例:

まず、Ghostscript を使用して、Bash の man ページから PDF を作成しましょう。

man -t bash | gs -o man-bash.pdf -sDEVICE=pdfwrite -

次に、そこからテキストを抽出しましょう。幅 200、高さ 100、左上隅(200,200){ここでは、左上から に配置されていると計算します(0,0)}を使用します。

kp@mbp:~$ pdftotext -f 1 -l 1 -x 200 -y 200 -W 200 -H 100 man-bash.pdf -
 
 Shell および Ut の適合実装
 および 1003.1)。Bash は POS として構成できます
 
 説明に記載されているacterシェルオプション
 シェルが呼び出されます。さらに、bashは解釈します
 
 オプションが存在する場合、コマンドは s から読み取られます

-f(最初のページの場合) と(最後のページの場合) の使用法に注意してください。これを使用しない場合は、複数ページの PDF の各ページのそれぞれのテキスト領域が印刷されます。-lpdftotext

このスクリーンショットと比較してください:

選択した長方形が強調表示されている Bash man ページを含む PDF のスクリーンショット

期待どおりに機能したようですね。

としょうかん

ポップラー

Poppler はライブラリとしても使用できます。しかし、私はこのアプローチの経験がありません (PHP の経験もあまりありません)。

TET

要件を満たす無料のライブラリが見つからない場合は、PDF からのテキスト抽出に最適なものであるTET、テキスト抽出ツールキット を参照してください。TET はPDFlib.com製品ファミリーの一部です。

PDFlib.com は Thomas Merz の会社です。彼の名前がわからない場合: Thomas Merz は、「PostScript and PDF Bible」の著者の 1 人です。

TET の最初の化身は図書館です。これはおそらく、ページ上のすべての要素の位置情報を含め、あなたが望んでいたすべてのことを行うことができます.

pdflib.com では、この技術のもう 1 つの化身であるAcrobat 用の TET プラグインも提供しています。そして 3 番目の化身はPDFlib TET iFilterです。これは、Windows デスクトップ用のスタンドアロン ツールです。これらはどちらも(ビールのように)無料で、個人的、非営利目的で使用できます.

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

試してみる。

于 2012-07-29T15:38:36.947 に答える