
製作了一個 CLI 腳本來列印維基百科文章:
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 作為伺服器,以便我可以輸入命令(例如轉到那裡並列印)?
如果沒有:是否有辦法更好地使用我的工具,或者是否有其他工具可以增強結果?
答案1
正如您所發現的,此方法充其量只是次優。除了 HTML 之外,您至少還需要所有圖片和 CSS。您可能還需要所有 Javascript。然後就是渲染這種混亂的全部過程。
但對你來說,有一個好消息命令列列印您可以在 Firefox 中安裝擴充功能。
然後:
firefox -print http://www.example.com/index.html
擴展文檔頁面上有更多範例。
答案2
我建議您到grep
var$HTML
並找到任何<img src=..
元素,然後將每個src
屬性替換為完整圖像路徑,例如https://en.wikipedia.org/wiki/File:Uncle_Tupelo.jpg
.預設情況下,伺服器頁面技術將圖像來源保留到伺服器的相對路徑,如本例所示<img src="File:Uncle Tupelo.jpg">
。這些值大部分源自於 CSS。這將解決列印輸出中的圖像問題,但其他 CSS 元素詳細資訊可能仍然丟失。
另一種方法是wget
使用快速 Perl 腳本。