Printing

像 Firefox 一樣列印

  • July 26, 2012

製作了一個 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使用$HTMLvar 並找到任何<img src=..元素,然後將每個src屬性替換為完整的圖像路徑,例如https://en.wikipedia.org/wiki/File:Uncle_Tupelo.jpg. 預設情況下,伺服器頁面技術將圖像源保留到伺服器的相對路徑,就像在這種情況下一樣<img src="File:Uncle Tupelo.jpg">。這些值大部分來自 CSS。這將解決列印輸出中的圖像問題,但其他 CSS 元素細節可能仍會失去。

另一種方法wget是使用快速 Perl 腳本。

引用自:https://unix.stackexchange.com/questions/43217