PDFバージョンの違いと互換性問題の解決法
PDFバージョンの違いと互換性問題の解決法
「PDFが開けない」「レイアウトが崩れる」といった問題の多くは、PDFバージョンの違いが原因です。この記事では、各バージョンの特徴と対処法を解説します。
PDFバージョンの歴史
主要バージョンと機能
バージョン | リリース年 | 主な新機能 |
---|---|---|
PDF 1.3 | 2000 | 日本語フォント埋め込み |
PDF 1.4 | 2001 | 透明効果、レイヤー |
PDF 1.5 | 2003 | 圧縮改善、オブジェクトストリーム |
PDF 1.6 | 2004 | 3Dコンテンツ、PKI署名 |
PDF 1.7 | 2006 | ISO標準化、XFAフォーム |
PDF 2.0 | 2017 | 256ビット暗号化、改善されたアクセシビリティ |
バージョン確認方法
Adobe Acrobatでの確認
- ファイル → プロパティ
- 「概要」タブ
- 「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
ブラウザでの表示問題
各ブラウザの対応状況
ブラウザ | 対応バージョン | 制限事項 |
---|---|---|
Chrome | PDF 1.7まで | XFAフォーム非対応 |
Firefox | PDF 1.7まで | 3Dコンテンツ非対応 |
Safari | PDF 1.7まで | 一部のフォーム非対応 |
Edge | PDF 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ビューアー推奨
- 複雑なフォームは要注意
互換性チェックツール
無料ツール
-
PDF Checker(オンライン)
- バージョン確認
- エラーチェック
- 修復提案
-
qpdf
qpdf --check document.pdf
有料ツール
- Adobe Preflight
- callas pdfToolbox
- Enfocus PitStop
ベストプラクティス
配布用PDFの作成
-
PDF 1.4〜1.6を使用
- 最も互換性が高い
- 必要十分な機能
-
フォント埋め込み
- すべてのフォントを埋め込む
- サブセット化で容量削減
-
画像の最適化
- 適切な解像度(画面用72-150dpi)
- JPEG圧縮使用
トラブル予防策
□ PDFバージョンを確認
□ フォント埋め込みチェック
□ 複数環境でテスト
□ フォールバック用意
まとめ
PDFバージョンの違いを理解することで、多くの互換性問題を予防・解決できます。配布先の環境を考慮して、適切なバージョンとオプションを選択しましょう。
PDFの加工ならPDF余白カッターもご利用ください。