赛事平台业务上需要生成参赛证或奖状,平台采用定义PDF模板,使用ITEXT操作PDF文件,使用信息填充的技术路线。其中最核心的函数是:

<groupId>org.qlm</groupId>
<artifactId>qlm-utils-pdf</artifactId>
<version>1.0-SNAPSHOT</version>
public class PDFTools {
    public  static void genSingeleCardPDF(String resultfile,String templatefile, Hashtable valuetable)
}

pdf模板上定义好域,并和研发人员约定好名称,例如赛事平台约定:

zhaopian:照片文件地址

xingming:选手姓名

pinyin:选手姓名拼音

cansaihao:参赛号

cansaidalei:参赛大类别

cansaileixing:参赛类型

bisairiqi:比赛日期

changdi:场地

qiandaoshijian:签到时间

zhanyanshijian:展演时间

shengdianchangdi:盛典场地

mingshifenxiangchangdi:名师分享场地

将参数组合进valuetable中。

templatefile为模板文件名字,通常需要先从Minio取到本地。(统一建立一个/template目录,模板文件已下载的就不要再下载了)

resultfile 生成的参赛证文件(统一建立个/tmp目录,本地生成后传输到Minio)

奖状的流程类似