
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 grep
die $HTML
Variable verwenden und ein beliebiges <img src=..
Element suchen und dann jedes src
Attribut 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 wget
wäre die Verwendung eines schnellen Perl-Skripts.