2011-10-20 5 views
1

Je dois remplir un formulaire pdf (utilisé pour soumettre des données en ligne) qui a des champs xfa et en utilisant iText pour cela. Je suis en mesure de générer le document PDF compatible avec le lecteur, mais les champs ne sont pas remplis.Remplir xfa format pdf en utilisant itext dans java

S'il vous plaît suggérer comment puis-je le faire fonctionner.

Répondre

1

Tout ce que vous avez besoin est ceci:

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

Ce code fonctionne bien pour moi ...

+0

Pouvez-vous s'il vous plaît décrire la formation de xmlFile ..? –

+2

Oh .. Pour cela, vous devrez vous référer à la XSD dans les données XFA. Le plus simple est de remplir d'abord les données sur le pdf. Puis cliquez sur exporter les données sur le pdf. Étudiez le XML et créez-le comme vous le souhaitez en java .. – sethu

+0

Merci pour l'aide. –

Questions connexes