ページ記述言語(Page Description Language, PDL)は、
プリンターに対して印刷内容を指示するための
プログラミング言語です。これは、単なる
ビットマップ画像(ラスタグラフィックス)を送信するのではなく、より抽象的なレベルで印刷ページの見た目を記述します。このアプローチにより、コンピュータ上のソフトウェアは、
プリンターの具体的な仕様(速度、解像度、印刷可能領域など)を意識することなく、出力したいテキスト、図形、グラフィックスなどをコマンドとして
プリンターに送信できます。
プリンター側はこれらのコマンドを解釈し、実際の印刷ページを生成します。
PDLの役割と利点
PDLの主な役割は、アプリケーションが特定の
プリンターモデルに依存することなく、統一的な方法で印刷ジョブを記述できるようにすることです。これにより、以下のような利点が生まれます。
デバイス独立性: 異なるメーカーやモデルの
プリンターでも、同じPDLコマンドで印刷できます。
高解像度出力: ベクター形式で図形などを記述できるため、
プリンターの最大解像度で高品質な印刷が可能です。
複雑なレイアウト: テキスト、画像、図形などを組み合わせて、複雑なページレイアウトを実現できます。
効率的なデータ転送: ページ全体をビットマップで送るよりも、PDLのコマンドの方がデータ量が少なくて済みます。
PDLとプリンター制御言語
PDLと類似した用語として「
プリンター制御言語」がありますが、これには
ヒューレット・パッカードのPrinter Command Language (PCL)が含まれます。PCLは、主に
プリンターの機能を制御するための言語であり、PDLよりも低いレベルで
プリンターとやり取りを行う傾向があります。一方、
アドビの
PostScriptは、代表的なPDLの一つとして広く使用されています。
PDLの表現形式
PDLは、テキスト形式(人間が読める形式)またはバイナリデータストリーム形式で記述されます。これらのデータには、印刷されるテキストやグラフィックデータが混在しています。テキスト形式のPDLは、デバッグや手動での編集が容易ですが、ファイルサイズが大きくなる傾向があります。一方、バイナリ形式はファイルサイズが小さく、高速な処理が可能です。
PDLとグラフィックスAPI
PDLは、GDI(
Graphics Device Interface)や
OpenGLなどのグラフィックスAPIとは異なります。グラフィックスAPIは、ソフトウェアがグラフィック出力を生成するために呼び出すことができるインターフェースであり、PDLは
プリンターに印刷を指示するための言語です。グラフィックスAPIで描画された内容をPDLに変換し、
プリンターに送信することで印刷が可能になります。
PDLの例
PostScript: アドビが開発した、高度なグラフィック処理が可能なPDL。
PDF (Portable Document Format): PostScriptを基にした、文書交換用のファイル形式だが、印刷用PDLとしても利用される。
PCL (Printer Command Language): ヒューレット・パッカードが開発した、
プリンター制御を目的とした言語だが、印刷記述も含む。
XPS (XML Paper Specification): マイクロソフトが開発した、XMLベースの印刷記述言語。
関連する技術
ページ記述マークアップ言語: PDLを
マークアップ言語化したもの。XMLやHTMLなどの構文を使用し、構造化された方法で印刷内容を記述する。
ベクターグラフィックスマークアップ言語: SVG(Scalable Vector Graphics)など、ベクターグラフィックスを記述するための
マークアップ言語。PDLでベクターグラフィックスを扱う際に利用されることがある。
*
Printer Job Language (PJL): プリンターに印刷ジョブの制御や設定を行うための言語。PDLと一緒に利用されることが多い。
まとめ
ページ記述言語(PDL)は、コンピュータから
プリンターへの印刷指示を抽象化し、デバイス非依存の印刷環境を実現するための重要な技術です。
PostScript、PDF、PCLなどが代表的なPDLであり、それぞれの特徴を理解することで、より効率的で高品質な印刷が可能になります。