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&param1=value1&param2=value2&filename=new.pdf

5.2.2. 根据模板页生成image

http://localhost:8080/wkhtmltox/renderImage?view=pdf.template&param1=value1&param2=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)