Der PDF-Standard definiert verschiedene Informationen über die Größe des zu druckenden Dokuments. Diese werden als `MediaBox`, `CropBox`, `BleedBox`, `TrimBox` und `ArtBox` bezeichnet. Es handelt sich dabei jedoch nicht um Boxen im TeX-Sinn, sondern lediglich um Informationen über rechteckige Bereiche. In der PDF-Datei sind diese dann als Seitenattribute, beispielsweise `/MediaBox [L U R O]`, angegeben. Statt `L`, `U`, `R` und `O` sind natürlich Zahlenwerte zu finden. `L` und `U` geben dabei die linke untere Ecke an, `R` und `O` die rechte obere. Alle Werte sind in Punkt. Bei TeX entspricht dies `bp` = 1/72".
**Die `MediaBox`** muss in jedem Dokument angegeben werden. Sie ist als Druckbogengröße zu betrachten. Eigentlich ist es so gedacht, dass damit festgelegt ist, auf Papier welcher Größe eine einzelne Seite zu drucken ist. In diesem Bereich sind auch Schnittmarken etc. enthalten. `L` und `U` sind bei der `MediaBox` üblicherweise 0. Eigentlich sollte kein Objekt im PDF außerhalb der `MediaBox` liegen. Selbst das ist allerdings leider nicht ausgeschlossen. Man sieht hier deutlich, dass es sich bei den Angaben lediglich um Informationen handelt.
**Die `CropBox`** bestimmt, was alles gedruckt/angezeigt werden soll. Tatsächlich beschränken auch die meisten PDF-Viewer die Anzeige auf diesen Bereich. Alles, was außerhalb der `CropBox` liegt soll beim Druck entfernt werden. Ist die `CropBox`, wie bei LaTeX üblich, nicht gesetzt, so erhält sie dieselbe Größe wie die `MediaBox`. Leider ist schwer vorauszusagen, was ein Druckertreiber macht, wenn `CropBox` angegeben ist. Bei Tests vor einigen Jahren zeigte sich bei mir, dass eine `CropBox` mit `U` und `L` > 0 tatsächlich zu Änderungen beim Druck führten, während `R`- und `O`-Angaben, die kleiner als die `MediaBox`-Angaben waren, nur dazu führten, dass Teile, die außerhalb lagen, nicht gedruckt wurden. Man kann die `CropBox` recht einfach per `hyperref`'s Option `pdfpagescrop` setzen:
\documentclass[a4paper]{article}
\usepackage[
pdfpagescrop={50 50 450 800}
]{hyperref}
\usepackage[grid,gridcolor=red]{eso-pic}
\usepackage{printlen}
\uselengthunit{mm}
\begin{document}
\AddToShipoutPictureFG{%
\AtPageCenter{\makebox(0,0)[c]{Steht eigentlich in der Mitte des Blatts.}}%
}
Beschnitt: \begin{tabular}[t]{lr}
links & \printlength{\dimexpr 50bp\relax}\\
unten & \printlength{\dimexpr 50bp\relax}\\
rechts & \printlength{\dimexpr \paperwidth-450bp\relax}\\
oben & \printlength{\dimexpr \paperheight-800bp\relax}
\end{tabular}
\end{document}
Angezeigt wird das bei mir in der Form:
[![ge-cropt][1]][1]
also bereits nicht mehr als A4-Seite. Außerdem wird in den Dokumenteigenschaften als Seitengröße `141 × 265 mm` angezeigt. Das kann bei anderen PDF-Viewern aber anders sein. Bei Analyse des PDFs findet man übrigens, in dem Beispiel als Seitenattribute `/MediaBox [0 0 595.276 841.89]` und `/CropBox[50 50 450 800]`.
In der Regel wird das Setzen einer `CropBox` nicht nur dazu führen, dass der Druckertreiber unabhängig von den Einstellungen ggf. nicht auf die Idee kommt, die Seite zu verkleinern. Leider kann die Angabe auch (wie bei mir) dazu führen, dass die Ränder im Ausdruck nicht mehr korrekt sind.
**Die `BleedBox`** ist der sogenannte Anschnittrahmen. Beim Druck gibt es Objekte, die sehr dicht am Rand stehen, aufgrund von Drucktoleranzen immer über den Rand hinaus ragen sollen. Man spricht von *randabfallendem Material*, das in den *Anschnitt* ragt. Üblich sind im Buchdruck Anschnittränder von 3–6 mm. Streng genommen sollte alles, was später ganz oder teilweise zu sehen sein soll, innerhalb der `BleedBox` liegen. Lediglich Schnittmarken und andere, rein drucktechnische Informationen wie Farbbalken dürfen außerhalb der `BleedBox` liegen. Ist wie bei LaTeX keine `BleedBox` angegeben, so entspricht sie der `CropBox` bzw. – falls auch keine `CropBox` angegeben ist – der `MediaBox`. Leider gibt es keine Einfache Möglichkeit, die BleedBox zu setzen. Hier muss also etwas in die LowLevel-Trickkiste gegriffen werden:
% Bitte PDFLaTeX verwenden!
\documentclass[a4paper]{article}
\usepackage[grid,gridcolor=red]{eso-pic}
\usepackage{printlen}
\uselengthunit{mm}
\pdfcompresslevel 0
\begin{document}
\pdfpagesattr{%
/BleedBox [8.504 8.504 586.772 833.386]%
}
\AddToShipoutPictureFG{%
\AtPageCenter{\makebox(0,0)[c]{Steht eigentlich in der Mitte des Blatts.}}%
\AtPageLowerLeft{\color{blue}\thicklines%
\put(3mm,3mm){\line(1,0){204mm}}%
\put(207mm,3mm){\line(0,1){291mm}}%
\put(207mm,294mm){\line(-1,0){204mm}}%
\put(3mm,294mm){\line(0,-1){291mm}}%
\put(8.504bp,8.504bp){\line(1,0){\dimexpr 586.772bp-8.504bp\relax}}%
\put(587.772bp,8.504bp){\line(0,1){\dimexpr 833.386bp-8.504bp\relax}}%
\put(587.77bp,833.386bp){\line(-1,0){\dimexpr 586.772bp-8.504bp\relax}}%
\put(8.504bp,833.386bp){\line(0,-1){\dimexpr 833.386bp-8.504bp\relax}}%
}%
}
Anschnitt: links, unten, rechts, oben 3\,mm
\end{document}
Die blaue Linie repräsentiert die `BleedBox`. Angezeigt wird bei mir in diesem Fall die komplette Seite. Ob der Druckertreiber bereits jetzt die Seite beim Drucken nicht verkleinert, falls die unbedruckbaren Ränder kleiner als 3 mm sind, hängt vom Druckertreiber ab.
**Die `TrimBox`** schließlich ist der Bereich ohne den Anschnitt. Das ist letztlich das, was nach Drucken, Binden und Schneiden am Ende heraus kommt. Es ist AFAIK nicht 100% festgelegt, wie der Drucker dies auswertet. Beispielsweise kann er die Information lediglich dafür verwenden, um das Endformat des Werks festzulegen. Genauso wenig ist explizit festgelegt, dass beim Fehlen dieser Angabe automatisch die `BleedBox` resp. die `CropBox` resp. die `MediaBox` als `TrimBox` verwendet wird. Setzen kann man sie wie im Beispiel der `BleedBox`. Es ist lediglich `/BleedBox` durch `/TrimBox` zu ersetzen.
**Die `ArtBox`** wäre streng genommen ebenfalls interessant. Sie gibt an, welcher Teil der Seite tatsächlich mit Objekten gefüllt ist. Leider kann keine TeX-Engine dies derzeit automatisch bestimmen. Theoretisch könnte man aber mit mehreren TeX-Läufen arbeiten, um vergleichbar zu `pdfcrop` für jede Seite diesen Bereich mit Hilfe von `ghostscript` zu ermitteln und dann für jede einzelne Seite per `\pdfpageattr` (nicht zu verwechseln mit dem oben verwendeten `\pdfpagesattr`!) einen korrekten Wert einzusetzen. Die Attributangabe ist bei `\pdfpageattr` identisch mit der bei `\pdfpagesattr`.
`\pdfpagesattr`. Eine passende `ArtBox` wäre vor allem dann interessant, wenn Seiten in andere PDF-Dokumente eingebunden werden sollen. Man könnte die `ArtBox` dann für einen automatischen Beschnitt verwenden.
Ob eine passende Box-Information und welche tatsächlich die gewünschte Wirkung hat, dass unabhängig von den Randinformationen des Druckertreibers und unabhängig von den Druckertreibereinstellungen keine automatische Verkleinerung der Seite mehr stattfindet, hängt natürlich sowohl von den konkreten Randinformationen des Druckertreibers als auch dem PDF-Viewer/Printer ab. Außerdem muss man natürlich dann auch selbst sicherstellen, dass dabei keine eigentlich zu druckenden Informationen außerhalb der entsprechenden Box-Angabe liegen. Ich selbst gehe für die Aufbereitung von Druckvorlagen daher den umgekehrten Weg. Ich erstelle Dokumente in kleinerem Format, mit Rändern entsprechend der `TrimBox` oder sogar der `ArtBox` und platziere die Seiten dann auf einer größeren Druckvorlage. Dabei wird für jede Seite einzelne `TrimBox` und `BleedBox` gesetzt. Einzeln deshalb, weil der Bundsteg je nach linke rund rechter Seite mal rechts mal links liegt und die von KOMA-Script bekannte Bindekorrektur damit in unterschiedlichen `BleedBox`-Angaben für gerade und ungerade Seiten resultiert.
Kennt man die Bedingungen beim Druck nicht, kann man am Ende in der Tat sehr viel Aufwand treiben, ohne sicher sein zu können, das gewünschte Ziel zu erreichen. Kennt man die Bedingungen beim Druck, wie es normalerweise bei der Zusammenarbeit mit einer Druckerei der Fall sein sollte, kann sich der Aufwand lohnen. Vielen Druckereien ist es allerdings lieber, sie erhalten (digitale) Druckvorlagen mit optischen Schnittmarken. Wie damit abhängig von der eingesetzten Technik umzugehen ist, weiß jeder gelernte Drucker, der etwas auf sich hält.
[1]: https://texwelt.de/upfiles/test_20201208_102911.png