PDFに解像度を設定できますか?

更新日:

このページの目的

次のようなご質問をいただきました。

ページの中にイラストとして画像ファイルを含むPDFを作成しています。
使っている画像の解像度に400dpi、600dpiといった複数の種類がある時、PDF全体の解像度はどうなるのでしょうか?
あるいはページ毎に含まれる画像によって、解像度がページ毎に変わるのでしょうか?
PDFのDPIは、画像ファイルの解像度に左右されるのか?

PDFを出力するときにPDF自体の解像度を設定できるのでしょうか。また、画像の解像度はどうなるのでしょうか。ここではPDFにおける解像度について考えてみます。

解像度とは

解像度という言葉は、いくつかの意味合いで使われています(参考資料)。

例えば、デジタルカメラで撮影した写真はピクセル(画素)を格子状に並べた集まりで表現されています。スキャナーでスキャンしたデジタル画像も同様です。こうした画像をビットマップ画像(またはラスター画像、イメージ画像ということも)と呼ばれます。

ビットマップ画像の大きさは「解像度が横600ピクセル×縦400ピクセル」のように表現します。このように表現するときの解像度はピクセルの数です。ただし、ビットマップ画像のピクセルはデジタルの世界における論理単位であり、物理的な寸法をもっていません。

つまり、横600ピクセル×縦400ピクセルのビットマップ画像より、横1200ピクセル×縦800ピクセルのビットマップ画像の方が「印刷したときに大きい」とは言えません。

解像度と大きさの関係

ピクセルの密度としての解像度も使われます。この意味での解像度の単位はdpi(ドット・パー・インチ:インチあたりのドット数)が多く使われています。デジタル機器の解像度としてppi(ピクセル・パー・インチ)も良く使われますが、ここではドットとピクセルを区別しないで使います。

画像を作成するアプリケーションには画像にdpiを設定できるものがあります。例えば、横600ピクセル×縦400ピクセルの画像ファイルを600dpiで印刷すれば、画像は1インチの幅に配置されます。横1200ピクセル×縦800ピクセルのビットマップ画像を600dpiで印刷すれば画像は2インチの幅になります。画像にdpiを指定すると画像を印刷したときの大きさが決まります。

このように解像度はビットマップ画像において、ピクセル数という論理的な大きさや印刷したときの物理的な大きさを表す数値です。

デジタルアプリケーションとPDFの文書

現在、文書を編集するアプリケーションにはMicrosoft Officeをはじめとしてさまざまな種類があります。アプリケーションで作成したデジタル文書を構成するデータを大きく分けますと、ビットマップ画像のほかに、テキスト(文字)、線画(ベクター画像)があります。

デジタル文書では文字をアウトラインフォントで表します。アウトラインフォントは、簡単に言えば、文字の輪郭曲線と曲線で囲った領域の塗り潰しといった描画命令で文字の字形を表現したものです。線画の例は、Microsoft Office の図形挿入で作成した図形です。線画は開始点・終了点と直線で結ぶとか、中心座標と半径を指定して円を描くとかいう描画命令で表します。

このように、文字や線画はピクセルを配置するものではありませんので、解像度という概念を適用できません。

PDF文書でも、一般のデジタル文書と同じように文字や線画はページの上に図形を描画する命令として保存されています。そこで、PDF文書全体に対しては解像度という概念は適用されません。

一方、PDF文書のページに埋め込まれているビットマップ画像はピクセルで表現されています。PDF文書中の各ビットマップ画像には横と縦のピクセル数という意味での解像度が適用されます。

線画(ベクター画像)とビットマップ画像

ビットマップ画像のレイアウト

PDFは物理的な紙をデジタルで表現していますので、物理的な寸法をもっています。PDF文書の各ページは紙のページと同じように、A4、B5といった印刷用紙のサイズを設定します。例えば、A4ではページの大きさは、縦297mm、横210mmです。

それではビットマップ画像の印刷レイアウトはどうなるでしょうか。ページ上にビットマップ画像を配置するとき、その配置領域を決める方法には次の3通りがあります。

  1. 版面上で画像を収める領域の範囲(印刷時の大きさ)を指定して、その領域にピッタリ入るようにビットマップ画像を拡大・縮小して配置する。
  2. ビットマップ画像を作成したアプリケーションが設定した解像度を使って版面に配置する。
  3. 印刷時のdpi値を指定して、ビットマップ画像を配置(アプリケーションが設定した解像度は無視)する。

例として、横2400×縦1200ピクセルで、アプリケーションで作成した時に400dpiを設定しているビットマップ画像を版面上に配置するとして考えてみます。以下では主に横幅がどうなるかで説明します。縦横比を変えないように拡大縮小するとき、ビットマップ画像の配置後の高さは横幅から計算で決まります。

  • ① ビットマップ画像を版面上で幅100mmになるように配置するとします。このとき100mm幅に2,400ピクセルが配置されます。この画像の解像度は版面上では次のようになります。

    2400ピクセル/(100mm/25.4(mm/インチ))=609ピクセル/インチ

  • ② この画像を作成アプリケーションが設定した値である400dpiの状態を保ってPDFに配置するときには、この画像の版面上の幅は次のように計算されます。

    2400ピクセル/(400ピクセル/インチ)×(25.4mm/インチ)=152.4mm

  • ③ この画像を600dpiで印刷したいときには、画像の配置領域の幅は次のようになります。

    2400ピクセル/(600ピクセル/インチ)×(25.4mm/インチ)=101.6mm

このように、ビットマップ画像を表示・印刷するときの見かけ上の大きさは、ビットマップ画像自体の解像度に関わらず、PDFの版面上での印刷レイアウトの指定の仕方によって自由に設定できます。

こうした設定を自由自在にできるPDF作成ツールは数少ないですが、例えば、アンテナハウスの製品、『Formatter』 でビットマップ画像をPDF文書の版面に配置するときは、上の①~③のいずれの指定も自由自在にできます。詳しくは以下の関連情報から、『Formatter』の製品ページをご参照ください。

(参考) 『Formatter 』オンラインマニュアル axf:image-resolution / CSS (-ah-)image-resolution
(参考) 『XSL-FO の基礎 第2版』13–1–1 画像エリアの大きさ

関連情報