掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
PDFファイルからテキスト情報を取り出すには? (ID:79154)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
<SDKを使わずにベタで取得する方法> (全体の作業) 1)まず、相互参照テーブル(個々のPDFオブジェクトの位置情報)をPDFファイルから取得 2)PDFのページ数と個々のページID(/Pageのオブジェクト番号)を列挙 (ページごとの作業) 3)ページのリソース(/Resources)を列挙(主にフォント関連) 4)ページのストリーム(stream ... endstream)が圧縮されている場合は展開 5)そのストリームからテキスト関連のオペレータに従ってテキストを取得 (テキストは'BT' .. 'ET' 間に埋め込まれている) [ テキスト関連のオペレータ一覧 ] // Text object 'BT', // Begin text object 'ET', // End text object 'T*', // Move to start of next text line 'Tc', // Set character spacing 'Td', // Move text position 'TD', // Move text position and set leading 'Tf', // selectfont Set text font and size 'Tj', // show Show text 'TJ', // Show text, allowing individual glyph positioning 'TL', // Set text leading 'Tm', // Set text matrix and text line matrix 'Tr', // Set text rendering mode 'Ts', // Set text rise 'Tw', // Set word spacing 'Tz', // Set horizontal text scaling '''', // Move to next line and show text '"', // Set word and character spacing, move to next line, and show text // inline image 'BI', // Begin inline image object 'EI', // End inline image object 'ID', // Begin inline image data // Graphics State Operators 'q', // gsave Save graphics state 'Q', // grestore Restore graphics state 6)取得したテキストをお好みの文字コードに変換する [ 主要な文字コードの一覧 ] <欧米> WinAnsiEncoding MacRomanEncoding MacExpertEncoding StandardEncoding <日本語> Identity-H Ext-RKSJ-H Identity-V Ext-RKSJ-V 83pv-RKSJ-H EUC-H 90pv-RKSJ-H EUC-V 90ms-RKSJ-H H 90ms-RKSJ-V V 90msp-RKSJ-H UniJIS-UCS2-H 90msp-RKSJ-V UniJIS-UCS2-V Add-RKSJ-H UniJIS-UCS2-HW-H Add-RKSJ-V UniJIS-UCS2-HW-V # 細かい所はかなり省略しているのでわかりにくかったらごめんなさい。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.