ForumHTML mittels Konsole drucken
Kneubel – Donnerstag, 31. Januar 2008 14:24 Uhr

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

3 Antworten
Roland M. Egloff – Donnerstag, 31. Januar 2008 15:15 Uhr

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

-/-

Kneubel – Donnerstag, 31. Januar 2008 15:31 Uhr

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?

Florian E.J. Fruth – Donnerstag, 31. Januar 2008 16:32 Uhr

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

Ulf B. – Donnerstag, 31. Januar 2008 22:38 Uhr

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

Doki Nafaso – Freitag, 01. Februar 2008 23:15 Uhr

html2ps $mein_HTML-File | lpr

Kneubel – Montag, 04. Februar 2008 13:52 Uhr

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

Roland M. Egloff – Montag, 04. Februar 2008 15:05 Uhr

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

-/-

Doki Nafaso – Montag, 04. Februar 2008 21:02 Uhr

Wenn ich dein Problem richtig verstanden habe, kannst du es auch mit einem kleinen Javascript versuchen:

Tabelle XY

Hier die Tabelle…

Roland M. Egloff – Sonntag, 06. April 2008 11:40 Uhr

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

-/-