大致分为以下几种
1.利用PDF模板,读入模板,填充数据,生成带数据的PDF
先要生成自己的PDF模板,然后在模板中定义变量,等待代码填充变量值。
优点:代码简单;
缺点:模板要先提供,表单域的变量只能是name,age这样的简单变量,而不能是user.name,user.age这样的复杂变量;
而且这种生成PDF的方式要自己制作表单的时候就设计好那一块应该放什么,样式扩展性很差,不灵活.
pass!!!
2 正常代码撰写PDF文档
优点:模板可以根据代码调整
缺点:后端代码量大,不好维护
基本可以pass!
这种方式有IText Spire.PDF等 可以查看对应的官网
3 利用HTML模板,读取HTML模板,填充数据,由HTML转PDF
目前看到两种方式 itext或者wkhtmltopdf
前者对复杂的css支持的不够好 itext是java类库
后者功能强大 对html兼容好
还有一种方式iText+flying saucer 能够解决iText本身的缺点
wkhtmltopdf的一些调研
工具全名叫 "wkhtmltopdf" ; 是一个使用 Qt WebKit 引擎做渲染(所以对html支持的更好)的,能够把html 文档转换成 pdf 文档 或 图片(image) 的命令行工具。(强调一下:是 “命令行工具” )
C++编写的
优点:
1 跨平台
2 支持目录
3 转换速度快