PDF 内部構造 構造の概念 簡単な説明のソースを表示
新しいページはコチラ
移動:
案内
,
検索
== '''概要''' == ファイルの構造の大まかな分類があるので、その分類をここで説明します。PDF内部構造の用語にもなれていかないといけません。この記事では最初の一歩に必要な内容を記述したいと思います。 PDFファイルのテキストが一つあるだけのシンプルな構造のファイルイメージは以下のようになります。 <syntaxhighlight2 lang="text" line=1> %PDF-1.7 %★(適当な129~255までの値を何バイトか) 1 0 obj << /Type /Pages /Count 1 /Kids [2 0 R] >> endobj 2 0 obj << /Type /Page /MediaBox [0 0 ★(xx xx)] /Resources 3 0 R /Parent 1 0 R /Contents [4 0 R] >> endobj 3 0 obj << /Font << /F0 << /Type /Font /BaseFont /Helvetica-Bold /Subtype /Type1 >> >> >> endobj 4 0 obj << /length ★(xx) >> stream 1. 0. 0. 1. ★(xx. xx). cm BT /F0 12. Tf (PDF Strings! Parts) Tj ET endstream endobj 5 0 obj << /Type /Catalog /Pages 1 0 R >> endobj xref 0 6 0000000000 65535 f 0000000★(xxx) 00000 n 0000000★(xxx) 00000 n 0000000★(xxx) 00000 n 0000000★(xxx) 00000 n 0000000★(xxx) 00000 n trailer << /Size 6 /Root 5 0 R >> startxref ★(xx) %%EOF </syntaxhighlight2> はじめて見たときは、なんじゃコレ。って感じでした。皆さんの中にも初めての人がいたら同じような気持ちだったはずです。冷静にみてみると見えてくるものがあります。最初の2行あたりは、すべての拡張子のファイルにもあるファイルヘッダ部です。なんらかのファイル操作をしたことがある人なら知っているかもしれません。 %PDF-1.7 ふむふむ。PDF-1.0 ~ PDF-1.7 までのバージョンがありますので、それぞれの仕様にあわせた値なので数字の部分は変わります。大した機能を使わない文書ならPDF-1.1とかを指定しても問題ないでしょう。むしろ大きなバージョンは複雑な仕様になっているので、きちんとすべての情報を書けていなくて動かなくなることがあるかもしれません。自分ごときが扱うときは、まだ1.1くらいしか使ったことないです。1.1でも普段使う機能は出来上がってます。ちなみに1.1の仕様に沿っていれば現状の1.7に対応しているリーダーでは開けるように、後方互換が完全に保証されています。逆に1.7の文書も1.1でひらける前方互換も概ね(おおむね)保証されているようです。 そうすると3行目から現れる 1 0 obj のような表現が、2 0 obj、3 0 obj …のように飛び飛びで現れていて、それぞれは endobjというキーワードで対になっています。これがオブジェクトという単位です。まだオブジェクトの中身はわからなくていいです。まずは全体を見渡しましょう。数字は先頭からオブジェクト番号、世代番号と呼ばれています。オブジェクト番号はファイル内で唯一の番号(ユニークな番号)になっている必要があります。最後のendobjのある42行目からはx x obj ~ endobjという対がおわり endobj xref</br> 0 6</br> …</br> startxref</br> のような構造があります。相互参照テーブルと呼ばれています。
PDF 内部構造 構造の概念 簡単な説明
に戻る。
個人用ツール
ログイン
名前空間
ページ
議論
変種
表示
閲覧
ソースを表示
履歴表示
操作
検索
案内
メインページ
コミュニティ・ポータル
最近の出来事
最近の更新
おまかせ表示
ヘルプ
ツールボックス
リンク元
関連ページの更新状況
特別ページ