Datenschutzhinweis

 

Beim Laden dieses Inhalts werden Nutzungsinformationen an Vimeo übertragen und dort ggf. verarbeitet.

 

             

Print-Server

Geändert am Do, 18 Jul um 3:03 NACHMITTAGS

Der Print-Server wird vom Print-Service-Plugin benötigt.


Inhalt


Installation Print-Server unter Windows


Die Installation des benötigten Print Servers erfordert je nach Betriebssystem unterschiedlicher Vorgehensweisen. Die Print Server Installationsdateien können in Customer-Cloud heruntergeladen werden (Anmeldung erforderlich).


Installation von Node.js

  • Download der LTS-Version unter https://nodejs.org/ (ab Print-Server Version 3.0.0 mindestens Version 18)
  • MSI-Datei ausführen
  • Wizard-Schritte durchlaufen, wobei die Standardeinstellungen so belassen werden können.

Installationsschritte für den Print Server

  • Die Print Server Installationsdateien können Sie hier über die Customer-Cloud herunterladen. 
  • Entpacken Sie die ZIP Datei „print_server_fc.zip“ und verschieben Sie den Inhalt in den Ordner print_server_fc unter C:\Programme\.
  • Zur Installation öffnen Sie die Kommandozeile (cmd) mit administrativen Berechtigungen und führen die folgenden Befehle aus:


cd C:\Programme\print_server_fc
npm install
npm install -g node-windows
npm link node-windows
node install-windows-service.js

Bei Ausführung von "npm install" wird der Chrome-Browser heruntergeladen. Wenn dies fehlschlägt, etwa wegen fehlender Internetverbindung, kommt in der Kommandozeile der Vorschlag, dass das Herunterladen auch übersprungen werden kann. Das darf nicht getan werden, sonst funktioniert der Print-Service anschließend nicht.


Es ist nun ein neuer Dienst FORMCYCLE Print Server vorhanden. Bitte prüfen Sie, ob dieser auch gestartet ist, bevor Sie einen Test durchführen. Das Skript install-windows-service.js enthält Standardvariablen für die Installation des Print-Services.

  • Der Dienst wird standardmäßig auf dem Port 8090 installiert. Um diesen zu ändern, müssen Sie in der Datei
    install-windows-service.js den Parameter --port=8090 anpassen.
  • Standardmäßig ist Logging aktiviert. Um dies zu ändern, setzen Sie den Parameter --verbose=true auf
    --verbose=false.

Nach der Installation wird ein Ordner mit dem Namen daemon für die Logdateien angelegt.


Deinstallation

Für die Deinstallation des Print Servers, öffnen Sie eine Kommandozeile (cmd) mit administrativen Berechtigungen und führen Sie folgende Befehle aus:


cd C:\Programme\print_server_fc
node uninstall-windows-service.js 


Aktualisierung

Prinzipiell ist eine Aktualisierung möglich, indem der Print-Service deinstalliert und anschließend neu installiert wird.

In den meisten Fällen reicht es allerdings aus, die Server-Script-Dateien zu ersetzen und die Abhängigkeiten per npm zu aktualsieren:

  • Die aktuelle Version "print_server_fc.zip" herunterladen.
  • Den Print-Service-Windows-Dienst stoppen.
  • Aus dieser ZIP-Datei alle Dateien in den Ordner kopieren, wo der Print-Service aktuell installiert ist (bei Nachfrage "Dateien überschreiben" auswählen).
  • Wichtig: Der Ordner daemon und die darin enthaltenen Dateien sollten dabei nicht geändert werden!
  • Eine Window-Kommandozeile (cmd) mit administrativen Berechtigungen öffnen.
  • In den print_server_fc Ordner wechseln, wohin die Dateien kopiert wurden.
  • Via npm install nun die Abhängigkeiten aktualisieren. Dieser Befehl kann einige Momente dauern. Hierfür ist es notwendig, dass der Server eine Internetverbindung hat. Falls eine Verbindung nicht möglich ist, schaue Sie bitte hier.
  • Nun kann der Print-Service-Windows-Dienst wieder gestartet werden.

Sollt das Update dazu führen, dass der Dienst nicht mehr gestartet werden kann, sollten Sie eine Neuinstallation durchfürhen. Bitte erst eine Deinstallation vornehmen und dann den Schritten unter Installation folgen.



Installation Print Server unter Linux


