如何在 Linux 下將網(wǎng)頁轉(zhuǎn)換為 PDF 文件
當(dāng)你將某些資源存檔或用于教育目的時,將網(wǎng)頁保存為 PDF 是很方便的。
但是,你如何在 Linux 中把一個網(wǎng)頁轉(zhuǎn)換成 PDF?
你可以選擇使用每個 Linux 發(fā)行版上的網(wǎng)頁瀏覽器(GUI),或者使用終端將網(wǎng)頁變成 PDF 文件。
在這里,我將提到這兩種方法來幫助你完成工作。
方法 1:使用網(wǎng)頁瀏覽器將網(wǎng)頁轉(zhuǎn)換為 PDF 文件
盡管我在本教程中使用的是 Mozilla Firefox,但你也可以用任何 可用于 Linux 的最佳瀏覽器 做同樣的事情。
1、加載你想轉(zhuǎn)換的網(wǎng)頁。
2、在瀏覽器菜單中找到“打印”選項(xiàng),或使用鍵盤快捷鍵 Ctrl + P
。
3、默認(rèn)情況下,它應(yīng)該讓你把它保存為 PDF。你需要點(diǎn)擊“保存”,然后選擇目的地并保存網(wǎng)頁。
Save webpage as PDF in Mozilla Firefox
這種簡單方法的一個主要問題是,它包括頁面上的所有元素。這可能包括評論、頁腳等。你可以用一個 PDF 編輯器來刪除部分內(nèi)容,但這是一個額外的任務(wù)。
更好的選擇是利用一個瀏覽器擴(kuò)展,如 Print Friendly。它允許你在下載 PDF 之前編輯和刪除網(wǎng)頁的部分內(nèi)容。
方法 2:使用終端將網(wǎng)頁轉(zhuǎn)換為 PDF 或圖片
你可能已經(jīng)知道,你可以 在 Linux 終端瀏覽互聯(lián)網(wǎng),甚至 使用命令行下載文件。這并不奇怪,因?yàn)槟憧梢栽诮K端中做更多的事情,包括將網(wǎng)頁下載為 PDF。
一個靈巧的開源命令行工具 wkhtmltopdf
和 wkhtmltoimage
可以幫到你,讓你把任何 HTML 網(wǎng)頁轉(zhuǎn)換成 PDF 或圖像文件。
它使用 Qt WebKit 渲染引擎來完成這個任務(wù)。你可以瀏覽它的 GitHub頁面 了解更多信息。
你應(yīng)該能夠從你的 Linux 發(fā)行版的默認(rèn)倉庫中安裝它。對于基于 Ubuntu 的發(fā)行版,你可以輸入以下命令:
sudo apt install wkhtmltopdf
無論你想把它轉(zhuǎn)換為 PDF 還是圖像文件,它的使用都是非常直接的:
要將一個網(wǎng)頁轉(zhuǎn)換成 PDF,請輸入:
wkhtmltopdf URL/domain filename.pdf
比如,類似于這樣:
wkhtmltopdf linuxmint.com mint.pdf
你可以選擇使用 https://linuxmint.com
這樣完整的 URL 或使用域名,如上面的例子所示。
默認(rèn)情況下,生成的文件將保存在主目錄下。
在轉(zhuǎn)換網(wǎng)頁時,你還可以得到一些好玩的選項(xiàng)。
例如,你可以對 PDF 文件應(yīng)用灰度過濾器,在同一文件中制作多個頁面副本,以及在轉(zhuǎn)換過程中排除圖像。
灰度過濾器不一定對每個網(wǎng)頁都有效,但你可以用命令試試:
wkhtmltopdf -g google.com googlepage.pdf
要在同一個 PDF 文件中復(fù)制多個頁面,命令是:
wkhtmltopdf --copies 2 linuxmint.com mint.pdf
而且,如果你想排除網(wǎng)頁中的圖像,只需輸入:
wkhtmltopdf --no-images linuxmint.com mint.pdf
此外,如果你想把一個網(wǎng)頁轉(zhuǎn)換為圖像,命令是這樣的:
wkhtmltoimage linuxmint.com mint.png
注意,與使用瀏覽器的 GUI 方法不同,通過終端使用這些工具有其局限性。它似乎不能成功轉(zhuǎn)換利用任何 <iframe>
代碼片段的網(wǎng)頁。
像我們的網(wǎng)站,甚至 DuckDuckGo 都沒有轉(zhuǎn)換為 PDF 或圖像。然而,簡單的 HTML 網(wǎng)站,如 Linuxmint.com、Ubuntu.com、Google.com 則非常有效。
總結(jié)
使用瀏覽器將網(wǎng)頁保存為 PDF 似乎是個好辦法。但是,如果你想有更多的選擇并通過終端,wkhtmltopdf
工具應(yīng)該會派上用場。