アプリケーションから PDF (またはその他の形式) を印刷する場合、いくつかのサブシステムが関与します。アプリケーション (Adobe Reader など) は、OS のグラフィック サブシステム (Windows の GDI など) を呼び出します。次に、OS はこれらの呼び出しをプリンター ドライバーに渡します。プリンター ドライバーは、これらの呼び出し (線の描画、パスの塗りつぶしなど) を、選択したプリンターが理解できる命令に変換します。これらの命令は、ページ記述言語または PDLと呼ばれます。PDL の例は、PostScript と PCL です。アプリケーションが独自のプリンター ドライバーを配布する必要がなくなるため、この抽象化は適切です。欠点は、グラフィック サブシステムの API と PDL の両方が、グラフィックのリッチさに制限を課すことです。
透明度は、PDF に存在する典型的な機能ですが、PostScript では限定的にしか利用できません。同じ視覚的結果を得るために、フィーチャは近似されます。Max Wyss が指摘するように、透過性の場合、これは平坦化と呼ばれます。
ところで、アプリケーション (Adobe Acrobat など) は、OS とドライバーをバイパスして、PDL 自体を生成することを選択する場合があります。これをパススルー印刷と呼ぶ。これにより、グラフィック サブシステムの制限が回避されますが、出力は引き続きプリンターの PDL にバインドされます。