一、什么是percollate?
percollate是一个可以将网页转换为组织美观的pdf的命令行工具。
二、如何安装percollate
安装之前需要注意,由于percollate使用了新的Javascript语法,所以需要且包本地node版本>=8.6.0, 如果在开发过程中遇到错误SyntaxError: Unexpected token errors,你可以通过node –version来确认你本地的node版本。
然后通过在命令行运行命令:
# 通过npm安装
npm install -g percollate
# 通过yarn安装
yarn global add percollate
如果你想将你本地的percollate的升级为最新版本,可以通过在命令行运行以下命令。
# np,
npm install -g percollate
# yarn
yarn global upgrade --latest percollate
三、使用方式
1、可用命令
percollate pdf 可以同时将多个网页一次性生成到一个pdf文件里面
percollate epub 目前尚未实现
percollate html 目前尚未实现
2、可选参数
a、-o, –output 指定生成的文件名,如果不传则默认网页的title作为生成的文件名
b、–individual 在传入多个web页面时,将每一个页面生成单独的pdf文件
c、–template 自定义html模版的路径
d、–style 自定义css的路径
e、–css 通过命令行传入的附加css样式表,可用于覆盖页面默认的或者自定义的css样式。
四、使用方式
1、将一个网页生成一个pdf文件
percollate pdf --output some.pdf https://example.com
2、将多个网页一次性生成到一个pdf文件中
percollate pdf --output some.pdf https://example.com/page1 https://example.com/page2
3、如果需要将同时传入的多个网页生成单独的pdf文件,可以附加参数–individual。
percollate pdf --individual --output some.pdf https://example.com/page1 https://example.com/page2
4、你可以将带转换成pdf的网页预先定义在一个文件中,如果通过通过linux命令借助管道传递给percollate
cat urls.txt | xargs percollate pdf --output some.pdf
5、自定义生成pdf页面的尺寸和边距
默认的页面尺寸是A5(竖版),但我们可以通过参数–css来覆盖默认尺寸,–css值的规范请点击这里
percollate pdf --output some.pdf --css "@page { size: A3 landscape }" http://example.com
类似定义方式:
custom margins: @page { margin: 0 }
the base font size: html { font-size: 10pt }