image
概述
在我们项目中会使用freemark 生成 html,然后用 html 转 pdf。那么美化是必不可少的程序。
页面设置
页面大小设置
可以在style中设置如下属性修改页面大小。可以通过size 设置任意大小的page(不能是百分比),也可以设置标准的页面大小,如a4, a5, a3, b3, b4, letter, legal,ledger
理论上来说,可以在一个文档中设置不同的页面尺寸。但这个解析器仅仅取第一页的page 的宽度作为 html 中body 的宽度,所以实际上,宽度只能设置一个,高度可以是设置多个。
@page {
size: 500px 1000px;
margin: 50px;
}
页边距设置、背景颜色等
可以在@page属性中设置的当前页的页边距,内边距、背景颜色等。和一般的 html 设置类似。
@page {
size: 210mm 297mm; margin: 0;
padding: 0;
background: #ebeef3;
}
不过当我这里设置所有边框都为0 时候发现生成的pdf 仍然有边界。其实那是body 的边距。可以通过下面的方法设置
设置body 边距
和页面大小设置相似,这样所有的边距都就没了。这是一个需要注意的地方
body {
margin: 0;
}
设置分页
这里就不多说了,看我另一篇文章即可。分页优化
参考文档
- GitHub 上关于分页特性 的介绍很详细。这里只是说些我用到可能出现坑的地方。或者注意的地方。
本文介绍了如何使用开源库openhtmltopdf将html转换为美观的pdf,包括页面大小设置、页边距和背景颜色调整、body边距设定以及分页优化。在页面大小设置中,需要注意解析器会取第一页的宽度作为body宽度。通过特定方式可消除pdf的默认边距。此外,提供了分页设置的参考资料链接。

3535

被折叠的 条评论
为什么被折叠?



