[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Mit Canondrucker aus Inkscape drucken?



Hallo Martin,
On 14.05.2013 07:12, Martin Klaiber wrote:
Hugo Wau<hugowau@gmx.net>  wrote:

Er druckt aus iceweasel, firefox und zum Beispiel Acrobat Reader
einwandfrei. Wenn ich aber aus evince und aus manchen
Grafikpraogrammen (weiss nicht mehr genau welche) drucken möchte,
zuckt er nur, druckt aber nicht auf Papier.
Ok, dann weißt Du also, dass der Drucker geht und dass das Netzwerk
geht. Jetzt musst Du rausfinden, ob er die Grafikdateien nicht drucken
kann, weil die Umwandlung der Grafikdateien in Daten, die der Drucker
versteht, nicht klappt, oder ob es an den Grafikprogrammen liegt.
Die gleiche PDF Datei, die Adobe Reader drucken kann, wird von Evince nicht erfolgreich auf Papier gedruckt.

Der Drucker selbst versteht nur seine eingebaute Sprache, das ist bei
echten Postscript-Druckern PS, meist aber eine herstellerspezifische
Sprache. Weit verbreitet ist PCL, das stammt ursprünglich von HP, ist
aber inzwischen eine Art Standard. Vermutlich gibt es inzwischen noch
anderes, habe mich seit Jahren damit nicht mehr beschäftigt.

Diese Umwandlung passiert traditionellerweise im sog. Druckerfilter.
Da steht drin, welche Programme für welche Umwandlung zuständig sind.
Im Prinzip so ähnlich wie auf der Kommandozeile, wenn man Daten durch
eine Pipe an ein anderes Programm weitergibt. Zum Schluss liegen die
Daten dann in der Regel als PS vor und werden von Ghostscript in PCL,
oder was auch immer, umgewandelt und an den Drucker geschickt. Bei
einem echten Postscript-Drucker würde der letzte Schritt entfallen.

Mal ein konkretes Beispiel (magicfilter) für einen LaserJet-4. Für
PDF steht da drin (immer nur eine Zeile, soll ja nur der Illustration
dienen):

    # PDF
    0 %PDF fpipe /usr/bin/pdftops $FILE -

PDF wird also mit pdftops in PS umgewandelt. Für PS steht dann drin:

    # PostScript
    0 %! filter /usr/bin/gs -q -dSAFER -dNOPAUSE -r600 -sDEVICE=ljet4 -sOutputFile=- /usr/share/magicfilter/quiet.ps - -c quit

Das macht also Ghostscript (gs). Weil da als device ljet4 steht,
weiß gs, dass die Zielsprache PCL ist. Fertig. So kann sie jetzt
gedruckt werden.

Bei einem Bild passiert ähnliches. Für jpeg steht da z.B. drin:

    # JFIF (JPEG) files
    0 \377\330\377\340\?\?JFIF\0 pipe /usr/bin/djpeg -pnm

Die Daten werden also mit djpeg in pnm umgewandelt. Für pnm heißt es:

    # Portable bit-, grey- and pixmaps
    0 P1\n pipe /usr/bin/pnmtops -scale 1000 -dpi 600 2>/dev/null

Mit Hilfe von pnmtops wird aus pnm also PS, und das geht, wie oben, an
Ghostscript, usw.

In den sog. Druckertreibern passiert ähnliches. Den Druckerfilter, bzw.
Ghostscript, könnte man auch als Treiber bezeichnen, eingebürgert hat
sich die Bezeichnung Treiber halt eher im DOS-/Windows-Umfeld. Das ist,
wie gesagt, der traditionelle Weg, wie er vor cups üblich war. Ob das
bei cups immer noch so ist, weiß ich nicht, habe mich mangels Bedarf
nie damit beschäftigt.

Das Problem in Deinem Fall ist, dass Du noch nicht weißt, ob Deine
Grafikprogramme Grafikdateien wirklich als solche an den Drucker
schicken, oder ob sie sie selbst in PS (oder ein anderes Format)
umwandeln.

Das kannst Du testen, indem Du die Grafikdateien, die sich nicht
drucken lassen abspeicherst und per Kommandozeile druckst. Also
mittels lpr<Dateiname>. Klappt das Drucken damit, liegt es an dem
Grafikprogramm, klappt das Drucken nicht, stimmt mit Deiner
Druckerinstallation (also cups und/oder Treiber) etwas nicht.

So, oder so ähnlich, musst Du Dich durch das Problem durchhangeln.

Dankeschön Martin. Von dieser Möglichkeit muss man natürlich
irgendwo etwas erfahren.
Habe das jetzt nachvollzogen. Ich habe die /etc/aliases bisher nicht
gekannt/modifiziert, sondern ab und zu kompliziert den lokalen
mail-Ordner in das E-Mail System eingebunden, bis mir das zuviel
geworden ist. So ist das natürlich viel einfacher. Vielen Dank
nochmals.
Nichts zu danken. Die /etc/aliases wird angelegt, wenn der Mailserver
eingerichtet wird, und ich habe es so in Erinnerung, dass man dabei
gefragt wird, welche aliases man anlegen will. Kann natürlich sein,
dass das inzwischen auch "wegoptimiert" wurde.

Ich weiß gar nicht, ob die modernen Installationen, bei denen alles
wie von alleine flutscht, wirklich so viel besser sind. Weil man
dann zwar schnell ein lauffähiges System bekommt, bei der Anpassung
dann aber sich doch wieder einarbeiten muss. Und der Frust ist dann
vielleicht noch größer, weil man gar nicht weiß, wo man anfangen
soll. Aber, wie gesagt, ich weiß es nicht.

HP-PCL ist, denke ich, etwas weiter verbreitet und HPLIPS wurde,
denke ich, mehrfach aktualisiert. Den Canon habe ich mir zugelegt,
weil er direkt auf Medien drucken kann - und das wird, hoffe ich, in
wenigen Wochen auch unter Linux funktionieren. Papier bedrucke ich
damit recht wenig.
Bei<http://www.linuxprinting.org>  (oder so ähnlich), kannst Du
nachschauen, ob der Drucker von Linux unterstützt wird.
Es gibt für meinen Drucker sowohl einen Linux-Treiber von CANON, dem Hersteller und einen, meinem Empfinden nach, sogar besseren Linux-Treiber von Gimpprint/Gutenprint.

Ich bin nur CUPS gewöhnt, habe jetzt aber auch lprng installiert,
kann das aber erst gegen Ende der Woche testen. Allerdings wurde mir
(testing 32-Bit) CUPS dabei zerschossen.
cups und lprng schließen sich meines Wissens gegenseitig aus. Was auch
nicht erstaunlich wäre, da ja beides Druckerspooler sind und sich sonst
in die Quere kommen. cups ist moderner und leistungsfähiger, ich würde
an Deiner Stelle dabei bleiben. Ich benutze lprng nur, weil ich es
kenne und weil es "damals", als ich meinen ersten Drucker einrichtete,
noch kein cups gab. Und da es damit läuft, bleibe ich dabei, so lange
es funktioniert. Also pure Gewohnheit, nicht weil lprng besser wäre.
Naja, für Cups gibt es eine Browseroberfläche. aber mir sind keine Kommndozeieln-Befehel bekannt, mit denen ich eine Datei (z.B. PDF) aus CUPS direkt (also ohne Anwendungsprogramm) ausdrucken könnte. Und genau das macht nicht jedes Anwendungsprogramm. Hinzu kommt, dass die Anwendungsprogramme (habe nur GNOME am Laufen) den Druckertreiber unterschiedlich unterstützen, was die Oberfläche betrifft, in der Details zur Einstellung des Druckertreibers eingestellt werden (Papiergröße, Duplex, Raster, Schwärzungsgrad, bzw. Farbintensität, etc.)

[...]


Reply to: