Drucken über cups mit javax.print

8

Ich habe eine Datei, die gut funktioniert, wenn ich den Befehl lp filename .

verwende

Die Datei ist eine ESC / P-Datei für einen Bondrucker. Das hat Linux native CUPS-Treiber und alles, was funktioniert.

Ich versuche, die javax.print API zu verwenden, damit ich eine feinere Kontrolle über das Drucken haben und es hoffentlich plattformübergreifend kompatibel halten kann, obwohl Linux die Zielplattform ist.

Ich habe jede bekannte DocFlavor-Kombination und jede Art von Datentyp ausprobiert ( InputStream , byte[] , Reader usw.)

Es ignoriert entweder nur den Befehl print() oder nur ein leeres Blatt Papier. Das Ausführen von lp filename gibt es perfekt aus, also wie bekomme ich javax.print , um einfach das funktionale Äquivalent von lp filename zu machen?

Ich bin nicht auf die Verwendung von javax.print eingestellt Ich kann andere "Dinge" verwenden und könnte mit der Untersuchung von cups4J beginnen, aber es scheint, dass ich mich nur auf Linux / * nix beschränken würde Plattformlösung.

Ich könnte einfach den Befehl lp system für die Datei ausgeben, aber ich brauche feinere Kontrolle. Dies sind keine Quittungen, die wir drucken, sie sind Tickets und die Tickets reichen von $ 5,00 bis zu Tausenden von Dollar. Wenn wir ein Druckproblem feststellen, annullieren wir die Transaktion und wenn etwas gedruckt wird, ist es ungültig, wir nehmen keine Nachdrucke auf die leichte Hand und berechnen meistens eine neue Kopie, wenn der Kunde seine Kopie verliert. Der Grund dafür ist, dass wir das Kassensystem von Windows auf Linux umstellen und die Drucker vom direkten Zugriff über serielle Ports auf CUPS, die über USB verwaltet werden. Hier ist mein Code, der nicht funktioniert. Jede Hilfe wird geschätzt.

%Vor%     
Andrew Lygin 24.08.2011, 18:26
quelle

1 Antwort

0

Mir geht es gut mit cups4j. Holen Sie sich zuerst Ihren Drucker.

%Vor%

Erstellen Sie anschließend einen Druckauftrag und senden Sie ihn an den Drucker

%Vor%     
Falk Jäger 04.12.2016 01:16
quelle

Tags und Links