遇到的问题
1.addSubstitutionFont 设置字体填充不生效,以及生成的pdf文件过大
解决:删除itext-asian 包引用
2.BaseFont无法设置粗体
解决:用getFieldPositions 加载文本框 通过Font类来设置粗体.
3.文本框设置粗体大号文字产生位移
解决:自己调整new Paragraph 的几个参数控制.
pom必须引入
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.83</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.4.3</version>
</dependency>
<dependency>
<groupId>com.itextpdf.tool</groupId>
<artifactId>xmlworker</artifactId>
<version>5.4.1</version>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.0</version>
</dependency>
通用生成示例
package com.example.pdftmpelet;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.itextpdf.text.*;
import com.itextpdf.text.pdf.*;
import java.io.*;
import java.util.List;
/**
* 使用pdf模板生成pdf文件
*/
public class WriteToPDF {
public static Stri