PDF文書 (.pdf)

ISO 標準

Portable Document Format(PDF)は、アプリケーションソフトウェア、ハードウェア、オペレーティングシステムに依存せず、一貫したドキュメント表示を実現するために設計された、広く普及したデジタル文書の標準です。

PDF を JPG に変換

無料のブラウザ内 PDF から JPG へのコンバーター。お使いのデバイスでファイルを即座に変換します。

PDFをオンラインで圧縮

プライベート - ファイルがデバイスの外に出ることはありません

調査とメタデータ

オペレーティングシステムやファイル解析ツールは、先頭のバイナリ列を検査してPDFファイルを識別します:

ファイルを選択するか、ここにドロップしてください

プライベート - ファイルがデバイスの外に出ることはありません

または貼り付け Ctrl+V
ネットワーク送信ゼロのプライバシー保証: 外部サーバーへのデータ送信は0バイトです。すべての処理はお使いのブラウザのサンドボックス内でローカルに実行されます。

バイトレベルのヘッダーシグネチャ (マジックバイト)

オペレーティングシステムやファイル解析ツールは、先頭のバイナリ列を検査してPDFファイルを識別します:

16進数シグネチャ(オフセット0):

25 50 44 46

ASCII表現: %PDF

標準化: ISO 32000-1 (2008) / ISO 32000-2 (2020)

技術仕様

コンテナアーキテクチャクロスリファレンステーブルを持つバイナリ/ASCIIハイブリッドオブジェクト階層
圧縮FlateDecode (Deflate)、DCTDecode (JPEG)、CCITT Fax、JBIG2、JPXDecode
バイトエンディアンバイナリオブジェクトストリーム用のビッグエンディアン(ネットワークバイトオーダー)
色空間sRGB, Display P3, DeviceCMYK, グレースケール, 特色(パントン)
チャンネルと構造マルチレイヤーベクター、タイポグラフィ、ラスターストリーム、埋め込みメタデータ
最大寸法200 x 200インチ(UserUnitによりPDF 1.6以降では最大15,000,000インチまで許可)
透過性完全なアルファ透明度、ブレンドモード、不透明度マスク
ストリーミングとプログレッシブリニアライズドPDF(「ファストウェブビュー」)によりHTTP Rangeリクエストを介したバイトレンジストリーミングが可能

技術比較表:PDFと競合製品

技術属性PDF (現在)DOCXEPUBHTML5
視覚的レイアウトの忠実度レイアウトの保持に役立ちますが、描画結果はビューアーや出力機器によって異なります。フローベース:Wordのバージョンやインストールされているフォントによって異なりますリフロー可能なリーダーレイアウト:固定されたタイポグラフィの保証はありません流動的なCSSボックスモデル:画面に依存したレンダリング
自己完結性フォントや画像を埋め込めますが、内容は文書や作成時の設定によって異なります自己完結型XMLコンテナ(通常、システムフォントは埋め込まれません)自己完結型ZIPコンテナ(パッケージ化されたXHTML/CSSアセット)MHTMLなどを介してパッケージ化されない限り、外部のHTTPリソースが必要です
暗号署名ISO仕様に組み込まれたネイティブなPAdESおよびX.509暗号署名Office XML DSigデジタル署名をサポートカスタムデジタルコンテナ署名が必要Web Crypto APIまたは外部のTLSトランスポート保証が必要
モバイルレスポンシブ対応固定ページキャンバス(小型画面ではズームとパンが必要)優れたレスポンシブテキストリフロー流動的なモバイル電子書籍閲覧向けに特別に設計CSSメディアクエリによるネイティブなレスポンシブレイアウト
標準化オープン国際標準(ISO 32000-2:2020)ECMA-376 / ISO/IEC 29500W3C / IDPFオープン標準W3Cリビングスタンダード / WHATWG

一般的な破損モードと16進数リカバリガイド

AcrobatまたはPDFビューアーが「ファイルが破損しており、修復できませんでした」と報告するか、完全に白紙の状態で開きます。

