PDFバージョンの違いと互換性問題の解決法

PDF互換性トラブルシューティング

PDFバージョンの違いと互換性問題の解決法

「PDFが開けない」「レイアウトが崩れる」といった問題の多くは、PDFバージョンの違いが原因です。この記事では、各バージョンの特徴と対処法を解説します。

PDFバージョンの歴史

主要バージョンと機能

バージョンリリース年主な新機能
PDF 1.32000日本語フォント埋め込み
PDF 1.42001透明効果、レイヤー
PDF 1.52003圧縮改善、オブジェクトストリーム
PDF 1.620043Dコンテンツ、PKI署名
PDF 1.72006ISO標準化、XFAフォーム
PDF 2.02017256ビット暗号化、改善されたアクセシビリティ

バージョン確認方法

Adobe Acrobatでの確認

  1. ファイル → プロパティ
  2. 「概要」タブ
  3. 「PDFのバージョン」を確認

コマンドラインでの確認

# pdfinfo(Poppler-utils)
pdfinfo document.pdf | grep "PDF version"

# exiftool
exiftool -PDFVersion document.pdf

プログラムでの確認

import PyPDF2

with open('document.pdf', 'rb') as file:
    reader = PyPDF2.PdfFileReader(file)
    version = reader.getDocumentInfo()
    print(f"PDF Version: {reader.pdf_header}")

互換性問題と解決策

問題1:古いビューアーで開けない

原因: 新しいバージョンの機能使用 解決策:

# GhostscriptでPDF 1.4に変換
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -o output.pdf input.pdf

問題2:透明効果が表示されない

原因: PDF 1.3以前では透明未対応 解決策:

  • フラット化(透明を画像に変換)
  • PDF 1.4以上に変換

問題3:フォントが表示されない

原因: フォント埋め込みなし 解決策:

# フォント埋め込み
gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dPDFSETTINGS=/prepress -sOutputFile=embedded.pdf input.pdf

PDF/A:長期保存用PDF

PDF/Aとは

  • ISO標準の長期保存フォーマット
  • すべてのフォント埋め込み必須
  • 外部参照禁止
  • JavaScript禁止

PDF/Aへの変換

# LibreOfficeでの変換
libreoffice --headless --convert-to pdf:"writer_pdf_Export:SelectPdfVersion=1" --outdir . input.docx

ブラウザでの表示問題

各ブラウザの対応状況

ブラウザ対応バージョン制限事項
ChromePDF 1.7までXFAフォーム非対応
FirefoxPDF 1.7まで3Dコンテンツ非対応
SafariPDF 1.7まで一部のフォーム非対応
EdgePDF 2.0対応最も高い互換性

ブラウザ表示の最適化

<!-- PDFの埋め込み -->
<object data="document.pdf" type="application/pdf" width="100%" height="600px">
  <p>PDFが表示できない場合は<a href="document.pdf">こちら</a>からダウンロード</p>
</object>

モバイルデバイスでの互換性

iOS/iPadOS

  • Safari内蔵ビューアー使用
  • PDF 1.7まで対応
  • インタラクティブ要素は制限

Android

  • デバイスにより異なる
  • Google PDFビューアー推奨
  • 複雑なフォームは要注意

互換性チェックツール

無料ツール

  1. PDF Checker(オンライン)

    • バージョン確認
    • エラーチェック
    • 修復提案
  2. qpdf

    qpdf --check document.pdf
    

有料ツール

  • Adobe Preflight
  • callas pdfToolbox
  • Enfocus PitStop

ベストプラクティス

配布用PDFの作成

  1. PDF 1.4〜1.6を使用

    • 最も互換性が高い
    • 必要十分な機能
  2. フォント埋め込み

    • すべてのフォントを埋め込む
    • サブセット化で容量削減
  3. 画像の最適化

    • 適切な解像度(画面用72-150dpi)
    • JPEG圧縮使用

トラブル予防策

□ PDFバージョンを確認
□ フォント埋め込みチェック
□ 複数環境でテスト
□ フォールバック用意

まとめ

PDFバージョンの違いを理解することで、多くの互換性問題を予防・解決できます。配布先の環境を考慮して、適切なバージョンとオプションを選択しましょう。

PDFの加工ならPDF余白カッターもご利用ください。