Datenschutzhinweis

 

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

 

             

Print-Server

Geändert am Di, 8 Okt um 4:52 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-Server 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-Servers.

  • 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.


Installationsschritte für eine Offline-Installation des Print-Servers


Für Systeme, auf denen kein Internetzugriff für die Node.js-Umgebung möglich ist, steht in der Customer-Cloud ein Archiv zum Download bereit, welches bereits die benötigten Node.js-Module enthält. Für die Installation des Printservers mithilfe von diesem Archiv muss wie folgt vorgegangen werden:

  • Download des Archivs aus der Customer-Cloud, wobei üblicherweise die neueste Datei verwendet werden sollte. Der Dateiname enthält die Versionsnummer.
  • Entpacken Sie die ZIP-Datei und verschieben Sie den Inhalt in einen 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
node install-windows-service.js

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-Servers.

  • 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.


Falls der Dienst mit einem bestimmten Benutzer gestartet werden soll, so muss dieser Lesezugriff auf den Installationsordner und Schreibzugriff auf alle Unterordner haben. Es kann in einer solchen Umgebung nötig sein, den daemon-Ordner per Hand anzulegen und mit Rechten zu versehen.


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-Server 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 aktualisieren:

  • Die aktuelle Version "print_server_fc.zip" herunterladen.
  • Den Print-Server-Windows-Dienst stoppen.
  • Aus dieser ZIP-Datei alle Dateien in den Ordner kopieren, wo der Print-Server 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-Server-Windows-Dienst wieder gestartet werden.

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



Aktualiserung für eine Offline-Installation des Print-Servers

Im Normalfall sollte eine Aktualisierung eines zuvor mit einem Offline-Installationspaket installierten Print-Servers wie folgt funktionieren:

  • Löschen des zuvor installierten Print-Servers im Installationsverzeichnis (Standardmäßig: C:\Programme\print_server_fc). Je nach Installtionsart (und -ort) muss bei der Installation gegebenenfalls auf zuvor vorhandene Lese- und Schreibrechte geachtet werden, sodass es gut ist, wenn man diese vor dem Löschen notiert.
  • Download des Archivs aus der Customer-Cloud, wobei üblicherweise die neueste Datei verwendet werden sollte.
  • Entpacken Sie die ZIP-Datei und verschieben Sie den Inhalt in einen Ordner print_server_fc unter C:\Programme\ wie bei einer Neuinstallation.
  • Falls nötig: Vergeben von Dateisystemberechtigungen, so wie sie vor dem Update vorhanden waren. Je nach vorhandenen Berechtigungen kann es nötig sein, den daemon-Ordner per Hand anzulegen und mit Rechten zu versehen.


Wichtig: Es ist üblicherweise nicht möglich, eine "normale" Installation des Print-Servers mit einem Offline-Installationspaket zu aktalisieren. In einem solchen Fall ist es meist am einfachsten, eine Neuinstallation mit dem Offline-Installationspaket vorzunehmen.


Installation Print-Server unter Linux


Voraussetzungen

Um den Print-Server zu installieren, wird eine relativ aktuelle Node.js-Version vorausgesetzt (Aktuell: Version 18). Da die viele Distributionen ältere Node.js-Versionen über ihre Paketverwaltungen installieren, installiert unser Installationsscript entsprechend den Anweisungen vom Hersteller eine aktuelle Node.js-LTS-Version. Dafür ist es zwingend nötig, dass der Server Internetzugriff auf die Domain hat, unter der die Pakete liegen. Für Debian-baiserte Distributionen ist dies deb.nodesource.com. Für die Installation der Node.js-Umgebung können wir leider keine Offline-Lösung anbieten.


Im Normalfall werden die vom Print-Server benötigten npm-Pakete durch das Installationsscript auf dem Server aus dem Internet heruntergeladen. Für Umgebungen, in denen dies nicht möglich ist, wird ein zusätzliches Offline-Installationsarchiv (print_server_offline.zip, siehe unten) angeboten, welches die benötigten Node.js-Module enthält. Das Installationsscript erkennt automatisch das Vorhandensein des Offline-Installationsarchivs.



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

Wir bieten für einige Distributionen ein fertiges Installationsscript an. Für die aktuelle Print-Server-Version exisitiert momentan das Script install_print_server.sh, welches unter Debian 11, Debian 12, Ubuntu 22.04 und Ubuntu 24.04 funktioniert. Über die Konsole kann man das Installationsscript und die für die Installation benötigten Archive wie folgt und herunterladen und verwenden:

# Download des Installationsscripts für Debian 11/12 und Ubuntu 22.04/24.04
wget "https://customer.formcycle.eu/index.php/s/1b40tdPrvxdYhio/download?path=/&files=install_print_server.sh" -O install_print_server.sh


# Download der Installationsdaten
wget "https://customer.formcycle.eu/index.php/s/1b40tdPrvxdYhio/download?path=/&files=print_server_fc.zip" -O print_server_fc.zip

# Optional: Download des Installationsarchivs für die Offline-Installation der benötigten Node.js-Pakete
wget "https://customer.formcycle.eu/index.php/s/1b40tdPrvxdYhio/download?path=/&files=print_server_offline.zip" -O print_server_offline.zip


# Script-Datei ausführbar machen
chmod 750 install_print_server.sh

# Installation starten
./install_print_server.sh

# Print-Server-Dienst starten
systemctl start printserver


In den ersten Zeilen des Scripts kann noch - über die Variablen PRINTSERVER_USER und PRINTSERVER_USER_PWD - der Name und das Passwort des vom Print-Server verwendeten Benutzers 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-Server 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-Server-Systemdienst FORMCYCLE Print-Server stoppen: systemctl stop printserver
  • Die Dateien aus dieser Zip-Datei in den Ordner kopieren, wo der Print-Server 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-Server-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 Print-Server testweise auf dem lokalen Server aufgerufen werden (in diesem Beispiel wird versucht, die Webseite www.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-Server 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-Server korrekt, da bereits ein PDF erzeugt wird. Es muss geprüft werden, ob die Loopback-URL richtig eingetragen ist, damit die URL zum Print-Server 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:[email protected]:port
npm config set https-proxy https://user:[email protected]: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.1.0

  • Aktualisierung auf den neusten Stand / Chrome 127.0.6533.72

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