在java中使用itext填充xfa pdf表单

时间:2011-10-20 13:32:10

标签: java pdf itext pdf-form xfa

我必须填写pdf表格(用于在线提交数据),该表格包含xfa字段并使用iText。我能够生成支持读者的pdf文档,但字段未填写。

请建议我如何才能让它发挥作用。

1 个答案:

答案 0 :(得分:1)

所有你需要的是:

private void fillXmlInPdf(File xmlFile, File inputPdf, File outputPdf) throws IOException, DocumentException, FileNotFoundException, CsmartException {
    PdfStamper stamper=null;
    try {
        PdfReader reader = new PdfReader(inputPdf.getAbsolutePath());
        stamper = new PdfStamper(reader, new FileOutputStream(outputPdf), '\0', true);
        AcroFields afields = stamper.getAcroFields();
        XfaForm xfa = afields.getXfa();
        xfa.fillXfaForm(new FileInputStream(xmlFile));
    } catch (Exception e) {
        e.printStackTrace();
    }finally {
        try {
            stamper.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

这段代码很适合我...