Pregunta

Tengo que llenar un formulario PDF (utilizado para enviar datos en línea) que tiene campos XFA y usando ITEXT para esto. Puedo generar el documento PDF habilitado para el lector, pero los campos no están llenos.

Sugiera cómo puedo hacer que funcione.

¿Fue útil?

Solución

Todo lo que necesitas es esto:

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

Este código funciona bien para mí ...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top