Contents
專案簡介
Percollate是一個命令列工具,可將網頁轉換為格式精美的PDF/EPUB或是 HTML。
安裝
💡 percollate 需要Node.js 版本8或更高版本,因為它使用新的 JavaScript 語法。
您可以在全域安裝 percollate:
# using npm npm install -g percollate # using yarn yarn global add percollate
要使程式包保持最新,您可以執行:
# using npm, upgrading is the same command as installing npm install -g percollate # yarn has a separate command yarn global upgrade --latest percollate
使用
💡 運行percollate –help 以獲取可用命令的列表。 對於特定命令,percollate
可用命令
Command | What it does |
---|---|
percollate pdf | 將一個或多個網頁打包為PDF |
percollate epub | yes |
percollate html | yes |
使用範例
基本的PDF生成
要將單個網頁轉換為PDF:
percollate pdf --output some.pdf https://example.com
要將多個網頁捆綁為單一個PDF,請將這些網頁的網址指定為命令的各別參數:
percollate pdf --output some.pdf https://example.com/page1 https://example.com/page2
您可以使用常見的Unix命令,並將URL列表保留在換行字元分隔的文字文件中:
cat urls.txt | xargs percollate pdf --output some.pdf
自定義頁面大小/邊距
默認頁面大小為A5(縱向)。 您可以使用–css選項使用任何支持的CSS大小覆蓋它:
percollate pdf --output some.pdf --css "@page { size: A3 landscape }" http://example.com
同樣,您可以定義:
- 自定義邊距:@page { margin: 0 }
- 基本字體大小:html { font-size: 10pt }
或者,就此而言,默認/自定義樣式表中定義的任何其他樣式。
這個工具是怎麼運作
- 使用 got 獲取頁面
- 使用 jsdom Enhance DOM
- 通過 mozilla / readability 傳遞DOM以去除不必要的元素
- 將HTML樣板和print stylesheet 應用於生成的HTML
- 使用 puppeteer 從頁面生成PDF
專案網址
相關線上課程
- 完整的 Node.js 開發者課程 2.0 – 這個課程有教如何使用 Node.js 開發命列列工具
✍ 搜尋結果太多?可參考 Soft & Share 搜尋引擎使用技巧