- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
2016 年,从命令行将 HTML 文件转换为 PDF 的最佳方法是使用 wkhtmltopdf。不幸的是,似乎不再真正维护它了。它不支持很多东西,比如 flexbox。
可以使用 headless chrome/chromium 来做到这一点:
chrome --headless --print-to-pdf="path/to/pdf" https://your_url
但是没有边距、纸张类型、页眉/页脚控制、屏幕尺寸等选项。
似乎没有计划将它们作为命令行选项添加到 headless chrome 中(需要使用开发工具界面): https://bugs.chromium.org/p/chromium/issues/detail?id=603559#c89
如何从命令行将 HTML 文件转换为 PDF,从而控制文档的打印方式(页边距等,从上方),并支持现代 html/css?当然,一旦可以从命令行转换,您也可以使用您选择的编程语言进行转换。
最佳答案
这是一个命令行工具,您可以使用它来将 HTML 页面转换为 PDF,就像在 chrome 中一样。安装后,您可以将它与所需的任何编程语言(Python、Java、PHP 等)一起使用,以自动从 HTML 网页或文档生成 PDF。所有的依赖关系都应该在未来得到很好的维护,所以它不应该像 wkhtmltopdf 这样难以维护的东西有同样的问题。
网址:
https://www.npmjs.com/package/chromehtml2pdf
https://github.com/dataverity/chromehtml2pdf
要安装它,您需要 npm,然后输入:
npm install chromehtml2pdf
或者让它对系统上的所有用户全局可用
npm install -g chromehtml2pdf
命令行用法:
chromehtml2pdf --out=file.pdf --landscape=1 https://www.npmjs.com/package/chromehtml2pdf
如需帮助(查看所有可能的选项),请键入:
chromehtml2pdf --help
请随时在 github 上提出拉取请求。
关于html - 如何将现代 HTML 转换为 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48602393/
我是一名优秀的程序员,十分优秀!