根本原因: ASCIIモードでのFTPまたはHTTP転送により、バイナリのバイトシーケンスが変換され(0x0Aが0x0D 0x0Aに置換された)、クロスリファレンス(xref)テーブルのバイトオフセットが破損しました。

復旧: 最新のPDF修復ユーティリティ(例:qpdf --repairまたはFile2File.app修復)を使用してファイルを線形に再スキャンし、オブジェクト辞書を再構築して、新しいxrefテーブルを再生成します。

PDFビューアーがドキュメントの読み込みに失敗するか、最終ページでクラッシュします。

根本原因: 「%%EOF」マーカーとトレーラー辞書が欠落している、ダウンロードの途切れまたは不完全なディスク書き込み。

復旧: 「tail -c 128 document.pdf」を使用してファイルの末尾を検査します。%%EOFが欠落している場合は、ルートカタログオブジェクトが存在するかどうかを確認し、有効な最大オブジェクト番号を指す人工的なxrefテーブルを追加します。

埋め込みフォントが判読不能な記号、空のブロック(.notdef)、または疑問符としてレンダリングされます。

根本原因: 閲覧しているマシンに存在しないシステムフォントを参照している非埋め込みサブセットフォント、または破損したToUnicode CMapテーブル。

復旧: Ghostscript(gs -o fixed.pdf -sDEVICE=pdfwrite -dEmbedAllFonts=true broken.pdf)を使用して不足しているフォントサブセットを再埋め込みするか、テキスト要素をベクター曲線に変換します。

セキュリティ分析とパーサー攻撃ベクトル

PDFはアクティブスクリプト、埋め込みファイル、圧縮オブジェクトストリームなどの機能をサポートしており、リーダーは安全に解析して処理する必要があります。ブラウザーのPDFビューアーは、文書処理を隔離するためにサンドボックスを使う場合があります。

既知の攻撃ベクター

  • ドキュメントを開いたときに任意のコードやフィッシングエクスプロイトを実行する埋め込みAcrobat JavaScript(JS API)。
  • 外部システムバイナリやシェルスクリプトを実行するように構成された起動アクション(/Launch)。
  • レガシーなType 1およびTrueTypeフォントの解析エンジンにおけるフォントレンダリングの脆弱性により、バッファオーバーフローを引き起こします。
  • 悪意のあるURIアクション(/URI)またはフォーム送信を介した、サーバーサイドリクエストフォージェリ(SSRF)およびNTLMハッシュ資格情報の窃盗。

防御的ベストプラクティス: Adobe AcrobatのJavaScript実行が有効な状態で、信頼できないPDFを決して開かないでください。Web閲覧の場合は、常にブラウザーのサンドボックス化されたWebAssembly/PDF.jsエンジンでレンダリングするか、信頼できないPDFをサニタイズされたPDF/A-1bドキュメントに変換してください。

歴史的背景とマイルストーン

2020ISO 32000-2:2020がリリースされ、現代のPDF 2.0の機能拡張が正式に策定されました。
2008AdobeがPDF仕様を国際標準化機構にISO 32000-1として移管しました。
1993Adobe AcrobatとともにPDF 1.0が発表され、テキスト、リンク、フォントがサポートされました。
1991Dr. John Warnockが、デジタルドキュメントのポータビリティの課題を解決するためにAdobeでキャメロット・プロジェクトを開始しました。

主なメリット

  • 異なるシステム間でページレイアウトを保つよう設計されていますが、フォント、ビューアー、印刷設定によって表示が異なることがあります。
  • デジタル暗号署名、墨消しアノテーション、DRMアクセス権限をサポートします。
  • ベクター画像、フォント、圧縮ラスターのストリームを含められますが、フォントなどのリソースが常に埋め込まれるわけではありません。

技術的な制限とデメリット

  • 固定レイアウトのページキャンバスにより、画面の小さいスマートフォンでの自動的な画面幅に応じたリフローが困難になります。
  • 複雑な内部オブジェクトストリーム階層により、コンパクト化や未参照オブジェクトの削除を行わないとファイルサイズが肥大化する可能性があります。
  • 埋め込みJavaScriptおよび動的な起動アクション機能により、攻撃対象領域が拡大します。

