1. 介绍
本插件是提供生成pdf或image的功能,使用http://wkhtmltopdf.org/提供底层功能.
wkhtmltopdf是使用Qt WebKit 渲染引擎完成上述工作的.
2. 使用
使用在线initilizer工具时,会随着组件的选择自动添加 gradle中
implementation('org.yunchen.gb:gb-plugin-pdf:1.2.0')
3. 安装wkhtmltopdf
从http://wkhtmltopdf.org/下载可执行文件,解压至相应的目录
OS | Path |
---|---|
OS X |
/usr/local/bin/wkhtmltopdf |
Linux |
/usr/bin/wkhtmltopdf |
Windows |
C:/local/wkhtmltox/bin/wkhtmltopdf.exe |
linux或unix上需要分派用户权限和可执行权限-x TIP: 注意解压目录中不要包含wkhtmltopdf字样 |
4. 配置
配置application.yml文件:
gb:
pdf:
wkhtmltopdf:
binary: C:/local/wkhtmltox/bin/wkhtmltopdf.exe (1)
1 | 不同的操作系统改为写相应的命令位置 |
5. 调用
5.1. 创建模板
在/src/main/resources/templates/tools目录下创建pdf.template文件,内容如下:
<h1>title</h1>
hello <br/>
param1:${param1} <br/>
param2:${param2} <br/>
5.2. 内置controller
5.2.1. 根据模板页生成pdf
http://localhost:8080/wkhtmltox/renderPdf?view=pdf.template¶m1=value1¶m2=value2&filename=new.pdf
5.2.2. 根据模板页生成image
http://localhost:8080/wkhtmltox/renderImage?view=pdf.template¶m1=value1¶m2=value2&filename=new.png
5.2.3. 根据url生成pdf
http://localhost:8080/wkhtmltox/url2pdf?url=http://bing.com&filename=bing.pdf
5.2.4. 根据url生成image
http://localhost:8080/wkhtmltox/url2image?url=http://bing.com&filename=bing.png
5.3. 使用service
5.3.1. 注入service
@Autowired WkhtmltoxService wkhtmltoxService
5.3.2. 使用方法
Map params=[:] params.view="pdf.template" params.model=[param1:"value1",param2:"value2"] //params.header=header //params.footer=footer byte[] data = wkhtmltoxService.makePdf(params) byte[] data = wkhtmltoxService.makeImage(params) byte[] data= wkhtmltoxService.url2pdf(url) byte[] data= wkhtmltoxService.url2image(url)