PDFSub
料金APIMergeCompressEditE-Sign銀行取引明細ブログ
ブログに戻る
ガイドPDFフォーマットPDF規格PDF/APDF/XPDF/UA構造

PDFファイル形式解説:構造、レイヤー、標準規格

2026年5月16日
T
Todd Lahman
Founder, PDFSub

PDFには何が格納されているのでしょうか?ヘッダー、ボディ、xref、トレーラーの4つの物理セクション、テキスト、画像、フォント、注釈、ベクトル、署名の6つのコンテンツレイヤー、メタデータ、そしてその上に構築されたISO規格(PDF/A、PDF/X、PDF/UA、PDF/E、PDF/VT)を網羅した図解と用語集。


PDFは単一のファイルではありません。ディスク上の特定の構造を持つバイナリコンテナであり、そのコンテナ内に積み重ねられたコンテンツレイヤーのセット、そして基本仕様の上に構築された一連のISO規格です。ヘックスエディタで開くと、最初の数行に構造がプレーンテキストで表示されます。ビューアで開くと、レイヤーが単一のページとしてレンダリングされます。

このガイドは、物理的なファイル構造、ボディが保持するコンテンツレイヤー、すべてを囲むメタデータ、そして特定のユースケースのためにそれを制約する規格(PDF/A、PDF/X、PDF/UA、PDF/E、PDF/VT)をラベル付きで参照するものです。

Anatomy of a PDF file: header, body objects, cross-reference table, trailer, content layers, and metadata

この図をブログで使用したいですか? この埋め込みコードをコピーしてください:


4つの物理セクション

ディスク上のすべてのPDFは、この順序で同じ4つの部分からなる構造を持っています。

1. ヘッダー

ファイルの最初の行。常に「%PDF-」で始まり、その後にバージョン番号が続きます。

%PDF-1.7

バージョンは 1.0(1993年リリース)から 2.0(2017年リリース、現行)まであります。ヘッダーの後には、FTPなどの転送ツールにこれがバイナリファイルであることを示すバイナリバイトを含むコメント行が続きます。

2. ボディ - 間接オブジェクト

ファイルの大部分。すべてのページ、フォント、画像、注釈、フォームフィールドは、番号付きの間接オブジェクトです。

1 0 obj
<< /Type /Catalog /Pages 2 0 R >>
endobj
 
2 0 obj
<< /Type /Pages /Kids [3 0 R] /Count 1 >>
endobj
 
3 0 obj
<< /Type /Page /Parent 2 0 R /Contents 4 0 R /Resources << ... >> >>
endobj

各オブジェクトにはID(0 obj の前の数字)、世代番号(インクリメンタルアップデートで使用される 0)、および辞書の場合は << と >> の間、バイナリストリーム(画像データ、フォントデータ、圧縮コンテンツ)の場合は stream と endstream の間のペイロードがあります。

オブジェクトは <id> <gen> R 構文(例:「3 0 R」は「オブジェクト3、世代0」を意味します)で互いに参照します。これにより、ページが使用するフォントを参照したり、カタログがページツリーのルートを参照したりします。

3. クロスリファレンステーブル (xref)

バイトオフセットのルックアップテーブル。ボディ内のすべてのオブジェクトについて、xrefはファイル内の絶対バイト位置を記録します。

xref
0 6
0000000000 65535 f
0000000017 00000 n
0000000089 00000 n
0000000172 00000 n
0000000299 00000 n
0000000453 00000 n

これがPDFがランダムアクセス可能である理由です。ビューアはxrefを読み、オブジェクト3のバイトオフセットに直接ジャンプして、残りのファイルを解析せずにそのページをレンダリングできます。これが、ソースファイルが500ページでも、単一章のPDFが即座に開く理由です。

4. トレーラー

最後のセクション。パーサーにxrefの場所とルートオブジェクトがどれかを伝えます。

trailer
<< /Size 6 /Root 1 0 R /Info 7 0 R >>
startxref
1893
%%EOF

