Augu4 2019-03-06 10:00 采纳率: 0%
浏览 2085
已结题

[java]使用itext以及itext-asian实现pdf根据模板文件填充数据生成新pdf文件遇到的问题

发现中文 显示问题,不知道是否是itext-asian5.2.0包的bug,在中文显示中,只有“证”字无法显示,其他中文目前没发现有不显示的问题。

        String templatePath = "D:/updates/pdfTest.pdf";
        //生成的新文件路径
        String newPDFPath = "D:/updates/NewpdfTest.pdf";
        PdfReader reader;
        FileOutputStream out;
        ByteArrayOutputStream bos;
        PdfStamper stamper;
        try {
            out = new FileOutputStream(newPDFPath);//输出流
            reader = new PdfReader(templatePath);//读取pdf模板
            bos = new ByteArrayOutputStream();
            stamper = new PdfStamper(reader, bos);
            AcroFields form = stamper.getAcroFields();

            String[] str = {"小证明","110","13666666666","163@qq.com",
                    "二代身份证"
                    ,"230*************1221"};
            int i = 0;
            java.util.Iterator<String> it = form.getFields().keySet().iterator();
            while(it.hasNext()){
                String name = it.next().toString();
                System.out.println(name);
                form.setField(name, str[i++]);
            }
            stamper.setFormFlattening(true);//如果为false那么生成的PDF文件还能编辑,一定要设为true
            stamper.close();

            Document doc = new Document();
            PdfCopy copy = new PdfCopy(doc, out);
            doc.open();
            PdfImportedPage importPage = copy.getImportedPage(
                    new PdfReader(bos.toByteArray()), 1);
            copy.addPage(importPage);
            doc.close();

        } catch (IOException e) {
            e.printStackTrace();
        } catch (DocumentException e) {
            e.printStackTrace();
        }

新生成的pdf文件:
图片说明

  • 写回答

1条回答 默认 最新

  • 燕双嘤嘤 2019-03-06 10:19
    关注

    只有那个地方有问题的话,是不是字段长度的问题,只能显示前面几个字符,显示不了后面的字符,你可以换的其他的字符试一下

    评论

报告相同问题?

悬赏问题

  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题