网页要实现打印除了利用浏览器本身的功能以外,就是将html转换为pdf,然后pdf就可以打印可者另存。比浏览器自带的功能强大更多。
wkhtmltopdf 是一个强大的开源工具,它能将HTML网页直接转换为高质量的PDF文档。
wkhtmltopdf官方网站下载地址:https://wkhtmltopdf.org/downloads.html ,提供了各个常用OS的版本。
基本使用:
wkhtmltopdf input.html output.pdf
wkhtmltopdf –page-size A4 http://example.com/ myfile.pdf
通常你需要静默输出: wkhtmltopdf -q –page-size A4 http://example.com/ myfile.pdf
设置页面大小A4,上下左右边界,headerhtml和footerhtml定义页眉页脚:
wkhtmltopdf –page-size A4 –margin-top 10mm –margin-right 10mm –margin-bottom 10mm –margin-left 10mm –footer-html footer.html input.html output.pdf
更多用法可以参考官方: https://wkhtmltopdf.org/usage/wkhtmltopdf.txt
除了使用HTML文件外,还可以直接在命令行中指定文本作为页眉和页脚:
--header-center: 设置中心对齐的页眉文本。
--footer-center: 设置中心对齐的页脚文本。
--header-font-name: 设置页眉字体名称。
--footer-font-name: 设置页脚字体名称。
--header-font-size: 设置页眉字体大小。
--footer-font-size: 设置页脚字体大小。
--header-spacing: 设置页眉与内容之间的间距。
--footer-spacing: 设置页脚与内容之间的间距。
例如:
wkhtmltopdf \
--header-center "Header Text" \
--footer-center "Page [page] of [toPage]" \
--header-font-name "Arial" \
--footer-font-name "Arial" \
--header-font-size 10 \
--footer-font-size 10 \
--header-spacing 5 \
--footer-spacing 5 \
index.html output.pdf
[page] 和 [toPage] 是特殊占位符,分别表示当前页码和总页数。
您可以使用 --header-left, --header-right, --footer-left, --footer-right 来设置左右对齐的文本。
您也可以使用 --header-line 和 --footer-line 来添加一条横线作为分割线。