startxref の値はxrefテーブルのバイトオフセットです。%%EOF マーカーはファイルの実際の終了を示します。トレーラーはインクリメンタルアップデートを可能にします:新しいxrefとトレーラーを末尾に追加することで、ファイル全体を書き直さずにオブジェクトを追加できます。


6つのコンテンツレイヤー

ボディ内では、コンテンツは6種類のレイヤータイプに格納されています。レンダリングされたすべてのPDFページは、これらのレイヤーの複合体です。

1. テキスト

テキスト文字列ではなく、グリフの位置コマンドとフォント参照です。PDFは、「文字Aをここに描画する」のではなく、「フォントF3のグリフ42を位置(120, 540)に描画する」といった指示を格納します。これがテキストが選択可能で検索可能である理由です。ビューアは、ToUnicodeマッピング(またはCJKフォントの場合はCMap)を介してグリフIDをUnicodeコードポイントに逆マッピングします。

テキストに ToUnicode マッピングがない場合、「選択可能なテキストがコピーするとゴミになるPDF」という古典的な問題が発生します。テキストは表示されますが、グリフからUnicodeへのマッピングが破損しているか、存在しない状態です。

2. 画像

いくつかの形式の埋め込みストリームとして格納されます。

  • JPEG (DCTDecodeフィルター):写真、最も一般的
  • JPEG2000 (JPXDecode):圧縮率が高い、あまり一般的ではない
  • PNG相当 (FlateDecode + Predictor):スクリーンショット、線画
  • CCITT Group 4 (CCITTFaxDecode):白黒スキャンテキスト、アーカイブスキャンで使用
  • JBIG2 (JBIG2Decode):バイレベル画像、OCR処理されたドキュメントで一般的

画像は、他のコンテンツに影響を与えることなく、ダウンサンプリング、再圧縮、または置き換えが可能です。

3. フォント

完全なフォントプログラム、サブセット(使用されたグリフのみを含む)、または名前で参照(ビューアのシステムにインストールされている必要がある)として埋め込まれます。サブセット化がデフォルトであり、ファイルサイズを劇的に削減します。サポートされるフォント形式:Type1、TrueType、OpenType、CIDFont(CJK用)。

フォントが参照されているが埋め込まれておらず、ビューアのシステムにインストールされていない場合、ビューアは類似のフォントに置き換えます。これは通常、見た目が悪くなります。PDF/Aは、これを防ぐためにすべてのフォントの埋め込みを要求します。

4. 注釈

ハイライト、コメント、リンク、スタンプ、透かし、フォームフィールドはすべて注釈です。これらはページコンテンツの上にレイヤー化され、元のページを変更せずに、追加、編集、または削除できます。

フォームフィールドは特別なケースです。インタラクティブなウィジェット注釈(表示部分)とフィールド辞書(データ部分)で構成されます。フォームに記入して保存する場合、フィールド辞書のみが変更され、ページ自体は変更されません。

5. ベクトルグラフィックス

PostScriptライクな演算子(moveto、lineto、curveto)で描画された線、形状、曲線、パス。品質を損なうことなく無限にスケールします。PDF内のほとんどのCADエクスポート、チャート、図はベクトルグラフィックスです。

6. デジタル署名

ファイルのバイト範囲に紐付けられたPKIベースの署名。署名辞書は、「バイト0から12,547、および14,200からファイルの終わりまでが署名されている」と指定します。中央の小さな範囲は、署名値自体のために予約されています。署名されたバイト範囲へのいかなる変更も署名を無効にし、PDFが署名後の改ざんを検出する方法です。

一部のPDFには複数の署名があり、インクリメンタルアップデートとしてレイヤー化されています。各署名者は、受け取った時点のファイルに署名し、チェーンを維持します。


メタデータ:2つの並列システム

PDFには、しばしば矛盾する2つのメタデータシステムがあります。

