[[Vorlage(Getestet,focal, )]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Terminal: Ein Terminal öffnen] [:Editor: Einen Editor öffnen] [:sudo: Root-Rechte erlangen] [:Paketinstallation_DEB: Ein einzelnes Paket installieren] optional }}} [[Inhaltsverzeichnis(1)]] [[Bild(Wiki/Icons/Oxygen/pdf.png, 48, align=left)]] [[Bild(./pdf-cubs4.png, 250, align=right)]] [https://www.cups-pdf.de/ CUPS-PDF] {en} ist ein Backend für den Druckdienst [:CUPS:]. Es handelt sich um ein Programm mit einer langen Tradition: bis einschließlich [:Hardy:Ubuntu 8.04] war es standardmäßig vorinstalliert und wurde genutzt, um Dokumente programmunabhängig im [:PDF:]-Format drucken zu können. Ab [:Intrepid:Ubuntu 8.10] wurde es durch die Funktion '''gtkprint''' abgelöst, das zumindest bei [:GTK:]-basierenden Anwendungen eine Postscript- bzw. PDF-Datei direkt erzeugen kann. Dazu wird im Dialog ''"Drucken"'' der virtuelle Drucker ''"In Datei drucken"'' ausgewählt und das Ausgabeformat sowie der Name der Datei angegeben. Inzwischen enthält auch KDE eine entsprechende Funktion. Möchte man in wirklich allen Programmen PDF-Dateien erzeugen, bietet sich dennoch die zusätzliche Einrichtung von CUPS-PDF an. Im Gegensatz zu gtkprint steht CUPS-PDF auch in Java- und mittels Wine ausgeführten Windows-Anwendungen zur Verfügung. Es kann auch als virtueller Drucker in einem papierlosen Netzwerk genutzt werden, wenn man CUPS erlaubt, die lokal vorhandenen Drucker anderen Clients zur Verfügung zu stellen. = Installation = [[Bild(Wiki/Icons/synaptic.png, 48, align=right)]] Es muss das folgende Paket installiert werden [1]: {{{#!vorlage Paketinstallation printer-driver-cups-pdf, universe }}} = Verwendung = Bei der Installation wird automatisch ein neuer Drucker mit dem Namen ''"PDF-Drucker"'' angelegt. Zur Kontrolle und Konfiguration dienen je nach Desktop-Oberfläche unterschiedliche Werkzeuge: * Unity, GNOME 3: [:GNOME_Druckerkonfiguration:] * MATE, LXDE, Xfce: [:GNOME_Druckerkonfiguration#Alte-Druckerkonfiguration:system-config-printer] * KDE: [:KDE_Druckerkonfiguration:] Auch im Browser kann CUPS-PDF verwaltet werden. Dazu gibt man die Internet-Adresse (URL) `http://localhost:631/printers/` in die Adresszeile des Browsers ein. Nun werden alle installierten Drucker anzeigt. Die Voreinstellungen sind in der Regel korrekt gesetzt. Kontrollieren sollte man dennoch das Papierformat (DIN A4) und bei Bedarf den DPI-Wert. In den meisten Fällen reicht eine Auflösung von 300 oder 600 dpi aus. Dokumente werden in einem konfigurierbaren Verzeichnis gespeichert: früher per Vorgabe unter '''~/PDF/''', ab Ubuntu 10.10 direkt im [:Homeverzeichnis:]. = Konfiguration = [[Bild(Wiki/Icons/settings.png, 48, align=right)]] Nach jeder manuellen Änderung der Konfiguration muss CUPS neu gestartet werden: {{{#!vorlage Befehl sudo service cups restart }}} == Umbenennen des Druckers == Ein Ändern des Standardnamens ''"PDF-Drucker"'' ist nicht bei jeder Ubuntu-Variante ohne Weiteres möglich. Dann muss die Datei '''/etc/cups/printers.conf''' in einem Editor mit Root-Rechten [3] bearbeitet werden. Hier sucht man den Eintrag {{{ }}} wobei `Name` durch den den aktuellen Druckernamen ersetzt werden muss. Dieser Name kann dann einfach ersetzt werden. Es dürfen aber keine Leerzeichen im Namen vorkommen. Alternativ kann die CUPS-Weboberfläche unter `http://localhost:631/printers/` genutzt werden. == Ändern des Speicherorts == Wer den Ausgabeordner ändern möchte, muss die Datei '''/etc/cups/cups-pdf.conf''' in einem Editor mit Root-Rechten bearbeiten. Hier sucht man die Zeile mit {{{ Out ${HOME}/PDF }}} und ändert den Ausgabeordner (statt PDF) wie gewünscht ab. Da CUPS durch [:AppArmor:] überwacht wird, ist noch ein zusätzlicher Eingriff erforderlich. Dazu die Datei '''/etc/apparmor.d/usr.sbin.cupsd''' in einem Editor mit Root-Rechten bearbeiten und in den Zeilen: {{{ @{HOME}/PDF/ rw, @{HOME}/PDF/* rw, }}} ebenfalls den gewünschten Ausgabeordner zweimal (statt PDF) anpassen. Anschließend müssen AppArmor und CUPS neu gestartet werden: {{{#!vorlage Befehl sudo service apparmor restart sudo service cups restart }}} == Überschreiben verhindern == Speziell bei Internetseiten kann es passieren, dass erstellte PDF-Dokumente immer wieder überschrieben werden. Hintergrund dieses Problems ist, dass als Dateiname von CUPS-PDF automatisch der Seitentitel benutzt wird. Wenn dieser nicht individuell gesetzt ist, wird eine bereits bestehende Datei mit dem gleichen Namen überschrieben. Um das zu verhindern, wird die Datei '''/etc/cups/cups-pdf.conf''' mit Root-Rechten editiert und der folgende Eintrag wie folgt abgeändert: {{{ ### Key: Label ## label all jobs with a unique job-id in order to avoid overwriting old ## files in case new ones with identical names are created; always true for ## untitled documents ## 0: label untitled documents only ## 1: label all documents with a preceeding "job_#-" ## 2: label all documents with a tailing "-job_#" (version > 2.5 only) ### Default: 0 Label 1 }}} Auch nach dieser Änderung muss CUPS neu gestartet werden. Damit wird in Zukunft jede erstellte PDF-Datei eindeutig benannt (nummeriert) und ein versehentliches Überschreiben verhindert. = Problemhebung = == Schwierigkeiten mit Apparmor == Wenn CUPS-PDF Probleme bereitet: > "... apparmor="DENIED" operation="mknod" parent=16861 profile="/usr/lib/cups/backend/cups-pdf" ..." so hilft eine Ergänzung in '''/etc/apparmor.d/usr.sbin.cupsd''': {{{ capability mknod, }}} Anschließend wie oben beschrieben CUPS und AppArmor neu starten. == PDF/A-Erstellung == Möchte man das Ausgabeformat auf [wikipedia:PDF/A:] (konkret PDF/A-1b) umstellen, editiert man die Datei '''/etc/cups/cups-pdf.conf''' mit Root-Rechten und passt folgende Zeile an (die entscheidende Änderung ist gelb markiert): {{{ GSCall %s -q [mark]-dPDFA[/mark] -dCompatibilityLevel=%s -dNOPAUSE -dBATCH -dSAFER -sDEVICE=pdfwrite -sOutputFile="%s" -dAutoRotatePages=/PageByPage -dAutoFilterColorImages=false -dColorImageFilter=/FlateEncode -dPDFSETTINGS=/prepress -c .setpdfwrite -f %s }}} Falls die Zeile mit einem `#` beginnt, dieses entfernen, um die Änderung zu aktivieren. Für eine Erläuterung der Parameter siehe [:Ghostscript:]. = Links = * [https://www.cups-pdf.de/ Projektseite] {en} * [:Druckwerkzeuge:] {Übersicht} Programmübersicht * [:Drucker:] {Übersicht} Übersicht zum Thema # tag: System, Hardware, Büro, Drucker