用語集

COS - カルーセルオブジェクト構文

PDF2Goの用語集でCOS(カルーセルオブジェクト構文)について詳しく知ることができます。COSはPDFおよびFDFファイルで使用される構文です。

COSとは?

COS(Carousel Object Syntax、カルーセルオブジェクト構文)は、 PDF およびFDFファイルで使用される構文で、次の文書で詳しく解説されています。 ISO 32000-2:2020. PDFファイルの内部構造を調べると、そこにあるのがCOSです。

「Carousel」は、この構文が最初に導入された際のAcrobat 1.0のコードネームでした。

8種類のCOSオブジェクト型

COSの構文は小さく、PDF内のほとんどすべては8つの基本オブジェクト型のいずれかです。これらを見分けられるようになると、PDFの中身が単なるノイズには見えなくなります。

  • ブール値と数値。素のまま記述されます。
  • 文字列。丸括弧内に書くか、山括弧内に16進数で書きます。
  • 名前。/Type や /Page のように、先頭にスラッシュを付けて記述します。
  • 配列は角括弧、辞書は二重山括弧で囲みます。
  • ストリーム。辞書に続けて、生または圧縮済みのバイト列ブロックが続きます。
  • null オブジェクト。

ページ内容、フォント、画像、 メタデータ もすべてこれらの要素から構成されています。ストリームには圧縮されたページ記述や埋め込み画像が含まれるため、ファイルデータの大部分が格納されます。

オブジェクトの探索方法

オブジェクトには番号が振られ、ファイル末尾のクロスリファレンステーブルに各オブジェクトのバイトオフセットが記録されます。リーダーは末尾から読み始めてトレーラーを読み、クロスリファレンステーブルを見つけてから、必要なオブジェクトへ直接ジャンプします。そのため、PDFは最初から最後まで順に解析しなくても開くことができます。 後のバージョンでは、そのテーブル自体を圧縮された オブジェクトストリーム として保存する場合があり、 インクリメンタルアップデート は最初のテーブルを書き換えずに2つ目のテーブルを後ろに追加します。