« 2006年05月17日 | メイン | 2006年05月19日 »

2006年05月18日

PDFからテキスト抽出のために ToUnicode CMap

PDFにおけるフォントの取り扱いに関連して、ToUnicode CMapというものがあります。今日はこれについて説明します。

アウトライン・フォントについての説明でお分かりいただけたかと思いますが、PDFにアウトライン・フォントを使って記録された文字を表示する仕組みは、フォントの中にあるグリフのアウトラインをラスタライザで可視化することになります。

これに対して、もう一つのPDFの利用方法として、PDFを読み上げたり、あるいは、検索エンジンで検索したり、あるいはテキスト情報を取り出して他のアプリケーションで使用する、などが考えられます。

通常、上で述べたような処理にはテキストが必要です。テキストについては、2005年12月15日 PDFと文字(4) – 文字の取り扱いで説明しましたので、初めての方は12月15日の話をお読みになってみてください。

PDFの中では、文字を可視化するための情報が入っているのですが、可視化するための情報からテキストを取り出す方法には幾つかあります。

ToUnicode CMap(オプション)は、このための手段の一つとして用意されているものです。

CMapについては、2006年01月17日 PDFと文字 (25) – CMapで文字コードからCIDへ変換で説明しましたが、通常は、文字コードからアドビが定義した、CIDに変換する用途で使います。

ToUnicodeCMapは、CIDへの変換ではなく、PDFの中に入っている表示用の文字列情報をUnicodeに変換するためのテーブルです。CMapの仕様に準拠して作成されています。

PDFの中の情報をUnicodeに変換する方法は他にも幾つかありますが、ToUnicodeCMapは最優先で使われます。また、CJKのTrueTypeを埋め込んでいる場合、ToUnicodeCMapがないとUnicodeテキストを利用できないと思います。これを用意するのは、PDFを作成する生成ソフトの責任です。


投票をお願いいたします

投稿者 koba : 08:00 | コメント (1) | トラックバック