Drucken wie Firefox

Drucken wie Firefox

Habe ein CLI-Skript zum Drucken von Wikipedia-Artikeln erstellt:

WIKI='https://en.wikipedia.org/w/index.php?title='
TITLE=$1
PRINTABLE='&printable=yes'

SRC=$WIKI$TITLE$PRINTABLE

HTML=$1".html"
PS=$1".ps"

wget $SRC

mv index* $HTML

html2ps $HTML > $PS

lpr -P pr1444 $PS

Es funktioniert insofern, als wenn Sie schreiben./print Shane_Mosley Dieser Artikelwird gedruckt.

Im Vergleich zur Verwendung von Firefox (navigieren Sie zur Site und drucken Sie über die Menüs) ist das Druckergebnis jedoch schlechter: Das Layout ist viel weniger kompakt (insbesondere Tabellen), es gibt keine Bilder und „ungewöhnliche“ Zeichen können nicht verarbeitet werden.

Meine Frage also: Ist Firefox „monolithisch“ oder besteht er tatsächlich aus modularen Tools, die ich replizieren kann? Oder könnte ich Firefox als Server verwenden, dem ich Befehle zuführen kann (z. B. dorthin gehen und drucken)?

Falls nein: Gibt es Möglichkeiten, meine Werkzeuge besser einzusetzen, oder gibt es andere Werkzeuge, die das Ergebnis verbessern würden?

Antwort1

Wie Sie festgestellt haben, ist diese Methode bestenfalls suboptimal. Zusätzlich zum HTML benötigen Sie mindestens alle Bilder und CSS. Möglicherweise benötigen Sie auch das gesamte Javascript. Und dann ist da noch die ganze Sache mit dem Rendern dieses Chaos.

Aber für Sie gibt es gute Nachrichten in Form einerDrucken über die BefehlszeileErweiterung, die Sie in Firefox installieren können.

Dann:

firefox -print http://www.example.com/index.html

Weitere Beispiele finden Sie auf der Dokumentationsseite der Erweiterung.

Antwort2

Ich schlage vor, dass Sie grepdie $HTMLVariable verwenden und ein beliebiges <img src=..Element suchen und dann jedes srcAttribut durch den vollständigen Bildpfad ersetzen, wie https://en.wikipedia.org/wiki/File:Uncle_Tupelo.jpg. Standardmäßig behält die Server Pages-Technologie die Bildquelle im relativen Pfad des Servers bei, wie in diesem Fall <img src="File:Uncle Tupelo.jpg">. Die meisten dieser Werte sind aus CSS abgeleitet. Dadurch wird das Bildproblem in Ihren Ausdrucken gelöst, jedoch fehlen möglicherweise noch andere CSS-Elementdetails.

Eine Alternative wgetwäre die Verwendung eines schnellen Perl-Skripts.

verwandte Informationen