我可以使用Chrome或Chromium从命令行打印到目标“另存为PDF”吗?我希望能够使用Chrome的内置功能将html文件自动转换为PDF。
我可以使用Chrome或Chromium从命令行打印到目标“另存为PDF”吗?我希望能够使用Chrome的内置功能将html文件自动转换为PDF。
Answers:
为什么不使用HTML呈现引擎来完成整个工作,而不是调用整个Web浏览器?使用wkhtmltopdf执行转换。
您也可以将现有网站转换为PDF
$ wkhtmltopdf http://google.com google.pdf
注意:从技术上讲,谷歌浏览器的渲染引擎是Blink,它是Webkit的分支。Blink和Webkit之间有90%以上的通用代码,因此您应该得到类似的结果。
Chrome浏览器已启动无头程序。
这样,我们可以创建一个pdf。例如,对于Windows,将命令行导航至
C:\Users\{{your_username}}\AppData\Local\Google\Chrome SxS\Application>
然后点击命令:
chrome --headless --print-to-pdf="d:\\{{path and file name}}.pdf" https://google.com
--user-data-dir="C:\Users\...\AppData\Local\Google\Chrome\User Data
用来在用户的Chrome配置文件下运行。例如,这对于从需要用户登录的网站导出内容很有用,因为会话cookie可用。
您必须使用Google Chrome / Chromium 59或更高版本 并且仅适用于MAC OS和Linux用户。
* Windows用户仍然需要等待一段时间直到版本60 *
命令:
$ google-chrome --headless --disable-gpu --print-to-pdf=file1.pdf http://www.example.com/
$ chromium-browser --headless --disable-gpu --print-to-pdf=file1.pdf http://www.example.com/
参考:https : //developers.google.com/web/updates/2017/04/headless-chrome
编辑:谷歌浏览器/ Chromium 60已针对Windows用户推出。
CMD中的命令用法:
C:\Program Files\Google\Chrome\Application> chrome.exe --headless --disable-gpu --print-to-pdf=file1.pdf http://www.example.com/
您的pdf文件命名file1.pdf将保存在
“ C:\ Program Files或(x86)\ Google \ Chrome \ Application \ 60.0.3112.113(chrome版本)\ file1.pdf”
--disable-gpu
在最新版本中不再需要。
https://github.com/fraserxu/electron-pdf正是为此目的而设计的。
CLI看起来像这样: $ electron-pdf http://fraserxu.me ~/Desktop/fraserxu.pdf
electron-pdf http://fraserxu.me test.pdf
按照帮助中的建议进行了尝试,但我也尝试了gooogle.com