PJL - Druckersteuerung die Zweite - wie geht das
frankx
- software
0
Der Martin
0 frankx
Hellihello
in Fortführung von http://forum.de.selfhtml.org/archiv/2008/5/t170590/#m1119792 haben wir nun nochmal eine Windows-Druckumleitung analysiert. Da stehen Haufenweise PJL-Anweisungen drinne http://en.wikipedia.org/wiki/Printer_Job_Language.
Jetzt dachten wir erstmal werden dort in PJL die Formatanweisungen gesetzt (Papierausrichtung und was auch immer). Die ersten Zeilen mit dem Zeug konnte man alle weglassen, die letzte @PJL-Anweisung nicht.
Was aber dannach kommt, der Text sozusagen, entbehrt jeglichem Ascii-Code. Das Wort "Seite" zB., dass definitiv ausgedruckt wird, lässt sich nicht bestimmen.
Auch bei ersten Suchen via Google ließ sich kein "Hello World" mit PJL finden. Was ist der "Trick"?
Dank und Gruß,
Hallo,
in Fortführung von http://forum.de.selfhtml.org/archiv/2008/5/t170590/#m1119792 haben wir nun nochmal eine Windows-Druckumleitung analysiert.
... um was damit zu erreichen?
Da stehen Haufenweise PJL-Anweisungen drinne http://en.wikipedia.org/wiki/Printer_Job_Language.
Ja, vermutlich weil der verwendete Drucker ein HP-Drucker war. Wäre es ein Lexmark, Canon, Samsung, Kyocera, whatever, die übertragenen Daten wären völlig anders gewesen. Bedenke, dass in der Windows-Architektur bereits jegliche druckerspezifische Aufbereitung der Daten auf dem Rechner stattfindet, auf dem die "druckende" Anwendung läuft - deshalb muss ja auch der Druckertreiber auf jedem einzelnen Rechner installiert werden, selbst bei einem Netzwerkdrucker.
Jetzt dachten wir erstmal werden dort in PJL die Formatanweisungen gesetzt (Papierausrichtung und was auch immer). Die ersten Zeilen mit dem Zeug konnte man alle weglassen, die letzte @PJL-Anweisung nicht.
Was versprichst du dir davon, die PJL-Ausgabe des Druckertreibers zu analysieren?
Was aber dannach kommt, der Text sozusagen, entbehrt jeglichem Ascii-Code. Das Wort "Seite" zB., dass definitiv ausgedruckt wird, lässt sich nicht bestimmen.
Das liegt vermutlich daran, dass bereits der Druckertreiber den Text unter Zuhilfenahme der verwendeten Truetype-Schrift in Pixel-Grafikdaten umwandelt und als solche zum Drucker übermittelt.
Auch bei ersten Suchen via Google ließ sich kein "Hello World" mit PJL finden. Was ist der "Trick"?
It's not a trick. It's a printer driver.
So long,
Martin
Hellihello
in Fortführung von http://forum.de.selfhtml.org/archiv/2008/5/t170590/#m1119792 haben wir nun nochmal eine Windows-Druckumleitung analysiert.
... um was damit zu erreichen?
Zu schauen, wie man den Brother - 1nochdreiziffern direkt an einen FreeBSD-Rechner ploppen kann um ihn von dort eventuell mit Druckerdirektiven zu steuern/füttern.
Ja, vermutlich weil der verwendete Drucker ein HP-Drucker war. Wäre es ein Lexmark, Canon, Samsung, Kyocera, whatever, die übertragenen Daten wären völlig anders gewesen. Bedenke, dass in der Windows-Architektur bereits jegliche druckerspezifische Aufbereitung der Daten auf dem Rechner stattfindet, auf dem die "druckende" Anwendung läuft - deshalb muss ja auch der Druckertreiber auf jedem einzelnen Rechner installiert werden, selbst bei einem Netzwerkdrucker.
Brother - aber Windows kann ja mit dem Drucken, also wird er wohl das PJL verstehen, nein, er tut es, denn wenn man ihm per cat test.pjl > dev/lpt0 (oder ohne t) das zuweist, dann druckt er, was windows per Umleitung in eine Datei dann dort reinschrub.
Jetzt dachten wir erstmal werden dort in PJL die Formatanweisungen gesetzt (Papierausrichtung und was auch immer). Die ersten Zeilen mit dem Zeug konnte man alle weglassen, die letzte @PJL-Anweisung nicht.
Was versprichst du dir davon, die PJL-Ausgabe des Druckertreibers zu analysieren?
Ein Verständnis, wie "das" funktioniert. Ein AG-Teilnehmer hat zuHause dort auch seinen Drucker direkt angesprochen (wie auch Alexander aus HH in erwähntem Thread). Vorteil bei Alexander: der Drucker ist postscripttauglich. Schon klar, dass das eine andere Liga ist. Vorteil bei Angelos Drucker zu Hause: das Ding kann PCL (http://forum.de.selfhtml.org/archiv/2008/5/t170590/#m1118504).
Das liegt vermutlich daran, dass bereits der Druckertreiber den Text unter Zuhilfenahme der verwendeten Truetype-Schrift in Pixel-Grafikdaten umwandelt und als solche zum Drucker übermittelt.
Auch bei ersten Suchen via Google ließ sich kein "Hello World" mit PJL finden. Was ist der "Trick"?
It's not a trick. It's a printer driver.
Und anders als PCL wohl, denn das versteht irgendwie Ascii.
echo asdf^L > /dev/lp0 druckt dann wohl zB. asdf aus. Bei dem PJL-Drucker kam nur der Linefeed (^L ascii 13 oder 12 als Formfeed oder was? - also nur eine leere Seite kam raus auf jeden Fall).
Dank und Gruß,
Hi,
[...] haben wir nun nochmal eine Windows-Druckumleitung analysiert.
... um was damit zu erreichen?
Zu schauen, wie man den Brother - 1nochdreiziffern direkt an einen FreeBSD-Rechner ploppen kann um ihn von dort eventuell mit Druckerdirektiven zu steuern/füttern.
und dann für Linux einen eigenen Druckertreiber zu schreiben? Hut ab.
Ja, vermutlich weil der verwendete Drucker ein HP-Drucker war.
Brother - aber Windows kann ja mit dem Drucken, also wird er wohl das PJL verstehen, nein, er tut es, denn wenn man ihm per cat test.pjl > dev/lpt0 (oder ohne t) das zuweist, dann druckt er, was windows per Umleitung in eine Datei dann dort reinschrub.
Ja, es gibt inzwischen einige Hersteller, die HP's PJL "imitieren".
Was versprichst du dir davon, die PJL-Ausgabe des Druckertreibers zu analysieren?
Ein Verständnis, wie "das" funktioniert.
Oh-oh. Das kommt mir so vor, als wolltest du einen Mercedes-Motor zerlegen, um herauszufinden, wie er funktioniert. Mit viel Sachkenntnis mag das ja möglich sein, aber einfach ist es sicher nicht.
Auch bei ersten Suchen via Google ließ sich kein "Hello World" mit PJL finden. Was ist der "Trick"?
It's not a trick. It's a printer driver.
Und anders als PCL wohl, denn das versteht irgendwie Ascii.
Auch, aber noch viel mehr. Ebenso wie man bei den alten Epson-kompatiblen Nadeldruckern mit ESC/P zwar auch recht einfach ASCII-Text rausblasen konnte, die Windows-Treiber aber (fast) sämtliche Ausgabe im Graphikmodus ausgeben.
echo asdf^L > /dev/lp0 druckt dann wohl zB. asdf aus. Bei dem PJL-Drucker kam nur der Linefeed (^L ascii 13 oder 12 als Formfeed oder was? - also nur eine leere Seite kam raus auf jeden Fall).
Sagen wir's so: Der Drucker kann mit einfachsten Kommandos sinnvolle Ausdrucke erzeugen - aber so einfach macht es sich der Windows-Treiber eben nicht.
Schönen Abend noch,
Martin
Hallo
in Fortführung von http://forum.de.selfhtml.org/archiv/2008/5/t170590/#m1119792 haben wir nun nochmal eine Windows-Druckumleitung analysiert.
... um was damit zu erreichen?
Zu schauen, wie man den Brother - 1nochdreiziffern direkt an einen FreeBSD-Rechner ploppen kann um ihn von dort eventuell mit Druckerdirektiven zu steuern/füttern.
Laut diesem Beitrag handelt es sich um einen Brother HL-1430, der soweit ich das sehe, mit CUPS hervorragend drucken können sollte. Siehe http://www.linuxprinting.org/show_printer.cgi?recnum=Brother-HL-1430. Ja, das sollte auch für FreeBSD gelten.
Freundliche Grüße
Vinzenz