標準 /Info辞書

トレーラーに格納されます。フィールド:Title、Author、Subject、Keywords、Creator(ドキュメントを作成したアプリ)、Producer(PDFを生成したアプリ)、CreationDate、ModDate。プレーンテキスト文字列で、どのPDFツールでも簡単に読み取れます。

XMPメタデータストリーム

別のXMLストリーム(Adobe XMP、RDF/XMLベース)で、よりリッチなスキーマをサポートします:Dublin Core、IPTC、カスタムドメイン固有スキーマ(カラープロファイル、著作権登録、原稿バージョン管理)。

最新のPDFジェネレーターは両方に書き込みます。古いPDFには /Info のみがあります。一部のPDFには、以前のバージョンからの古い /Info と、最近の編集による正確なXMP(またはその逆)があります。コンプライアンスまたはフォレンジックのためにPDFを監査する場合、両方を確認してください。


PDF上に構築されたISO規格

ベースとなるPDF仕様はISO 32000です。いくつかの派生規格が、特定のユースケースのためにPDFを制約しています。

標準 使用目的 制約
PDF/A 長期アーカイブ すべてのフォント埋め込み、JavaScriptなし、オーディオ/ビデオなし、デバイスに依存しないカラースペース。準拠レベル:PDF/A-1、A-2、A-3(ファイル添付可能)
PDF/X 印刷制作 CMYKカラー、フォントとカラープロファイルの埋め込み、透明度なし(PDF/X-1a)または制御された透明度(PDF/X-4)
PDF/UA アクセシビリティ タグ付き構造ツリー、言語メタデータ、画像の代替テキスト、論理的な読み取り順序
PDF/E エンジニアリング 3Dモデル(U3D、PRC形式)、CAD固有メタデータ
PDF/VT 変数トランザクション印刷 大量パーソナライズドメール用に最適化

PDFは複数の標準に同時に準拠できます。PDF/A-2u(Unicodeマッピング付きアーカイブ)とPDF/UA(アクセシビリティ)の組み合わせは、政府および法律アーカイブで一般的です。


リニアライズドPDF(Web最適化)

「リニアライズド」または「Web最適化」されたPDFは、ボディを並べ替えて、最初のページのオブジェクトがファイルの前の方に表示されるようにします。Webビューアは、ファイル全体を待つ代わりに、最初の約50KBをダウンロードしただけでページ1をレンダリングできます。トレーラーは先頭に複製され、各ページの開始位置を示すヒントテーブルが追加されます。

ほとんどの最新のPDFジェネレーターは、リニアライズを「Web用に保存」オプションとしてサポートしています。この形式は、低速接続での高速な初回ページレンダリングと引き換えに、ファイルサイズを2〜5%増加させます。


暗号化と権限

PDFはパスワード(または証明書)で暗号化でき、印刷、テキストコピー、変更、フォーム記入、アクセシビリティ抽出などの詳細な権限を付与できます。暗号化はトレーラーの /Encrypt 辞書に格納されます。

暗号化の強度は進化してきました:RC4 40ビット(初期のPDF、今日では簡単にクラックされる)、RC4 128ビット(まだ弱い)、AES-128、AES-256。オリジナルのAcrobat 5 RC4実装は2001年に公開クラックされました。最新のPDF暗号化(AES-256、PDF 2.0)は、強力なパスワードで使用されれば安全です。

注意:「権限」は助言的なものです。それらを尊重するビューアはそれらを強制します。それらを無視するビューア(または暗号化を削除するツール)はそうしません。


PDFSubによるPDFの読み取り方法

PDFSubは、RustのPDFiumバインディング(ChromiumのPDFビューアを支えるエンジンと同じ)と、スキャンされたドキュメント用のPaddleOCRを使用してPDFを処理します。完全なアーキテクチャの詳細とクラウドベースツールとの比較については、ブラウザ対クラウドPDFセキュリティを参照してください。

