Hallo Linux-Fans/User
Ich würde gerne automatisiert über die Konsole (Gnome) ein html-Dokument drucken. Hintergrund der ganzen Sache ist folgender: Es werden diverse Messwerte über die serielle Schnittstelle eingelesen und in ein html-dokument eingebunden. Dieses Protokoll (Tabelle mit erfassten Messwerten+Grafik) läßt sich problemlos in Firefox öffnen und auch dort über das Menü ausdrucken. Um zu vermeiden, dass das Ausdrucken vergessen wird und da das betreffende Protokoll bei jedem weiteren Einlesend er Daten überschrieben wird, würde ich gerne diesen Vorgang automatisieren. Das Einlesen der Messwerte, Umwandeln in html und der gleichen erfolgt alles in einem bash-script. Abschließend wird noch der Firefox mit dem aktuellen Messblatt gestartet… jetzt fehlt nur noch das Ausdrucken…
Hat jemand vielleicht einen Tip für mich, wie man das ganze realisieren kann??
Ich bedanke mich für eure Unterstützung und freue mich auf eure Tipps
Gruss Kneubel
Hallo Kneubel
*** Drucken per Kommando *** (siehe die entsprechenden Manual Pages)
Dies ist mit “lpr” möglich:
> lpr -Pname datei
Hier ist “name” der Name der Warteschlange. Für den Standartdrucker
kann auf -P verzichtet werden:
> lpr datei
Um die Ausgabe (oder Ausgaben) eines anderen Programms oder Kommandos
auszudrucken, kann eine Pipe verwendet werden:
z.B.
> ls -1 *.html | lpr (-1 is eine Eins)
> programm_xyz | lpr
Alle Druck-jobs welche nicht sofort gedruckt werden können (z.B. Drucker
is busy), kommen in ein Warteschlange. Druck-jobs in einer Warteschlange
können wie folgt inspiziert bzw. gelöscht werden:
Inhalt der Warteschlange:
> lpq -Pname (oder einfach > lpq)
Job entfernen:
> lprm -Pname n (oder einfach > lprm n)
Hier ist n die Identifikations-nummer des Print-jobs welche via “lpq”
festgestellt wird.
(siehe auch Manual Pages für “lpstat”, “lpinfo”, “lpoptions”, etc)
Gruss,
Roland
-/-
html2ps $mein_HTML-File | lpr
Habt ersteinmal recht herzlichen Dank für Eure Unterstützung.
Meiner Ansicht nach bzw. zu meinem Anwendungsfall ist lediglich
html2ps $mein_HTML-File | lpr
ein begehbarer Weg, die HTML-Seiten auszudrucken, wobei man auch hier anmerken muss, dass Ausdruck und Orginalseite differieren (Schriftart, …).
Gruss Kneubel
Hallo Kneubel,
—– Du schreibst —–
Meiner Ansicht nach bzw. zu meinem Anwendungsfall ist lediglich
html2ps $mein_HTML-File | lpr
ein begehbarer Weg, die HTML-Seiten auszudrucken, wobei man auch
hier anmerken muss, dass Ausdruck und Orginalseite differieren
(Schriftart, …).
—– end Quote —–
Betr. Ausdruck ungleich Orginalseite hast Du leider recht!
Vielleicht solltest Du auch noch “htmldoc” ausprobieren. Diese
Utility hat ein paar andere Optionen, aber auch hier ist Ausdruck
nicht gleich Original. Style-Sheets sowie Font-Spezifikationen
werden ignoriert — es stehen lediglich eine beschränkte Auswahl
von “built-in” Fonts zur Verfügung. Trotzdem, ich finde “htmldoc”
etwas besser als “html2ps”.
(htmldoc generiert meist sehr grosse pdf Dateien!)
Beispiel:
Um ein html Dokument in ein pdf umzuwandeln, mit Seiten Nummerierung
Mitte/unten (siehe man pages):
> htmldoc –header ” ” –footer ” / ” -t pdf –continuous \
-f out.pdf in.html
Es ist notwendig, etwelche Tabellen genügend klein zu gestalten so
dass diese auf eine Drucker Seite (A4) passen, sonst gibts Probleme.
———-
Noch eine Anmerkung:
Beste Qualität würdest Du mit LATEX erreichen! Nachteil: man muss
zumindest etwas LATEX lernen.
Hier wäre der Konvertierungsvorgang:
– html to dvi
– dvi to pdf
Gruss,
Roland
-/-
Wenn ich dein Problem richtig verstanden habe, kannst du es auch mit einem kleinen Javascript versuchen:
Tabelle XY
Hier die Tabelle…
Hallo Kneubel,
Ich hätte noch eine Alternative welche Dir vielleicht nützt?
Wenn ich Dich richtig verstanden habe, machst Du folgendes:
– via Script: HTML Datei erstellen,
– via Script: Datei im Firefox darstellen,
und dann möchtest Du noch:
– via Script: Datei automatisch ausdrucken.
—————————————————–
Deine Frage war, ob dies mit dem Firefox möglich ist.
—————————————————–
Du könntest folgendes machen:
– alles wie oben, und dann:
– via Script: HTML Datei via OpenOffice.org audrucken.
Dies ist möglich mit Command Line Befehlen.
Siehe:
OpenOffice.org > Help > Index > Search term = “command line parameters”
“Starting the OpenOffice.org Software With Parameters”
Command Line Parameters:
-p {filename1} {filename2} …
oder:
-pt {Printername} {filename1} {filename2} …
Gruss,
Roland
-/-
Danke Roland für deine Hilfestellung; leider löst dies mein Problem nicht (zufridenstellend), da durch das Senden von bsp:
firefox Protokoll.html | lpr Protokoll.html -pdruckername
zwar Firefox gestartet wird und auch der Druckauftrag gestartet wird, JEDOCH wird der HTML-Code ausgedruckt und nicht das Layout der Seite. Was ich bräuchte wäre das Starten des Druckes aus Firefox mittels Konsole.
Hast du vllt noch einen weiteren TIP?
Mögliche Lösungen:
1) links -dump Protokoll.html | lpr -Pdruckername
2) html2ps Protokoll.html Protokoll.ps && lpr -Pdruckername Protokoll.ps
3) Ansonsten hilft wohl nur das “Fernsteuern” von Firefox mittels Mozilla-Mechanize (dies ist für diverese Script-Sprachen verfügbar).
fejf
Weiter Möglichkeit sofern KDE installiert ist, kannst Du dieses mit diversen Scriptsprachen (auch per bash) via DCOP (kDCOP) und ab 4.0 per DBUS (kDBUS) fernsteuern.
Ich habe mir mit hilfe des KDE Tools kdcop sowie man dcop ein kleines Script zum ein und ausschalten des KDE Screensavers gebaistelt (z.B. dcop kdesktop KScreensaverIface enable false schaltet den Screensaver aus). Das geht sicher auch zum Drucken via Konqueror (siehe auch [1]+[2]).
Alternativ fällt mir noch ein direkt auf CUPS zu drucken und dort den HTML-Druckerfilter zu verwenden (siehe [3], [4] und [5].
Ciao
Ulf
PS: Wenn Du eine Lösung hast kannst Du sie ja mal hier Posten – würde mich auch interessieren.
[1] http://newsgroups.seducy.de/artikel/503023/KDE/Konqueror_zum_drucken_von_URLs_fernsteuern.html
[2] https://www.linux-community.de/Neues/story?storyid=519
[3] http://de.opensuse.org/SDB:Selbst_erstellte_Filter_zum_Ausdruck_mit_CUPS
[4] http://www.linux-user.de/ausgabe/2001/10/038-drucken/drucken-kp1.html
[5] http://debiananwenderhandbuch.de/drucken.html#cupsfilter