如何使用Percollate将在线网页下载为PDF

时间:2020-02-23 14:30:31  来源:igfitidea点击:

有没有想过如何在Linux终端上以PDF文件格式下载网页?本指南将使用Percollate命令行工具以精美格式的PDF文件下载在线网页。

Percollate如何运作

这是Percollate的工作原理:使用got来获取页面使用jsdom增强DOM通过Mozilla /可读性传递DOM以去除不必要的元素将HTML模板和打印样式表应用到生成的HTML中使用操纵p从页面生成PDF

如何在Linux上安装Percollatein

Percollate需要在本地系统上安装Node.js版本8或者更高版本,因为它使用新的(ish)JavaScript语法。使用或者指导安装Node.js:

如何在Linux上运行多个版本的Node.js一旦安装了Node.js,我们就可以继续使用yarn或者npm来全局安装percollate。

对于npm使用:

npm install -g percollate

对于纱线,使用:

yarn global add percollate

通过运行以下命令检查安装的版本:

$percollate --version
0.2.10

对于帮助页面,请使用:

$percollate --help
Usage: percollate [options] [command]

Options:
  -V, --version             output the version number
  -h, --help                output usage information

Commands:
  pdf [options] [urls...]   Bundle web pages as a PDF file
  epub [options] [urls...]  Bundle web pages as an EPUB file
  html [options] [urls...]  Bundle web pages as a HTML file

更新Percollate

要使软件包保持最新,我们可以运行:

$npm install -g percollate
or
$yarn global upgrade --latest percollate

使用Percollate

可用的基本命令有:percollate pdf:将一个或者多个网页捆绑到PDFpercollate epub中:将一个或者多个网页捆绑到一个epubpercollate html中:将一个或者多个网页捆绑到一个HTMLfile中

可用的选项包括:-o,输出结果包的路径;省略时,输出文件名从网页的标题派生。将每个网页作为单个文件导出。template定制HTML模板样式的路径定制CSScss的路径:可以从命令传递的其他CSS样式-覆盖默认/自定义样式表样式的行

见下面的例子

将单个网页转换为PDF:

percollate pdf --output file filename.pdf https://example.com

要将多个网页捆绑到一个PDF中,请将它们指定为命令的单独参数:

percollate pdf --output flename.pdf https://example.com/page1 https://example.com/page2

我们可以使用常见的Unix命令并将URL列表保留在以换行符分隔的文本文件中:

cat urls.txt | xargs percollate pdf --output filename.pdf

要将多个网页一次转换为单个PDF文件,请使用单个标志:

percollate pdf --individual --output some.pdf https://example.com/page1 https://example.com/page2

设置自定义页面尺寸/边距

默认页面大小为A5(纵向)。但我们可以使用--css选项使用任何受支持的CSS大小覆盖它:

percollate pdf --output some.pdf --css "@page { size: A3 landscape }" http://example.com

同样,我们可以使用以下方法进行定义:

自定义边距:@page {margin:0}
基本字体大小:html {font-size:10pt}

或者默认/自定义样式表中定义的任何其他样式。