Re: Mit Canondrucker aus Inkscape drucken?
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.
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.
> 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.
Gruß, Martin
Reply to: