Linux 15.027 Themen, 107.035 Beiträge

hmtl seite an Drucker senden

bhoernchen / 8 Antworten / Baumansicht Nickles

Ich habe eine HTML Seite auf einem Linux Server mit Root Rechten die Daten aus einer Datenbank anzeigt .. die Datenbank wird über verschieden Messeinrichtungen innerhalb von 2 Stunden mit Werten befüllt..  Am ende der 2 Stunden muss jetzt immer jemand über einen Browser auf Drucken gehen und dann wird ein PDF erstellt das mach ich im Moment mit  tcpdf (was man aber ändern könnte)..  das ganze steht in einer Firma und wird auch nie öffentlich sein.. i

Ich würde jetzt gern das das Ausdrucken automatisch passiert wenn der Messvorgang einen Bestimmten Punkt erreicht hat. Das PDF soll dann automatisch z.B. an einen Netztwerkdrucker geschickt werden, ohne Menschliche eingriffe . Ich könnte mir vorstellen das ich das über eine Terminal oder über php Script lösen aber wie genau.

Ich habe aber im Moment überhaupt keine Idee wie ich da einen Ansatz finden soll.. Vielleicht hat ja jemand ein paar Ideen. Danke

Einfach nur gut
bei Antwort benachrichtigen
bhoernchen Nachtrag zu: „hmtl seite an Drucker senden“
Optionen

das hier könnte schon lange...

http://www.linux-community.de/Internal/Artikel/Print-Artikel/EasyLinux/2008/04/Neue-Dateien-automatisch-bearbeiten-lassen

oder das

https://wiki.ubuntuusers.de/Fsniper/

mal schauen ob ich noch was anderes bekomme aber danke für die leute diie das bis her gelesen haben und noch kommen werden..

Einfach nur gut
bei Antwort benachrichtigen
Borlander bhoernchen „hmtl seite an Drucker senden“
Optionen

Insgesamt brauchst Du nach meinem Verständnis folgende Pipeline zur Verarbeitung:

  1. Erkennung der vollständigen Datenlieferung
  2. Erstellen der Druckvorlage (als PDF, oder ggf. auch einem anderen Format wenn nur gedruckt werden soll)
  3. Druckvorlage auf System drucken

Schritte 1 hast Du schon zu Deiner Zufriedenheit realisiert. Bei Schritt 2 fehlt die Erkennung des richtigen Zeitpunkts und Schritt 3 würdest Du nun gerne vollständig automatisieren.

Am ende der 2 Stunden muss jetzt immer jemand über einen Browser auf Drucken gehen und dann wird ein PDF erstellt das mach ich im Moment mit  tcpdf

D.h.: Eigentlich müsstest Du "nur" alle zwei Stunden eine PDF per HTTP herunterladen? Das könntest Du auch mit wget realisieren.Auf Basis welcher Kriterien kannst Du denn entscheiden wann der Prozess fertig ist?

Das PDF soll dann automatisch z.B. an einen Netztwerkdrucker geschickt werden, ohne Menschliche eingriffe

Schau dir mal lpr an.

Was ich noch nicht ganz verstanden habe: Wozu gibt es da noch eine HTML-Datei, wenn Du doch direkt mit PHP eine PDF erzeugst?

Gruß
Borlander

bei Antwort benachrichtigen
bhoernchen Borlander „Insgesamt brauchst Du nach meinem Verständnis folgende Pipeline zur Verarbeitung: Erkennung der vollständigen ...“
Optionen

Danke erstmal für die Infos ..

Im Moment wird das System über eine Webseite bedient und eine Person sitzt vor einem Rechner und druckt dann das Ergebnis aus.. 

Wie du schon richtig erkannt hast soll auch nicht immer nach 2 Stunden ausdruckt werden sondern es gibt einen Startpunkt und dann dauert das eben 2 Stunden und erst am Ende soll das ausgedruckt werden.. da ich das nicht gleich alles Automatisiert (eher wegen meine Unfähigkeit) haben, was ich jetzt aber gern nachholen würde..  Auch gibt es insgesamt 3 Messgeräte die eben jedes für sich starten und auch jedes für sich enden..  die Daten sollen hinterher auch noch weiter verarbeitet werden und je nach Vorgang auch vielleicht noch leicht angepast werden .. deswegen wird das Menschlichen einwirken auch nicht 100% auszuschließen sein .. aber das Ausdrucken kann man immerhin schon mal automatisieren ..

Ich werde die Tage auch noch mal bei Mysql ne Frage stellen da ich mit dem Max Befehl nicht wirklich Klar komme.. ich habe zwar jetzt ein Lösung aber ich will wissen ob es da nicht was bessers gibt ..

Im Moment habe ich noch ein Problem ein Richtiges PDF zu erstellen die CSS Unterstützer  von tcpdf sind nicht so toll.. ich muss mal schauen ob ich es nicht doch schaffe Irgendwie komplexe Grapfen und Tabellen anders auszugeben ..

Einfach nur gut
bei Antwort benachrichtigen
fishermans-friend bhoernchen „Danke erstmal für die Infos .. Im Moment wird das System über eine Webseite bedient und eine Person sitzt vor einem ...“
Optionen

Aus HTML ein PDF erstellen, ist nicht unbedingt das Problem. Könnte man z. B. mit Perl machen.
Ich habe hier was bei der iX gefunden:
https://www.heise.de/ix/artikel/Linie-fuer-Linie-505776.html

Es gibt da sicherlich noch viele andere Möglichkeiten.

Das Schwierigste ist das, was schon Borlander beschrieben hat, den richtigen Zeitpunkt zu erwischen.
Durch was, oder wie werden die Messungen ausgelöst? Automatisch, oder auch manuell? 

Wulf Alex, Debian GNU/Linux 3. Auflage "In der Tat ist der Pinguin ein angenehmerer Sympathieträger als ein fliegendes Gebäudeteil, oder ein Stück angebissenes Obst."
bei Antwort benachrichtigen
bhoernchen fishermans-friend „Aus HTML ein PDF erstellen, ist nicht unbedingt das Problem. Könnte man z. B. mit Perl machen. Ich habe hier was bei der ...“
Optionen

Hier werden Menschen in ihrem Verhalten und ihn ihren Körperreaktion erfasst.. wenn eine Person anfängt.. soll die Messung starten ..  und nach 2 Stunden ist dann der Test vorbei .. so in etwa nur die Test-Person soll im Grunde von den Computern so gut wie nichts mitbekommen damit sie nichts machen muss.. das Problem mit dem Start ist so gut wie gelöst und auch der Startpunkt lässt sich 2 Stunden lang verschieben (über besagt html Seite) nur will ich eben den letzten abschnitt Automatisieren weil hier eben Zeitfenster entstehen.. die besser automatisiert werden sollten.. 

Das mit dem PDF muss ich mir mal ansehen..  In Perl habe ich bis her eher selten gearbeitet aber das sollte machbar sein ...

Einfach nur gut
bei Antwort benachrichtigen
Borlander bhoernchen „Hier werden Menschen in ihrem Verhalten und ihn ihren Körperreaktion erfasst.. wenn eine Person anfängt.. soll die ...“
Optionen
Hier werden Menschen in ihrem Verhalten und ihn ihren Körperreaktion erfasst.. wenn eine Person anfängt.. soll die Messung starten ..

Also bei Übeschreiten/Unterschreiten bestimmter Schwellwerte von einzelnen Messgrößen, oder Mustern?

Das mit dem PDF muss ich mir mal ansehen..  In Perl habe ich bis her eher selten gearbeitet aber das sollte machbar sein ...

Mit der Low-Level Perl Lösung machst Du Dir sicherlich keine Freude ;-)

bei Antwort benachrichtigen
Borlander fishermans-friend „Aus HTML ein PDF erstellen, ist nicht unbedingt das Problem. Könnte man z. B. mit Perl machen. Ich habe hier was bei der ...“
Optionen
Aus HTML ein PDF erstellen, ist nicht unbedingt das Problem. Könnte man z. B. mit Perl machen. Ich habe hier was bei der iX gefunden: https://www.heise.de/ix/artikel/Linie-fuer-Linie-505776.html

Der Artikel ist inzwischen schon fast volljährig :-P

Da gibt es heute wesentlich bessere Lösungen und mit Perl würde definitiv keine neuen Projekte mehr starten, weil Du später keinen findest der die ganze Lösung warten möchte.

Letztendlich wäre es vorher ggf. hilfreich zu wissen was da als PDF-Report erzeugt werden soll, bzw. ob es ggf. auch ausreichen würde direkt eine Webseite zu drucken. PDF hätte aber auf jeden Fall den Vorteil, dass man die Messergebnisse ggf. gleich vernünftig archivieren könnte. Für Forschungsarbeiten würde ich das auf jeden Fall empfehlen, aber such sonst ist diese Option nie verkehrt.

PDFs von Hand generieren (mit elementaren Grafikoperationen) schafft zwar tendenziell eine große Flexibilität, ist aber auch ziemlich aufwändig: Du musst Dich da nämlich um jede Kleinigkeit kümmern. Insbesondere der Umgang mit Zeilen und Seitenumbrüchen in tabellarischen Daten ist absolut kein Vergnügen!

Es gibt da noch diverse andere Möglichkeiten (nicht abgeschlossen):

  • Das Textsatzsystem LaTeX zur PDF-Erzeugung nutzen.
    Vorteil: Damit hat man schon eine recht große Flexibilität - wenn man sich mit LaTeX auskennt.
    Nachteil: Die Inhalte müssen tendenziell escaped werden
  • Mit Serienbrieffunktionen erstellen (Open/Libre-Office gibt es auch in einer automatisierbaren Headless-Funktion).
    Vorteil: Ggf. einfache Erstellung und Anpassung von Vorlagen
    Nachteil: Ggf. komplizierte Ablaufsteuerung
  • Report-Generator nutzen
    Vorteil: Ggf. direkt aus der DB nutzbar
    Nachteil: Ggf. eingeschränkte Flexibilität
  • Converter nutzen von HTML zu PDF
    Vorteil: Tendenziell einfache Umsetzung
    Nachteil: Einschränkungen beim Layout

Es gibt also verschiedene Möglichkeiten. Mit TCPDF wurde schon eine ganz geeignete High-Level Lösung gewählt (siehe z.B. https://ourcodeworld.com/articles/read/226/top-5-best-open-source-pdf-generation-libraries-for-php). Wenn man das Gesamtsystem mit einer sauberen Architektur aufbaut, dann kann man später ggf. auch noch zu einer besseren und schöneren Lösung wechseln.

bei Antwort benachrichtigen
fishermans-friend Borlander „Der Artikel ist inzwischen schon fast volljährig :-P Da gibt es heute wesentlich bessere Lösungen und mit Perl würde ...“
Optionen

Danke für deinen Beitrag.
Die Perl-Variante war nur eine Idee. Wie du schon ausführlich gelistet hast, gibt es unzählige Möglichkeiten. Es ist nur dann immer schwierig, das Passende herauszufinden.

Wie wann so schön schreibt "Viel Wege führen nach Rom."

Grüße ff

Wulf Alex, Debian GNU/Linux 3. Auflage "In der Tat ist der Pinguin ein angenehmerer Sympathieträger als ein fliegendes Gebäudeteil, oder ein Stück angebissenes Obst."
bei Antwort benachrichtigen