Drucker einrichten
Categories:
Drucker unter Linux einrichten
Ab CentOS 5 können IP Drucker am einfachsten mit printconf eingerichtet werden.
Hier stehen fast alle Druckertreiber usw. zur Verfügung.
Der Port für die Standard IP Verbindung ist 9100. Siehe dazu auch in den Windowseinstellungen in der Konfiguration des Druckeranschlusses unter RAW Einstellungen, Portnummer.
Alternativ / Einfacher kann der WebMin (https://192.168.xx.251:10000/), Hardware, Printeradministration verwendet werden. Hier können, ab CentOS 5 fast alle Druckertreiber usw. ausgewählt werden.
Sonderbehandlung wenn Drucker nicht direkt am Server installiert werden kann/soll
Da es, insbesondere bei spezifischen Druckern wie z.B. Etikettendruckern oft vorkommt, dass ein guter Druckertreiber nur auf einem bestimmten Betriebssystem (meist Windows) zur Verfügung steht, muss man, egal auf welchem Betriebssystem der Kieselstein ERP Server wirklich läuft, auf diesen Drucker drucken können.
Dieses Problem wird durch ein eigenes Printservice gelöst, welches auf einer separaten Windowsmaschine installiert werden muss. Sobald dieses Printservice als Windowsdienst zur Verfügung steht, kann man die auf dem Windowsrechner installierten Drucker nutzen.
In den Arbeitsplatzparametern bei denen Drucker hinterlegt werden können, z.B. DRUCKERNAME_MOBILES_ARTIKEL_ETIKETT kann nun dieses Printservice mit folgender Notation verwendet werden:
proxy://[IP_ADRESSE_PRINTSERVICE_GERÄT]:[PORT]/[Druckername]
proxy://10.1.2.3:8281/E3_Wagerl_BB
Verfügbare Drucker
Drucker die über den Printservice erreichbar sind, können wie folgt ausgelesen werden:
http://[IP_ADRESSE_PRINTSERVICE_GERÄT]:[PORT]/test
http://10.1.2.3:8281/test
http://localhost:8281/test
Diesen Namen muss man dann als [Druckername] ersetzen. Der [PORT] kann in der Datei “config.properties” eingestellt werden.
Standardmäßig ist “8281” als Port hinterlegt.
Tipp:
Den Druckernamen aus den Druckereigenschaften kopieren.

Installation PrintService auf einer separaten Windowsmaschine
Für Kieselstein ab der Version 1.0.20 steht ein eigener Printservice zur Verfügung. Für die Einrichtung ist wie folgt vorzugehen:
- Auf dem Server auf dem der Printservice ausgeführt wird, muss ebenfalls ein Java11 bzw. Java21 installiert sein.
- Den vollständigen Inhalt des Ordners LW:\kieselstein\dist\bootstrap\print-service\kieselstein-printservice am Kieselstein-Server auf den Windowsrechner mit den gewünschten und lokal installierten Drucker(n) kopieren. Beispielsweise auf den Pfad “C:\kieselstein\printservice”
- “Systemumgebungsvariable bearbeiten” –> “Umgebungsvariablen…” –> Unter Systemvariablen [NEU] drücken und als Name “KIESELSTEIN_BOOTSTRAP_DIR” eintragen und als Wert den Pfad von Punkt 1. (z.B.: C:\kieselstein\printservice) setzen.
.
Achte darauf, dass nur das Bootstrap-Verzeichnis angegeben wird. - In den Unterordner “LW:\kieselstein\dist\bootstrap\service\windows” gehen und die Datei “install-kieselstein-printservice.bat” mit Administrator-Rechten ausführen.
Damit ist der Printservice als Dienst eingerichtet (aber noch nicht gestartet).
WICHTIG:
Nutze unbedingt die
LW:\kieselstein\dist\bootstrap\service\windows\install-kieselstein-printservice.bat
um den Printservice zu installieren.
Sollten hier Fehlermeldungen kommen, so ist wahrscheinlich das Bootstrap_Dir falsch gesetzt. - Gewünschte Drucker, die über den Printservice später erreichbar sein sollen, auf dem Gerät installieren.
- Druckerservice testen, indem man in einem Browser die “http://[IP_ADRESSE_PRINTSERVICE_GERÄT]:[PORT]/test” ausführt. Hier sieht man auch schon alle Druckernamen, die über das PrintService verfügbar sind. Per default ist der PORT 8281 definiert.
- Optional abweichende Portadresse definieren:
Standardmäßig ist der Printservice unter der IP-Adresse mit Port “8281” von allen Geräten erreichbar. In der Configdatei ("../print-service/kieselstein-printservice/bin/config.properties") kann bei “kieselstein.server.ip” eine abweichender Port (default 8281) definiert werden. - Zusätzlich kann hier direkt die IP-Adresse von der auf den Printservice zugegriffen werden darf eingerichtet werden. Somit kann der Zugriff z.B. nur auf den Kieselstein ERP Server eingeschränkt werden (z.B.: kieselstein.server.ip=1.2.3.4). Damit kann das Printservice nur mehr vom Kieselstein ERP Server angesprochen werden. Achtung dann ist natürlich auch der “/test” nur mehr vom Kieselstein ERP Server möglich.
- In Windowsumgebungen daran denken, dass auch der Port 8281 in der Windows-Firewall freigegeben werden muss.
- Im Kieselstein ERP - Client nun unter System > Arbeitsplatzparameter jeweiligen Drucker, mit folgender Schreibweise anstatt nur dem Druckernamen, “proxy://[IP_ADRESSE_PRINTSERVICE_GERÄT]:[PORT]/[Druckername” für die verschiedenen Arbeitsplätze hinterlegen.
- Nach erfolgter Konfiguration den Dienst starten. Idealerweise stellst du den Dienst auf automatischen Start.
Logfile, Zugriffsprotokollierung
Im Prinserver gibt es auch ein Log-File, in dem die Zugriffe protokolliert werden. D.h. man sieht hier auch, ob überhaupt ein Druckauftrag an den Printserver gesandt wurde.
Diese Datei findest du unter z.B.: C:\kieselstein\printservice\bin\KieselsteinPrintService.0.log
In der Logdatei werden folgende Daten protokolliert:
- Start des Printservices
- Ausdruck des entsprechenden Jasper-Files
Prüfen welche Drucker zur Verfügung stehen
Können Drucker auf anderen Rechnern angesprochen werden?
Die Drucker die vom Printservice bedient werden sollten, müssen auf diesem auch eingerichtet sein. D.h. es können nur die Drucker angesprochen werden, die durch den Testaufruf auch angezeigt werden.
Kann ich mit dem Printservice in Dateien drucken?
Da der Service in der Regel als Dienst ohne Benutzerinteraktion läuft, kann der für Testzwecke beliebte Druck in ein PDF nicht genutzt werden. Bei einer derartigen Einstellung erhältst du im Endeffekt nach einiger Zeit (5Minuten) z.B. auf der mobilen App eine entsprechende Fehlermeldung.
Um dies, z.B. wegen Papierverbrauch o.ä. trotzdem nutzen zu können, so starte den Printservice nicht als Dienst, sondern als gewöhnliches Programm, z.B. aus LW:\kieselstein\dist\bootstrap\print-service\kieselstein-printservice\bin\kieselstein-printservice.bat
Denke daran vorher den Dienst zu beenden.
Etiketten drucken
Nachdem es beim Drucken von Etiketten immer wieder einige Herausforderungen zu beachten gibt, nachfolgend eine sicherlich nicht vollständige Sammlung von Dingen die es dabei zu beachten gibt
welchen Etikettendrucker verwenden
Wir können nur raten gute Netzwerkfähige Etikettendrucker mit mindestens 300dpi zu verwenden. Netzwerkfähigkeit auch für die Verwendung vom Terminal bzw. der mobilen App aus. Die Verwendung von anscheinend günstigen Desktopdruckern wie Dymo, ähnliches gibt es auch von Brother, ist, wenn man mehr wie einige sehr wenige Etiketten benötigt, die teuerste und mühsamste Lösung. Je nach Menge der zu druckenden Etiketten setzen wir gerne Zebra oder CAB ein für Mengen unter 3000Stk/Monat auch die kleine Variante von GoDEX. Beim Etiketten Material immer Thermotransfer und standard Etiketten.
Welche Druckertreiber verwenden
Es werden von den Herstellern Druckertreiber mitgeliefert. Diese funktionieren immer besser. Gute und reproduzierbare Ergebnisse, insbesondere in Windows Umgebungen (auch am Client) habe ich bisher nur mit Treiber von Seagull Scientific erreicht.
ACHTUNG: Die Einstellungen für die Abmessungen der Etiketten und Druckgeschwindigkeiten usw. sind eine Benutzereigenschaft. D.h. bei wechselnden Benutzernamen am Betriebssystem müssen diese für den jeweiligen Benutzer eingerichtet werden.
Das bedeutet auch in Serverumgebungen muss der Kieselstein ERP Dienst mit einem Benutzeraccount gestartet werden. Das gilt Analog auch für den oben beschriebenen Printservice
Zu beachten
Mit der Umstellung auf Java 11 und der Verwendung von Jasper 6.21.3 ist die Definition vor allem der Etikettenhöhe etwas genauer / kritischer geworden.
D.h. wenn der Ausdruck eines Etikettes vor allem in der Höhe nicht passt, reduziere in der Jasper-Etikettendefinition die Höhe. In der Regel funktioniert es ab der richtigen, um ein Pixel geringeren, Höhe.
Dass die richtige Etikettenhöhe in den Druckereigenschaften des Druckertreibers für den jeweiligen Benutzer richtig eingestellt ist, sollte selbstverständlich sein.
Es hat sich auch bewährt, dass die Definition des Etikettenformates immer in Pixel eingegeben wird. Pixel = DeziDot = 1/72Zoll bzw. Inch
Orientierung
Da gerade beim Etikettendrucken viel Software zwischen deinem Kieselstein ERP Client und dem endgültigen Papier steckt, kommt es immer wieder vor, dass du zwar das Etikett im Client wunderschön siehst, dieses aber verdreht heraus kommt.
Hier hat sich bewährt, die Orientierung direkt im XML Umzuschalten bzw. zu definieren.
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="fert_losetikett" pageWidth="252" pageHeight="102" orientation="Landscape" whenNoDataType="AllSectionsNoDetail" columnWidth="212" leftMargin="20" rightMargin="20" topMargin="7" bottomMargin="7" uuid="b498e874-307a-49e2-99d4-d81069ac88fe">
Orientation=Landscape bzw. Portrait
ACHTUNG: je nach verwendeter Version des iReport / Jasper Studio bewirkt die Umschaltung in der Oberfläche dass auch Breite / Höhe vertauscht wird, was man nicht immer so haben möchte.
Insbesondere wenn du Etiketten drucken willst, die in sich um 90° gedreht gedruckt werden müssen.
Anpassen der Etiketten
Die Grundsätzliche Einrichtung von Etiketten erfolgt idealerweise vor Ort, vor dem Etikettendrucker stehend (befindlich).
Alles andere mit Fotos der Etiketten hin und her zu senden, ist nur mühsam und kostet meist mehr Zeit, als ein kurzer Besuch direkt beim Anwender. Die Erfahrung zeigt Unterschiede von Stunden (Extremfall Tagen) zu einer Stunde.
Wissenswertes rund um Drucker
Nachfolgend eine kleine Know How Sammlung zu den verschiedensten Drucken, damit man diese nicht immer mühevoll suchen gehen muss.
Godex 730
Wird von Lable Ident als BP730 geliefert
- Ausdruck des Status Etikettes
- Feedtaste drücken und halten
- Einschalten und Feedtaste weiter halten, bis Power blinkt, dann auslassen
- anmelden am Webserver des Druckers für die Parametrierung
- User: admin
- PW: 1111
Der vorgeschlagene Drucker ist immer ein anderer
In neu installierten Windows11 Umgebungen, wird der genutzte Standard-Drucker von Windows vorgeschlagen, was natürlich nicht funktionieren kann.
Schalte daher dieses Verhalten ab. Vorgehensweise:
- Einstellungen
- Bluetooth und Geräte
- Drucker und Scanner
- Windows verwaltet Standarddrucker abschalten

- nun in der Liste der Drucker den gewünschten Drucker auswählen (anklicken) und oben auf
als Standard auswählen.
Einrichten unter MACos
Ab der Version 2.0 wurde der Druckerdialog auf den System-Druckerdialog zurückgestellt. Um am MAC-Client nun bestimmte Druckereigenschaften vorbelegen zu können, z.B. Doppelseitiger Druck, muss man dies dem MACos in einer etwas versteckten Form mitteilen. Du benötigst dafür das Administrator Passwort. Die Vorgehensweise dafür ist wie folgt:
- Aktivieren der Admin Oberfläche für den (am MAC) integrierten Druckserver
Dazu in einem Terminal
cupsctl WebInterface=yes
ausführen.
- nun von einem Browser (Safari) aus
http://localhost:631/printers/
ausführen.
- Den gewünschten Drucker auswählen
- nun unter dem Administration Dropdown Set Default Options auswählen.

- und hier die gewünschte Option, z.B. 2-sided Printing, die entsprechende Einstellung vornehmen

- Anschließend mit dem Button “Set Default Options” die Einstellungen speichern.

Dabei kann es zu einer Benutzer/Passwort Abfrage kommen. Das ist der Mac Administrator Benutzer, bzw. der gerade angemeldete Benutzer.