2010年5月20日木曜日

PDFからのテキスト抽出

RSS巡回でMac OS X で作成したPDFからテキスト抽出ができない件を読む。

PDFの文字列
まっかちん
をコピペすると
«¬ ®¯
に文字化けするというもの。

・出所不明のPDFの件とは文字化けの状態が違う。
・UTF-8⇔Shift_JISの文字化けでもなさそう(糸へんの漢字に化けてない)。

5/22追記:糸へんの漢字に化けるのはOSが管理しているフォルダ名やファイル名であってPDF文書内のテキストはいかなる漢字コードも一旦Adobe-Japan1 シリーズに変換されてから処理されるんだったんだよな。http://bit.ly/aHg5bK

ちと調べると
「編集不可」として保存されたPDFは、テキスト抽出ができません。
実はAcrobatには、印刷不可のほかに「編集不可」という有名な保存方法があります。Acrobatなど、PDF形式のデータを生成するアプリケーションには、セキュリティ・データ保護のために、データを暗号化する機能があり、編集不可のデータにしているのです。

う~ん、、、この可能性が高いのだが検証できる環境がない。何よりQuartzでPDFを作成してるんだよな。使ったことなかったけど、「編集不可」の設定ができるのか?


関連で
PDFのデータをテキスト化すると文字化けしてしまいます・・
こいつは1バイトの空白だけがコピーされるようだし、独自のセキュリティがかかっているようだ。

[6669]PDFからテキストを抽出
5年前の寺の話題。InDesign CS→PS→Distiller 6.0作成PDFでTrue typeフォントのテキストが抽出出来ない。こっちの可能性が高いかな。
InDesign CSはPDF作成の際に、OpenType (OT)、 Type 1、CID形式のTrueType (TT)フォント、またはdouble-byte文字のグリフを正しくエンコードしない。
InDesign CS2はPDF作成の際に、OpenType、 Type 1、 TrueTypeフォントのグリフを正しくエンコードする。
InDesign CS及びCS2は、CID形式のOpenTypeフォントのグリフを正しくエンコードする。
CS2で問題解決。あとAcrobat7ね。んっ? Acrobat7は話しの方向が違うか。
Acrobat 7を使うようになってから、ずっと、TrueTypeが埋め込まれたPDFからPS化(プリントやEPS)するときはあえてTrueTypeをそのまま書き出す設定を使うようにしてみてました。
#詳細設定/PostScriptオプション/CIDFontType2をCIDFontType2として出力(PSバージョン2015以上)にチェック。(これまでのAdobeアプリ以外では)TrueTypeフォントはTrueTypeのままでPDFに埋め込まれるのが普通ですし。実際特に問題なく流れてます(当方では;)。



JavaScriptの勉強さぼってます。というか行詰ってます(はぁ~

0 件のコメント: