在2016年,从命令行将HTML文件转换为pdf的最佳方法是使用wkHTMLtopdf.不幸的是,这似乎不再是真正的维护.它不支持很多像flexBox这样的东西.
可以使用无头铬/铬来做到这一点:
Chrome --headless --print-to-pdf="path/to/pdf" https://your_url
但是没有选项,如边距,纸张类型,页眉/页脚控制,屏幕尺寸等.
似乎没有计划将这些添加到无头Chrome中作为命令行选项(需要使用开发工具界面):
https://bugs.chromium.org/p/chromium/issues/detail?id=603559#c89
如何从命令行将HTML文件转换为pdf,从而控制文档的打印方式(边距等,从上面开始),并支持现代的HTML / CSS?
最佳答案我无法找到解决方案,遗憾的是这里没有答案.所以我编写了一个使用无头Chrome的nodeJs包装器:这创建了一个命令行工具,您可以使用它将HTML页面转换为pdf,就像它们在Chrome中一样.https://www.npmjs.com/package/chromehtml2pdf
要安装它,你需要npm,并输入:
npm install ChromeHTML2pdf
或者使全局可供系统上的所有用户使用
npm install -g ChromeHTML2pdf
命令行用法:
ChromeHTML2pdf --out=file.pdf --landscape=1 https://www.npmJs.com/package/ChromeHTML2pdf
如需帮助(查看所有可能的选项),请键入:
ChromeHTML2pdf --help
此时,我只在Ubuntu 14.04上测试过它,但我不明白它为什么不能移植. 总结
以上是内存溢出为你收集整理的如何从命令行将现代HTML转换为PDF全部内容,希望文章能够帮你解决如何从命令行将现代HTML转换为PDF所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)