Printing
像 Firefox 一樣列印
製作了一個 CLI 腳本來列印 Wikipedia 文章:
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
如果您寫
./print Shane_Mosley
這篇文章,它會被列印出來。但是,與使用 Firefox(導航到站點並從菜單列印)相比,列印結果較差:佈局更不緊湊(尤其是表格),沒有圖片,並且無法處理“不尋常的”字元。
所以,我的問題是:Firefox 是“單一的”還是實際上由模組化工具組成,我可以複製?或者我可以使用 Firefox 作為伺服器,我可以提供命令(比如去那裡列印)?
如果不是:有沒有辦法以更好的方式使用我的工具,或者是否有其他工具可以提高結果?
正如您所發現的,這種方法充其量是次優的。除了 HTML,您至少還需要所有圖像和 CSS。您可能還需要所有的 Javascript。然後就是渲染這個爛攤子的全部內容。
但是對你來說,有一個好消息,你可以在 Firefox 中安裝命令行列印擴展。
然後:
firefox -print http://www.example.com/index.html
擴展文件頁面上有更多範例。
我建議您
grep
使用$HTML
var 並找到任何<img src=..
元素,然後將每個src
屬性替換為完整的圖像路徑,例如https://en.wikipedia.org/wiki/File:Uncle_Tupelo.jpg
. 預設情況下,伺服器頁面技術將圖像源保留到伺服器的相對路徑,就像在這種情況下一樣<img src="File:Uncle Tupelo.jpg">
。這些值大部分來自 CSS。這將解決列印輸出中的圖像問題,但其他 CSS 元素細節可能仍會失去。另一種方法
wget
是使用快速 Perl 腳本。