Hallo,

manche Empfänger meiner PDF-Briefe (Format DIN A4) beklagen sich, sie könnten sie nicht ordentlich ausdrucken. Wenn ich dann den Ausdruck auf einer DIN-A4-Seite zu Gesicht bekomme, ist der bedruckte Bereich drastisch verkleinert worden.

Im PDF-viewer auf dem Bildschirm ist eine normale Seite mit dem von mir eingestellten Rand abgebildet. Beim Drucken kommen aber teilweise riesige Ränder dazu und der Inhalt wird verkleinert. Es ist also alles abgedruckt, aber statt einer 12 pt Schrift sind es vielleicht noch 8 pt. Bildschirmansicht und Druckausgabe unterscheiden sich deswegen teilweise sehr deutlich voneinander.

Ein Minimalbeispiel:

\documentclass[paper=a4]{scrartcl}

\begin{document}
Text

\begin{tabular}{l}
  Huhu
\end{tabular}

Text
\end{document}

Wenn ich die PDF-Seite mit Adobe Acrobat Reader DC (aktuell v 20) ausdrucke und darauf achte, dass im Druckdialog das Feld »Tatsächliche Größe« ausgewählt ist, druckt AR die Seite so wie gewollt.

Wenn ich aber auswähle »Übergroße Seiten verkleinern« fügt AR einen Rand von mindestens ein paar Millimetern hinzu. Leider ist diese Option die Voreinstellung.

Bei anderen PDV-viewern ist das ähnlich. Da kommen dann Warnhinweise wie

Einige Seiten können nicht komplett gedruckt werden, weil Teile außerhalb des druckbaren Bereichs liegen.

Weshalb erscheinen den PDF-viewern die von LaTeX (pdfLaTeX, LuaLaTeX) erstellten Seiten als »übergroß«, obwohl schlichtweg DIN A4 als Seitengröße ausgewählt wurde? Kann ich etwas ändern daran?

Die Sache ist für mich wichtig, weil manche Empfänger ihre Druckstraßen so eingestellt haben, dass der Befehl \pdfcatalog{/ViewerPreferences<</PrintScaling/None>>} ignoriert wird und die Seiten trotzdem verkleinert ausgedruckt werden. Ich schreibe, um gelesen zu werden und darf es meinen Lesern nicht mit zu kleiner Type schwer machen.

UPDATE 1 vom 7.11.2020: Wäre es möglich, dass PDF-viewer, angefangen bei Adobe Acrobat, nicht erkennen können, ob bei einer definierten Seitegröße (also DIN A4) der bedruckte Bereich in den für eine Drucker aus technischen Gründen unbedruckbaren Rand hineinreicht?

Ich habe bei einer Reihe von PDFs, auch solchen, die von anderen Programmen erstellt worden sind, nachgesehen und bemerke überall, dass der Ausdruck auf Papier unterschiedlich ausfällt, je nachdem, ob man die Option »Ausdruck in Originalgröße« oder »Ausdruck skalieren« (oder »an Druckereinstellungen anpassen« oder so ähnlich) einstellt. Für mich ergibt sich der Schluss, dass für die PDF Viewer nicht erkennbar ist, ob es einen unbedruckten Rand gibt.

Einschränkung: Ich habe im wesentlichen PDF-XChange Viewer verwendet, weil der vor dem Ausdruck ein preview anzeigt mit den markierten Rändern vom Druckertreiber. Ab und zu habe ich einen Ausdruck mit Adobe Acrobat (aktueller Reader und altes Acrobat Standard) gemacht und bin auch damit immer auf das geschilderte Problem gestossen.

UPDATE 2 vom 10.12.2020

