项目背景
公司做跨境支付业务,在台*和菲*都有自己的业务。在业务积累到一定量的前提下,需要把台*->菲**转账的资金流通过银行的外汇业务,手动换汇出去。
各类跨国(跨境)银行都有自己内部规范的转账委托书(PDF模板文件)。项目组需要在订单池子里面捞出所有可以换汇的订单信息,用户信息,生成银行需要的PDF形式
生成PDF的二中模式
方式一:用HTML的格式渲染的方式
优点:适合pdf内,需要填充照片类型数据量多的场景,html调整照片格式,和位置比较直观。方便
使用方式:
1,调整模版文件html:
2,用到的核心jar包
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.28</version>
</dependency>
<dependency>
<groupId>org.xhtmlrenderer</groupId>
<artifactId>core-renderer</artifactId>
<version>R8</version>
</dependency>
3, 渲染html(html中不能由预定义的&、{、}等占位符方式,影响动态渲染实时数据
/**
* 渲染html文件
* @Param filePath 文件基础路径 eg:/temp
* @Param templateFileName 模板文件名称 eg:example
* @Param pdfFileName 输出的pdf文件名称 eg:example_2021091801_01
* @Param realPdfFile 输出的pdf文件的绝对路径 eg:/temp/Fxxxxxx/xxxx202109