上記で説明した構造を維持しながらPDFを他の形式に変換するには:

  • PDFからExcelへ - テキストとテーブルを抽出し、座標を保持します
  • OCR PDF - スキャンされたPDFに検索可能なテキストレイヤーを追加します
  • PDFからWordへ - テキストを編集可能な段落に再フローします
  • PDF圧縮 - 画像をダウンサンプリングし、フォントをサブセット化します

特にアーカイブワークフローについては、PDFをPDF/Aに変換する方法を参照してください。


さらに読む

  • ISO 32000-2 (PDF 2.0仕様) - 正式な参照資料、有料
  • Adobe PDFリファレンスアーカイブ - PDF 1.7の無料リファレンス
  • PDF Association - 業界ワーキンググループ、無料記事と準拠テストファイル

PDF固有のトピックについては:弁護士向けPDFコンプライアンスガイド、PDF/A変換ガイド。

ブログに戻る

ご質問は? お問い合わせ

PDFSub

必要なすべてのPDFおよびドキュメントツールを1か所に。高速、安全、プライベート。

GDPR準拠CCPA準拠SOC 2対応
PDFSub Engine搭載

PDFツール

  • PDFを結合
  • PDFを分割
  • ページを並べ替え
  • 1枚あたりのページ数
  • PDFビューア
  • ページを抽出
  • 画像を抽出
  • 画像を置換
  • PDFを回転
  • ページを削除
  • 透かしを追加
  • PDFを編集
  • PDFにスタンプ
  • PDFフォーム入力
  • ページをトリミング
  • ページサイズを変更
  • ページ番号を追加
  • ヘッダーとフッター
  • PDFを圧縮
  • 検索可能にする
  • Clean Scanned PDF
  • Photo to Document
  • Auto-Crop PDF
  • PDFを修復
  • メタデータを編集
  • メタデータを削除
  • PDFからWordへ
  • WordからPDFへ
  • PDF to Excel
  • ExcelからPDFへ
  • PDFからPowerPointへ
  • PowerPointからPDFへ
  • HTMLからPDFへ
  • HTML to Text
  • HTML to Markdown
  • PDFからHTMLへ
  • EPUBからPDFへ
  • PDFからEPUBへ
  • テキストからPDFへ
  • RTFからPDFへ
  • PDFからRTFへ
  • PDFからテキストへ
  • ODTからPDFへ
  • PDFからODTへ
  • ODSからPDFへ
  • PDFからODSへ
  • ODPからPDFへ
  • PDFからODPへ
  • PDF/A変換
  • PDFを作成
  • 一括変換
  • PDFから画像へ
  • 画像からPDFへ
  • PDFからPNGへ
  • PNGからPDFへ
  • HTML to PNG
  • HTML to JPEG
  • HTML to WEBP
  • SVGからPDFへ
  • PDFからSVGへ
  • TIFFからPDFへ
  • WEBPからPDFへ
  • HEICから画像へ
  • WEBPからJPGへ
  • WEBPからPNGへ
  • Image Converter
  • ODGからPDFへ
  • パスワード保護
  • PDFのロック解除
  • PDFを編集(機密情報削除)
  • PDFに電子署名
  • Share Document
  • PDFを比較
  • テーブルを抽出
  • 銀行明細書コンバーター
  • 請求書抽出ツール
  • レシートスキャナー
  • 財務レポート
  • OCR - テキスト抽出
  • 手書き変換
  • PDFを要約
  • PDFを翻訳
  • PDFとチャット
  • データを抽出
  • デザインスタジオ

製品

  • 全ツール
  • 機能
  • 銀行取引明細
  • API
  • 料金
  • よくある質問
  • ブログ

サポート

  • 会社概要
  • ヘルプセンター
  • お問い合わせ
  • よくある質問

法務

  • プライバシーポリシー
  • 利用規約
  • クッキーポリシー

© 2026 PDFSub. 全著作権所有。

アメリカ製 世界中の人々のために