Dank der beiden Antworten und der Kommentare ist mir klar geworden, dass man ohne eine Kooperation mit den Empfängern der PDFs nicht weiterkommen wird. Die für mich einschlägigen Vorschriften (siehe u.a. hier: https://www.gesetze-im-internet.de/ervv/ § 5, dazu die "ERVB") legen es nahe, den PDF/A-1 oder PDF/A-2 Standard einzuhalten. VeraPDF spuckt im Moment noch Fehlermeldungen aus bei meinen PDFs. Der Grund dafür könnte u.a. darin liegen, dass Schriftarten im Briefkopf Farbanteile haben und ein Logo eingebunden wird.

Dann werde ich testen, ob der Ausdruck davon abhängen könnte, dass ein PDF (angeblich) den Standard einhält. Im Ergebnis könnte es jedenfalls darauf hinauslaufen, dass ich meine Schrift etwas größer setze (und die Ränder etwas schmäler?), um die möglicherweise unvermeidliche Verkleinerung beim Ausdruck auszugleichen.

gefragt 04 Dez '20, 11:17

Keks%20Dose's gravatar image

Keks Dose
20138
Akzeptiert-Rate: 0%

bearbeitet 10 Dez '20, 11:57

Es ist immer schwer zu diagnostizieren, warum Programme bei anderen Mist bauen. Es nützt ja auch nicht viel, wenn ich dir empfehle, eine BleedBox oder TrimBox oder ArtBox zu setzen. Du kannst ja nicht testen, ob das dann bei allen korrekt gedruckt wird.

paper=a4 ist übrigens die Voreinstellung bei scrartcl/typearea.

(04 Dez '20, 13:13) saputello

@saputello Ich kann testen, denn wenn keine Warnung beim Ausdruck kommt, wie geschildert, dann wäre dies ein deutlicher Hinweis. Mit den Boxen meinst du, den gesamten Seiteninhalt in eine Box zu stecken?

(07 Dez '20, 08:42) Keks Dose

Wenn du meine Links in meinem obigen Kommentar nicht ignorierst, erfährst du, was ich mit BleedBox, TrimBox und ArtBox meine. Natürlich sollten die entsprechen kleiner als die üblicherweise von (PDF/Lua/Xe)LaTeX gesetzte MediaBox (vergleichbar mit der BoundingBox bei PostScript) sein, es sollte aber auch nicht darüber hinaus geschrieben werden.

(07 Dez '20, 10:07) saputello

@saputello Klar habe ich Deine Links angesehen. Aber ich kenne mich mit den technischen Einzelheiten von Boxen und PDFs nicht aus. Das scheint eine längere Beschäftigung zu werden, alleine die Funktion von Boxen in PDFs herauszufinden.

(07 Dez '20, 11:02) Keks Dose

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

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(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 bzw. zusätzlich zur /BleedBox eine weitere Zeile anzugeben:

\pdfpagesattr{%
  /BleedBox [8.504 8.504 586.772 833.386]^^J% muss <= CropBox <= MediaBox (= Papierformat) sein
  /TrimBox [8.504 8.504 586.772 833.386]% muss <= BleedBox <= CropBox <= MediaBox sein
}

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. 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. Das gilt umso mehr, wenn man schon weiß, dass /PrintScaling nicht berücksichtigt wird. Übrigens kann man auch die Einstellung einfach mit hyperref per

\usepackage[pdfprintscaling=None]{hyperref}

entsprechend setzen.

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.

Permanenter link

beantwortet 08 Dez '20, 11:16

Ijon%20Tichy's gravatar image

Ijon Tichy
10.3k31430
Akzeptiert-Rate: 52%

bearbeitet 09 Dez '20, 09:15

@Ijon-Tichy Vielen Dank erstmal. Die Cropbox ändert nichts am Ausdruck, der wird immer noch verkleinert wenn man z.B. in Okular die Option »Auf druckbaren Bereich anpassen« aktiviert. Das passiert auch bei einem Dokument mit riesigem Rand. Von jemand, der das umgekehrte Problem hatte, habe ich hier einen Thread gefunden: https://stackoverflow.com/questions/64900577/pdfbox-2-0-how-can-i-scale-large-page-sizes-to-letter Vielleicht liegt das Problem darin, dass die Druckertreiber ohne Sinn und Verstand eine Datei immer links oben bei den Koordinaten 0 0 auf's Papier klatschen.

(08 Dez '20, 17:18) Keks Dose

@Ijon Es wäre möglich, dass sich Windows und Linux unterscheiden. Unter Windows bleiben mit einer CropBox offenbar die Warnmeldungen aus, aber trotzdem verkleinert irgendeine Instanz die Seite.

(08 Dez '20, 18:06) Keks Dose

@Keks Dose Ich würde eher darauf tippen, dass die Angabe einer passenden BleedBox oder einer TrimBox etwas bringt. Aber das ist auch nur ins Blaue geraten. Wie ich schon geschrieben habe: 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. Das beste ist schlicht, derjenige, der das Ding ausdruckt, lernt, wie seine Software funktioniert.

(08 Dez '20, 18:40) Ijon Tichy

@Ijon Sämtliche Gerichte von Deutschland stellen auf die Korrespondenz per PDF um, drucken aber für eine Übergangszeit, wie viele Jahre auch immer, alles aus. Dazu haben viele Gerichte größere Druckstrassen in Betrieb genommen, aber ich wüßte nicht, dass die Bundesländer oder der Bund da irgendwelche Normen hätten, wie man mit den hereinkommenden PDFs umgeht. Für mich sieht es so aus, als sei die Maxime »alles verkleinern, damit kein Buchstabe verloren gehen kann«. Dass das niemand mehr lesen kann, ist leider eine völlig unbeabsichtigte Nebenfolge. Ach ja, ich bin Anwalt...

(08 Dez '20, 18:47) Keks Dose

@Keks Dose Deutsche Behörden und Digitalisierung, passt leider in etwa so gut, wie die Sahara mit einem Tesla im Auto-Pilot-Modus zu durchqueren. Und als Anwalt weißt du ja sicher: «Auf hoher See und vor Gericht ist man in Gottes Hand.«

(08 Dez '20, 19:13) saputello

Du brauchst nicht \pdfcatalog verwenden, du kannst mit einer hyperref Option die Einstellung "Tatsächliche Größe" im Druckdialog vorgeben:

\documentclass{article}
\usepackage{hyperref}
\hypersetup{pdfprintscaling=None}
\begin{document}
abc
\end{document}

Abgesehen davon: Wenn Empfänger das explizit abstellen, dann kannst du nicht viel machen, außer eine Papiergröße grundsätzlich kleiner als A4 zu produzieren.

Permanenter link

beantwortet 08 Dez '20, 20:18

Ulrike%20Fischer's gravatar image

Ulrike Fischer
3.5k23
Akzeptiert-Rate: 50%

bearbeitet 08 Dez '20, 20:21

Darauf habe ich in meiner Antwort bereits hingewiesen. Wobei das eben auch nur funktioniert, wenn es von der PDF-Verarbeitung dann beachtet wird. Der Fragesteller schreibt ja, dass \pdfcatalog{/ViewerPreferences<</PrintScaling/None>>} nicht beachtet wird.

(08 Dez '20, 20:22) Ijon Tichy

@IjonTichy Tatsächlich ganz am Ende steht pdfprintscaling ;-). Ich habe die Antwort zwar überflogen, aber nur die Beispiele wirklich angeschaut.

(08 Dez '20, 21:01) Ulrike Fischer

@Ulrike Papiergröße kleiner DIN A4: Das habe ich auch ausprobiert. Aber wenn der Druckertreiber die kleinere Seite nicht zentriert, sondern bei 0 0 oben links abdruckt, dann wird die kleine Seite leider abermals verkleinert, weil sie ja noch immer einen Berührungspunkt mit dem Rand hat. Das ist irgendwie alles ziemlich absurd. Ich glaube, ich mache es anders: ich drucke eine besonders große Schrift in breiten Zeilen mit besonders wenig Rand, um gelesen zu werden...

(08 Dez '20, 22:29) Keks Dose

@Keks Dose Ich würde mir als erstes einmal so ein ausgedrucktes Dokument schnappen und nachmessen um wieviel die ganzen Rändern größer wurden. Darauf aufbauend würde ich es dann einmal mit einer entsprechenden BleedBox und TrimBox versuchen. Wenn das nicht hilft, würde ich Papierformat und Ränder entsprechend verkleinern. Wenn das dann auch nicht hilft, machen die beim Ausdruck etwas, was keiner nachvollziehen kann. Natürlich muss man gleichzeitig sicherstellen, dass man wirklich nichts (wichtiges) außerhalb der BleedBox setzt. Also beispielsweise \marginparwidth ggf. anpassen!

(09 Dez '20, 09:09) Ijon Tichy
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×5
×1

gestellte Frage: 04 Dez '20, 11:17

Frage wurde gesehen: 721 Mal

zuletzt geändert: 10 Dez '20, 11:57