ubuntuusers.de

Windows .ppd Datei in CUPS nutzen

Achtung!

Die Verwendung dieses Howto geschieht auf eigene Gefahr. Bei Problemen mit der Anleitung melde dies bitte in der dazugehörigen Diskussion und wende dich zusätzlich an den Verfasser des Howtos.

Hinweis:

Diese Howto-Anleitung wurde zuletzt von Didi1357 am 16.01.2020 unter Ubuntu 20.04.1 erfolgreich getestet.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Problembeschreibung

Moderne Drucker (vor allem Geräte mit Netzwerkanschluss/Laser) verstehen meist auch in PostScript ("Marketingbezeichungen": PS2, PS3) übermittelte Druckdaten. Solche Geräte kann man, sofern eine .ppd-Datei verfügbar ist, auf jeden Fall problemlos unter Linux betreiben. Man muss die .ppd bei der Druckereinrichtung in CUPS oder dem jeweiligen GUI-Assistenten der Distribution bereitstellen.

Die .ppd ist keine Binärdatei. Sie ist eine für den Menschen lesbare Textdatei die nur die Funktionen des Druckers beschreibt und wird von CUPS verarbeitet.

Manche Hersteller stellen solche .ppd-Dateien nur für Windows-Systeme bereit. Diese kann man relativ einfach für Linux portieren.

Man sollte vor eventuellen Portiermaßnahmen immer erst probieren, ob die .ppd-Datei für CUPS nicht schon gültig ist.

Achtung!

Aus lizenzrechtlichen Gründen ist die Weitergabe von für Linux portierten .ppd-Dateien meist nicht erlaubt. Das Beschreiben dieser allgemeinen Vorgehensweise sollte aber niemanden stören und für sämtliche Drucker mit PostScript-Unterstützung funktionieren.

Anleitung

Beschaffen einer .ppd-Datei

Nicht immer findet man die .ppd-Datei auf den Herstellerseiten wo man sie vermutet. Z.B. beim Xerox WorkCentre 6515 wird vom Hersteller für Linux nur ein proprietärer Treiber für die PCL-Schnittstelle des Druckers bereitgestellt, der in einem kurzen Test vor einigen Jahren nicht funktionierte. Im Downloadbereich fand man für den Drucker allerdings eine .ppd für Windows 7. Diese war zwar im falschen Zeichensatz (ISO-8859-1 statt UTF-8 wie im Linux-Bereich üblich) sowie mit falschen Zeilenumbrüchen (CRLF statt wie im Linux-Bereich üblich nur LF), kann aber mit entsprechenden Tools leicht konvertiert werden.

Sollte die installierte CUPS-Version einige "Sections" der .ppd nicht verstehen, kann man sofern nicht genau dieses Feature benötigt wird, diese einfach rauslöschen.

Versuchen die vorliegende Codierung zu erraten

Eine Textdatei besitzt meist keine Informationen über die verwendete Codierung.

Es gibt allerdings Editoren welche versuchen die richtige Codierung aufgrund der im Text vorkommenden Zeichen zu erraten. Der Editor Atom errät zumindest die Zeilenumbrüche selbstständig. Geany hat in einem kurzen Test auch die ISO-8859-1 Codierung selbstständig richtig erkannt. Beide Editoren zeigen das Ergebnis in der Fußzeile an und editieren im gleichen Stil weiter.

Umwandeln der Kodierung der .ppd-Datei mit dem Terminal

Zum Umwandeln der Codierung kann man das Tool iconv aus dem Paket libc-bin verwenden:

  • libc-bin

Befehl zum Installieren der Pakete:

sudo apt-get install libc-bin 

Oder mit apturl installieren, Link: apt://libc-bin

Folgender Befehl kann zum Konvertieren verwendet werden:

iconv -f ISO-8859-1 -t UTF8 -o output.ppd input.ppd 

Umwandeln der Zeilenumbrüche mit dem Terminal

Zum Umwandeln der Zeilenumbrüche kann man das Tool dos2unix aus dem gleichnamigen Paket verwenden:

  • dos2unix

Befehl zum Installieren der Pakete:

sudo apt-get install dos2unix 

Oder mit apturl installieren, Link: apt://dos2unix

Folgender Befehl kann zum Konvertieren der Zeilenumbrüche verwendet werden:

dos2unix -n input.ppd output.ppd 

Umwandeln der .ppd-Datei mit der GUI

Dazu kann man beispielsweise den Texteditor geany verwenden:

  • geany

Befehl zum Installieren der Pakete:

sudo apt-get install geany 

Oder mit apturl installieren, Link: apt://geany

Beim Öffnen der Datei mit geany kann unter Weitere Optionen die zu verwendende Codierung festgelegt werden, falls der Algorithmus zur automatischen Erkennung fehlschlägt.

Danach kann man im Reiter Dokument änderungen an Kodierung und Zeilenumbrüchen vornehmen und die Datei danach wieder speichern.

Diese Revision wurde am 16. Januar 2021 18:08 von Didi1357 erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Howto