Заполните форму xfa pdf, используя itext в java - PullRequest
1 голос
/ 20 октября 2011

Мне нужно заполнить форму в формате pdf (используется для отправки данных онлайн), в которой есть поля xfa и для этого используется iText.Я могу создать PDF-документ с поддержкой чтения, но поля не заполнены.

Подскажите, пожалуйста, как мне заставить его работать.

1 Ответ

1 голос
/ 20 октября 2011

Все, что вам нужно, это:

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();
        }
    }
}

Этот код прекрасно работает для меня ...

...