HTML转换pdf

最近有html转换成pdf的需求,各种google,你懂的。

由于html样式很丰富,itext等都试过效果不好,最后找到一个叫flying-saucer-pdf的插件,实验果然效果不错,记录备用:

1、将html保存freemaker模板,满足数据的动态需求;

2、读取模板,准备数据,freemaker渲染生成html文件;

3、用户flying-saucer-pdf将文件转换成pdf。

https://github.com/flyingsaucerproject/flyingsaucer

 

其中有些坑:

1、html中的一些特殊字符需要注意,比喻:&。

2、永远的中文乱码问题:需要引用中文字体库

ITextRenderer renderer = new ITextRenderer();
ITextFontResolver fontResolver = renderer.getFontResolver();
String fontFile = "arialuni.ttf";
fontResolver.addFont(fontFile, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
String url = "XXXX.html";
renderer.setDocument(url);
renderer.layout();
renderer.createPDF(os);
os.close();

   

 

你可能感兴趣的:(HTML转换pdf)