関連するアンテナハウスウェビナー動画
よく使うPDFをより扱いやすく! PDF Tool APIの新機能を利用したPDFのクオリティアップ
- 日時:2021年9月21日(火) 16:00〜16:45
- 概要:PDF Tool APIは、PDFの加工や編集を行うライブラリです。利用用途に合わせてPDFを編集する際に役立つV7.0の新機能、強化された機能を紹介します。
- YouTube動画:(リンクをクリックすると、別タブで動画ページが開きます)
更新日: 2020/1/10
PDFではページの大きさがどのように設定されるでしょうか。ページの大きさや表示する領域を変えるにはどうしたら良いでしょうか。ページ内のヘッダーやフッターのような領域、文字・図形の位置をどのように表現しているでしょうか? また商業印刷に使うときには、PDFにトンボを設定しますが、このトンボとPDFのページサイズの設定との関係について簡単にまとめてみました。
PDF文書は紙に印刷するための情報をデジタルで表現したものです。紙は平面ですので、同じようにPDF文書も平面が基本であり、PDF文書のページ上の文字や図形などの位置は、2次元(平面)座標系で数学的に表現します。なお、PDF 1.6から3次元(立体)座標系も使えるようになっていますが、ここでは2次元座標系についてのみ説明します。
PDFの座標系では、左から右に伸びる水平(x)座標軸と下から上に伸びる垂直(y)座標軸を使い、点の位置を(x, y)のように2つの値で表現します。四角形は左下(ll)と右上(ur)の頂点の座標値を使って[llx lly urx ury]のように表現します。
長さの単位は、デフォルトで1/72インチ=1ポイントです。この単位で表した座標系をデフォルトユーザー空間といいます。なお、座標系の単位を変更することもできます。以下ではデフォルトユーザー空間のことをユーザー空間と略記します。
PDFファイル内では1ページ毎にページオブジェクトという辞書を作成してページの基本情報を管理します。ページの大きさなどの情報は、ページオブジェクト辞書に境界ボックスとして登録します。境界ボックスには次の5種類があり、いずれもユーザー空間上の四角形として設定します。このようにページの大きさはページ単位に変更できます。
ページ境界 | 説明 |
---|---|
MediaBox | 必須です。PDF を印刷する媒体(紙・フィルム・画面など)の物理的な境界です。最も外側の領域であり、内側にできあがりの判型の周囲にとられる裁ち落とし領域やトンボなども含みます。MediaBoxの外側に文字や図形を記述できますが、仮に記述しても無視されます。 |
CropBox | オプションでデフォルト値はMediaBox です。出力媒体の上でPDFの内容を表示する領域を設定します。つまり、CropBoxの領域が表示・印刷され、CropBoxの領域の外側に配置される文字や図形は表示されません。通常はMediaBoxと同じ値としますが、別の値を自由に設定できます。 |
BleedBox | オプションで、デフォルト値はCropBox です。画像など仕上がり面より外側にはみ出して印刷し、裁ち切りとして仕上げるために必要な幅を確保した領域です。通常は TrimBox の3mm外側になります。 |
TrimBox | オプションで、デフォルト値は CropBox です。製造時の仕上がりサイズを指定します。 |
ArtBox | オプションです。DTP ソフトなどのアプリケーションで出力するもので、TrimBox の内部でページの意味のある内容を囲む領域とされています。 |
通常の書類のように、PDF をプリンターで出力して最終成果物にするときは、MediaBox、CropBox、TrimBox、BleedBox は一致します(図)。
しかし、PDF を印刷用のフィルムに出力する場合は、MediaBox がフィルムの境界に相当し、BleedBoxは塗り足し、TrimBox が印刷してから周囲を切り落としたページのサイズになります。プリントオンデマンドで本を製作するときは、BleedBoxやTrimBoxの設定が必要になることがあります。
次に印刷用PDFの典型的な境界ボックス設定例を示します。仕上がりをB5サイズとし、その周囲にトンボを配置、さらにその外側に媒体の境界を設定しています。各境界ボックスの頂点の位置を表に示します。原点はMediaBoxの左下で寸法単位はmmです。TrimBoxの幅が182mm、高さが257mmでB5サイズになります。
MediaBox | CropBox | BleedBox | TrimBox | |
---|---|---|---|---|
top | 285 | 285 | 274 | 271 |
bottom | 0 | 0 | 11 | 14 |
left | 0 | 0 | 11 | 14 |
right | 210 | 210 | 199 | 196 |
次の図の左側は、上の表に示した設定をしたPDFのページを表示したところです。右側は各境界ボックスの位置を図示しています。
上のPDFではCropBoxの頂点の位置をMediaBoxと同じ位置に設定しています。そこでトンボが見えています。ここでCropBoxの頂点の位置をTrimBoxの頂点の位置と同じ値に設定すると次の図のようにトンボが見えなくなります。但し、トンボは見えなくなっただけで、PDFにはトンボが描画された状態であることに注意してください。
CropBoxの変更によるクリッピングについては、別記事「PDFページのトリミングとカット/コピー&ペースト」で解説していますので、ご参照ください。
アンテナハウスの「PDF Tool API」を使えばこのような設定変更は簡単にできます。詳細は『PDF CookBook』をご覧ください。
PDFのユーザー空間はx軸とy軸の方向に広がる無限に広い空間です。原点の位置をどこに設定するかは規定されていません。PostScriptはMediaBoxやCropBoxの左下角がユーザー空間の原点(0,0)ですが、PDFではMediaBoxやCropBoxの左下角が原点(0,0)になるとは限らないとされています。ユーザーは原点の位置を自由に設定できますので、それに対応してMediaBoxやCropBoxの左下角のユーザー空間における座標値が変化します。MediaBoxやCropBoxの左下角のユーザー空間における座標値から逆算で原点の位置が判明するということもできます。
PDFのページの大きさを縮小したり、拡大することは簡単にできます。次の図では原本PDFのページサイズはA4です(①)。次に、それをA5に縮小しました。PDFの拡大・縮小では原点の位置は変化しません(②)。さらに、縮小したページの周囲に余白をつけてページのサイズを元に戻します。それには、図のようにMediaBoxとCropBoxの矩形を再設定すれば簡単にできます(③)。
アンテナハウスの『PDF Tool API』を使えば、PDFの拡大・縮小、境界ボックスの矩形座標の再設定ができます。詳細は、『PDF CookBook』第1巻 第1章 PDF 文書のページをご参照ください。
ページオブジェクトのrotateエントリーの値によってページの回転を示します。ページが回転していないとはrotateエントリーが存在しないかゼロ(デフォルト値)、回転しているとはrotate=90、180、270のときです。PDFの座標系は常にx軸は左右方向、y軸は上下方向として位置を表し、プリンタやビューアに出力するときにrotateの値によって回転します。
トンボは印刷機や断裁機にセットするための位置合わせにつかうマークです。トンボはPDFが登場する前から印刷業界で使われて来たもので、トンボを描く位置、トンボの形状、トンボの線の太さなとは印刷会社が決めているようです。
大雑把には、四隅に配置するコーナートンボ、中央に配置するセンタートンボがあります。
コーナートンボでは、仕上がり辺を示す内トンボ、塗り足し辺を示す外トンボの組み合わせが多く使われます。
PDF文書ではトンボは線で描画するマークですが、内トンボが示す辺の位置はTrimBoxの位置に、そして外トンボが示す辺の位置はBleedBoxの位置に一致していなければなりません。このように設定したTrimBox、BleedBoxのことをDTP業界の俗語でデジタルトンボということもあるようです。
トンボを出す場合は、MediaBoxはトンボの表示領域の十分外側に設定しなければなりません。なお、PDFの規定には、トンボ注釈という仕様がありますが、これはほとんど使われていないようです。