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

查看:1317
本文介绍了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文本域中有数据但是只有点击文本域的时候才会显示出来
我在网上查了很多 有说是中文问题
但是我改成英文的也是这样子

解决方案

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

还是换itext7吧,itext7是正常的

这篇关于Java iText填写PDF模版文本域空白问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