PDFlib

高度なPDFアプリケーションの開発を支援する定番プログラムライブラリー Supported by インフォテック株式会社

PDF内のテキストやイメージを抽出・分析する

業務システムの開発などで、
「PDF 内の テキストやイメージ情報 を抽出・分析したい」
と考えたことはありませんか。

PDF内の文字や画像を抽出・分析したい
PDFlibTETを使うと文字や画像を抽出・分析できる

PDFlib TET を使うと、アプリケーションプログラムで
PDF ファイルのテキストやイメージ情報を抽出・分析ができます。
※線や矩形等のグラフィック情報は取得できません。

PDF からテキスト、イメージを抽出し、プログラムから扱えるようにします。
また、TETMLと呼ばれるXMLベースの独自形式で出力することもできます。

PDFlibを使うとPDFが作成できる

テキスト・イメージの抽出・分析までの流れ(イメージ)

1 分析したいPDF 文書を開く
2 PDF ページを開く
3 PDF ページ内の情報を取得する
4 PDF ページを閉じる
5 PDF 文書を閉じる
6 PDF 文書の抽出完了

テキスト・イメージの抽出・分析までの流れ(詳細)

PDFlib TET は、PDF 文書内のテキストやイメージを抽出・分析する製品です。PDF のページ上に存在するテキストを Unicode で抽出します。また、そのテキストの詳細な情報 、例えば文字の位置、幅、傾き、表示フォント、フォントサイズ等を取得できます。

ページ上のテキスト以外にも、PDF は多くの情報を持っています。例えば、しおり、注釈、フォームフィールド、文書プロパティ (タイトル、作者名、カスタムプロパティ等) などが挙げられます。TET では、これらの情報についても取得することができます。

①分析したいPDF 文書を開く

取り込む PDF 文書を開くには TET 関数である open_document() を使用します。オプションで分析したい PDF のパスとファイル名を指定します。

②PDF ページを開く

PDF 文書にアクセスした後、ページを開くには、open_page() 関数を使用します。オプションで開きたいページ番号を指定することができます。
また、PDF ページを最初から最後まで取得したい場合、pcos_get_number() 関数を使うと PDF の総ページ数を取得することができます。実際に開くページ番号を1つずつ増やしていき、ページ番号が総ページ数を超えた場合に処理を終了することも可能です。

③PDF ページ内の情報を取得する

PDF ページを開いた後は、例えば以下の関数を用いて、ページ内の情報を取得します。

  • get_text() … ページ内のテキスト内容を取得
  • get_char_info() … 文字の位置、幅、傾き、表示フォント、フォントサイズ等を取得
  • image_info() … 画像の位置、幅、傾き等

この他にも、用途に合わせて様々な関数が用意されています。ただし、直線や円などのグラフィック情報は取得できません。

④PDF ページを閉じる ⑤PDF 文書を閉じる ⑥PDF 文書の抽出が完了

抽出の設定が完了したら close_page() 関数を用いて PDF のページを閉じ、さらに close_document() 関数を用いて PDF 文書を閉じれば、作業は完了です。

もちろん、エラーを取得することも可能です。ほとんどの関数は、エラーが起きた場合に、-1 (PHP では 0)を返します。この返り値を利用し、処理を分岐することも可能です。

つまり、関数を呼び出すだけで、PDF 内の情報を抽出し、プログラムから扱えるようになるのです。

当サイトには製品情報だけでなく、実践的なサンプルプログラムを多数ご用意しております。初めての方にも PDFlib を安心してご利用いただけるよう、入門編もご用意しております。

TET はライセンスご購入前でも、評価版として無償で試用していただけます。
ぜひ一度ダウンロードしていただき、ご期待に沿える商品か十分にご検証ください。
※評価版の制限として、読み込み可能な PDF のサイズは 1MB 以下、かつ10ページ以下となります。

また、製品の評価中での技術面やご購入に関するお問い合わせも、随時受け付けております。ご遠慮なくお申し付けください。

その他 トピックス

プログラムで PDF を作成したい方
PDF を作成したい
プログラムで PDF を編集したい方
PDF を編集したい
(Feb 14, 2019)