興味深い技術トリビア

  • オリジナルのキャメロット・プロジェクトの論文では、あらゆるアプリケーションからあらゆるディスプレイへ電子的にドキュメントを直接印刷することが構想されていました。
  • すべてのPDFファイルは、ファイルの終わりを示すトレーラーである正確な文字列「%%EOF」で終了します。
  • 裁判所や公文書館の中には、保存ワークフローでPDF/Aを指定するところがあります。要件は管轄区域や機関によって異なります。

よくある技術的な質問

PDFのページが異なる画面やプリンターで似た見た目になるのはなぜですか?

PDFはページ内容を固定座標で保存するため、レイアウトを保ちやすくなります。ただし、フォント、ビューアー、色管理、プリンター設定によって表示が異なることがあります。

標準PDFとPDF/Aの違いは何ですか?

PDF/A(ISO 19005)は、長期保存用に設計された特殊なサブセットです。JavaScript、外部フォントリンク、暗号化、音声/動画の埋め込み、デバイス依存の色空間など、将来の可読性を損なう可能性のある機能を厳しく禁止しています。すべてのフォントとカラープロファイルを100%埋め込む必要があります。

現代のドキュメントにおけるPDFの圧縮はどのように機能しますか?

PDFは、コンテンツタイプに合わせた複数の個別の圧縮フィルターを使用します。テキスト、ベクターコマンド、フォントメトリックは、FlateDecode(zlib/deflate)を使用して圧縮されます。写真画像にはDCTDecode(JPEG)またはJPXDecode(JPEG 2000)が使用され、2値のモノクロスキャンテキストにはJBIG2またはCCITT Fax Group 4圧縮が使用されます。

ページや画像を削除した後でも、PDFファイルのサイズが大きいままになるのはなぜですか?

PDFを修正する際、多くのエディターは「インクリメンタルアップデート」を実行します。これは、古いオブジェクトを削除せずに新しいオブジェクトストリームと新しいxrefファイルをファイルの末尾に追加し、素早い元に戻す操作を可能にするものです。実際にファイルサイズを縮小するには、未参照オブジェクトをガベージコレクションする最適化パスをドキュメントに実行する必要があります。

関連するPDF変換ペア

PDF~JPG

PDFの各ページをJPG画像にして、投稿したり、チャットで送ったり、スライドに挿入したりできます。ページは150 dpiでレンダリングされ、複数ページのPDFは、ページごとに1枚のJPGをまとめたZIPになります。

PDF~PNG

PDFの各ページを、テキスト、表、図を鮮明に表示できるロスレスPNG画像として保存できます。ページは150 dpiでレンダリングされ、複数ページのPDFからは、ページごとに1枚のPNGを含むZIPが作成されます。

PNG~PDF

PNGのスクリーンショットや図を、ピクセルと透明度を保ったまま1ページのPDFとして共有できます。PDFページは固定画像であり、編集可能なPNGファイルではありません。

JPG~PDF

JPEG写真を1ページのPDFにして、レビューや印刷に利用できます。元の画像データは埋め込まれますが、PDFには写真編集機能はありません。

WEBP~PDF

文書や承認レビュー用に、WebP画像から1ページのPDFを作成します。ブラウザーが画像として描画するため、WebPデータやアニメーションは保持されません。

SVG~PDF

SVGのロゴやイラストを1ページのPDFとして共有できます。拡大縮小可能なパスは解像度が固定された画像になるため、拡大してもベクターの細部は復元できません。

HEIC~PDF

静止画のHEIC写真を、共有やフォームへの添付に使える1ページのPDFに変換します。ページには8-bit画像データが使われ、HEICシーケンスやHDRのソースデータは含まれません。

AVIF~PDF

キャンペーンの確認用に、AVIF形式のWeb画像をPDFの1ページに配置します。標準的なキャンバス画像として描画されるため、AVIFの符号化方式やHDRの補助データは失われます。