Installationsschritte für die Installation von Node.js und dem Print Server

 Öffnen Sie die Konsole und laden Sie das Installations-Script (Je nach Betriebssystem unterschiedlich!

# Debian 10 - Wenn Sie als root angemeldet sind:
wget "https://customer.formcycle.eu/index.php/s/0GBtp1HtQHJMzQx/download?path=/&files=install_printserver_debian10.sh" -O install_print_server.sh

# Debian 10 - oder wenn Sie als normaler Benutzer mit Sudo-Rechten angemeldet sind:
wget "https://customer.formcycle.eu/index.php/s/0GBtp1HtQHJMzQx/download?path=/&files=install_printserver_debian10_sudo.sh" -O install_print_server.sh

# Debian 11 - Wenn Sie als root angemeldet sind:
wget "https://customer.formcycle.eu/index.php/s/0GBtp1HtQHJMzQx/download?path=/&files=install_printserver_debian10.sh" -O install_print_server.sh

# Debian 11 - oder wenn Sie als normaler Benutzer mit Sudo-Rechten angemeldet sind:
wget "https://customer.formcycle.eu/index.php/s/0GBtp1HtQHJMzQx/download?path=/&files=install_printserver_debian10_sudo.sh" -O install_print_server.sh

# Datei Ausführbar machen
chmod 750 install_print_server.sh

# Installation starten
./install_print_server.sh

# Print Server ausführen
systemctl start printserver


In den ersten Zeilen des Scripts kann noch - über die Variablen PRINTSERVER_USER und PRINTSERVER_USER_PWD - der anzulegende Benutzername/Passwort angepasst werden.
Über den Parameter verbose können Sie die Log-Ausgabe de-/aktvieren. Die Skripte für den Dienst sollten unter /home/formcycle/print_server zu finden sein. In dem Start-Skript kann der verbose-Parameter angepasst werden.


Deinstallation

Für die Deinstallation des Print Servers, öffnen Sie eine Kommandozeile (cmd) mit administrativen Berechtigungen und führen den Befehle /home/formcycle/deinstall_printserver.sh aus.


Bei der Installation wurden, in Abhängigkeit des vorhandenen Systems, auch einige Linux-Pakete wie z.B. nodejs installiert. Es ist aber nicht möglich, die Pakete automatisiert wieder zu deinstallieren. Löschen Sie die automatisch installierten Pakete nur, wenn Sie zu 100% sicher sind, dass sie nicht mehr benötigt werden!



Aktualisierung

Prinzipiell ist eine Aktualisierung möglich, indem der Print-Service deinstalliert und anschließend neu installiert wird.

In den meisten Fällen reicht es allerdings aus, die Server-Script-Dateien zu ersetzen und die Abhängigkeiten per npm zu aktualsieren:

  • Die aktuelle Version "print_server_fc.zip" herunterladen.
  • Den Print-Service-Systemdienst FORMCYCLE Print Sever stoppen: systemctl stop printserver
  • Die Dateien aus dieser Zip-Datei in den Ordner kopieren, wo der Print-Service aktuell installiert ist (bei Nachfrage "Dateien überschreiben" auswählen). Die Dateien sollten standardmäßig unter /home/formcycle/print_server zu finden sein.
  • Eine Kommandozeile (cmd) mit administrativen Berechtigungen öffnen und in den Ordner wechseln, wohin die Dateien kopiert wurden. Die Dateien sollten standardmäßig unter /home/formcycle/print_server zu finden sein.
  • Via npm install nun die Abhängigkeiten aktualisieren. Dieser Befehl kann einige Momente dauern. Hierfür ist es notwendig, dass der Server eine Internetverbindung hat. Falls ein Proxy notwendig ist, schauen Sie bitte hier.
  • Nun kann der Print-Service-Systemdienst wieder gestartet werden: systemctl start printserver


NodeJS auf eine höher/aktuelle Version aktualisieren


Aktuelle NodeJS Version

# Using Debian, as root
curl -fsSL https://deb.nodesource.com/setup_current.x | bash -
apt-get install -y nodejs


NodeJS Version 18

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_18.x | bash -
apt-get install -y nodejs



Test

Um zu prüfen, ob die Installation erfolgreich durchgeführt wurde, kann der Service testweise auf dem localen Server aufgerufen werden (in diesem Beispiel wird versucht die Webseite formcycle.de zu drucken):

http://localhost:8090/pdf?orientation=landscape&format=A4&wait=false&marginTop=0mm&formURL=http://www.formcycle.de


Troubleshooting


Befehl npm wird nicht gefunden

Unter Windows kann es sein, dass nach der NodeJS Installation die Umgebungsvariablen nicht richtig gesetzt werden und somit npm install nicht ausgeführt werden kann. Zu beobachten war dies auch, wenn nicht der Standardpfad unter C:/Programme bei NodeJS Installation verwendet wurde. Prüfen Sie also im Pfad, ob dieser vorhanden sind. Folgendes ist hierfür zu tun:

  • Aufruf der Umgebungsvariablen über Systemsteuerung > System > Erweiterte Systemeinstellungen > Button Umgebungsvariblen
  • Unter Path sollten folgende Einträge zu finden sein: C:\Users\{Nutzername}\AppData\Roaming\npm;C:\Program Files\nodejs
  • Mit Ok bestätigen. Die Konsole muss anschließend mit Adminrechten neu geöffnet werden.


Druck funktioniert nicht

Falls der Druck über formcycle nicht möglich ist, könnte die Ursache sein, dass der Print-Service nicht erreichbar ist. Dies kann durch die Loopback-URL behoben werden. Unter System > Allgemein > Loopback URL, Loopback Basis-URL: http://localhost:<port>/formcycle


PDF wird gedruckt, aber es erscheint die Meldung 404

In dem Fall funktioniert der Print-Service korrekt, da bereits ein PDF erzeugt wird. Es muss geprüft werden, ob die Loopback-URL richtig eingetragen ist, damit die URL zum Print-Service richtig aufgelöst wird.


Download Chromium schlägt fehl

Folgende Fehlermeldung erscheint auf der Konsole nach der Ausführung von „npm install“:

Error: unable to verify the first certificate


Bei den nachfolgend beschriebenen Schritten handelt es sich nur um einen Workaround und die Umgebungsvariablen sollten nach der erfolgreichen Installation wieder auf die Standardwerte gesetzt werden!

PS C:\test> $env:NODE_TLS_REJECT_UNAUTHORIZED = 0 
PS C:\test> npm set strict-ssl false 


Befehl npm install führt zu Timeout

Der Befehl npm install funktioniert aufgrund eines Proxys nicht, dann reicht die allgemeine Proxy-Einstellung nicht aus. Daher muss über Konsole folgendes ausgeführt werden:


npm config set proxy http://proxy.domain:port
npm config set https-proxy https://proxy.domain:port


Falls Nutzerdaten erforderlich sind:

npm config set proxy http://user:pass@proxy.domain:port
npm config set https-proxy https://user:pass@proxy.domain:port>


Weitere Informationen sind auch hier zu finden: http://www.fladi.de/2014/02/06/howto-npm-hinter-einem-proxy-verwenden/


Versionshistorie Print-Server

3.0.0

  • Erfordert mindestens node.js Version 18
  • Update puppeteer auf den neuesten Stand / Chrome 121.0.6167.85

2.0.4

  • Update puppeteer auf neusten Stand / Chrome 118.0.5993.70

2.0.3

  • Update puppeteer zu 21.2.0 / Chrome 116.0.5845.96
  • Für Log-Einträge wird Serverzeit anstelle vonGMT+0 verwendet

2.0.2

  • Neuen Headless-Modus für Chrome vorerst wieder deaktivieren

2.0.1

  • Print-Server bindet immer auch auf IPv6-Adressen, wenn möglich.

2.0.0

  • Update des Chromium-Browsers, der zum Drucken verwendet wird.

1.8.0

  • Browser-Tabs werden wieder korrekt geschlossen. Dies konnte darin resultieren, dass der Print-Service immer mehr Speicher verbraucht hatte.
  • Chromium-Profil wird beim Beenden des Print-Servers gelöscht.


1.7.0

  • Emuliere Media-Type print vor Druck und warte, bis kein Netzwerk-Traffic mehr herrscht. Hilft dabei, dass etwa Bilder aus @media-print-Regeln angezeigt werden.

1.6.1

  • Fix compatibility with Windows service installation script


1.6.0

  • Es wird nun Chromium 108.0.5351.0 zum Drucken genutzt.
  • Neues CLI-Flag --disableCache=true zum Deaktivieren des Browser-Cache.
  • Neues CLI-Flag --isolatedBrowser=true um einen separaten Browser für jeden Print-Request zu verwenden.
  • Fix Debian Install-Script, installiere auch libgbm1.


1.5.1

  • Abhängigkeit node-windows aktualisiert


1.5.0

  • Update auf Chromium 105.0.5173.0
  • Erfordert mindestens Node.JS 14 oder höher


1.4.1

  • Script zum Installieren / Deinstallieren des Windows-Services ist wieder lauffähig (install-windows-service.js und uninstall-windows-service.js)


1.4.0

  • Bei Fehlern während des Druckens wird dieser Fehler mit der HTTP-Antwort zurückgeliefert
  • Print-Server kann nun zum Drucken beliebiger Webseiten genutzt werden. JavaScript und CSS, welche im Kontext der zu druckenden Seite ausgeführt werden soll, kann nun mit der HTTP-Anfrage übergeben werden.
  • Bei Aufruf des Pfads /pdf liefer der Print-Server nun eine Status-Report des Servers zurück.

War dieser Artikel hilfreich?

Das ist großartig!

Vielen Dank für das Feedback

Leider konnten wir nicht helfen

Vielen Dank für das Feedback

Wie können wir diesen Artikel verbessern?

Wählen Sie wenigstens einen der Gründe aus
CAPTCHA-Verifikation ist erforderlich.

Feedback gesendet

Wir wissen Ihre Bemühungen zu schätzen und werden versuchen, den Artikel zu korrigieren