开源库 openhtmltopdf 将 html 转 为 pdf 页面优化、美化的不得不知道的经验

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 页面优化、美化的不得不知道的经验)