Java iText填写PDF模版文本域空白问题

public static void main(String[] args) throws DocumentException, IOException {

    
    PdfReader reader = new PdfReader("/Users/xxx/Downloads/现场检查记录.pdf");

// PdfReader reader = new PdfReader("/Users/mohaotian/Desktop/简易程序处罚决定书.pdf"); // 模版文件目录

    PdfStamper ps = new PdfStamper(reader, new FileOutputStream("/Users/xxx/Downloads/fillTemplate.pdf")); // 生成的输出流
    AcroFields s = ps.getAcroFields();  
    Map fieldMap = s.getFields(); // pdf表单相关信息展示  
    for (Entry entry : fieldMap.entrySet()) {  
        String name = entry.getKey(); // name就是pdf模版中各个文本域的名字  
        Item item = (Item) entry.getValue();  
        System.out.println("[name]:" + name + ", [value]: " + item);  
    }  
    s.setField("jcsjKey", "aaa、啊哒哒哒1111aaaa");  
    s.setField("jcqkKey", "撒打算打算大");  
  
    ps.setFormFlattening(false); // 这句不能少  
    ps.close();  
    reader.close();  
}

setFormFlattening设置True生成的pdf文本域中没有数据
但是改为false文本域中有数据但是只有点击文本域的时候才会显示出来
我在网上查了很多 有说是中文问题
但是我改成英文的也是这样子

噜噜哒
浏览 852回答 3
3回答

慕沐林林

试了下,按照官方写的demo是正常的。。但是自己创建pdf,用pdf软件创建表单,存在你说的问题。。 还是换itext7吧,itext7是正常的

德玛西亚99

我也遇到一样的问题了,请问您是怎么解决的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java