Formulaires PDF en Java [fermé]


J'ai un ensemble de formulaires conçus en utilisant Word. J'ai besoin que ces formulaires soient remplis et enregistrés au format PDF. Tout cela par programme en Java.

J'ai exploré les possibilités suivantes:

  • Mot vide - > PDF AcroForm - > Remplir avec PDFBox

  • Word rempli par programme - > Converti en PDF

  • Mot vide - > XHTML - > Rempli et enregistré au format PDF à l'aide de la Soucoupe volante

  • Mot vide - > Converti en XML spécial pour Apache FOP

Jusqu'à présent, je rencontre les difficultés suivantes avec la première possibilité:

  • Très difficile de créer une table dynamique

  • PDFBox ne peut pas gérer correctement le texte RTL

Une bonne expérience avec ces solutions?

Author: Mickael Marrache, 2017-06-15

1 answers

J'ai fait une implémentation similaire pour un de mes clients il y a quelques années. J'ai utilisé open office pour créer le modèle et généré des PDF à l'aide d'iText. Voir si ça aide.

Étapes:

Création du modèle:

  1. Ouvrez un nouveau document dans open office et créer un nouveau document. Allez dans " afficher "et faites le mode" Conception de formulaire "
  2. Entrez le texte qui représentera la partie statique du modèle.
  3. Une fois le mode "Conception de formulaire" activé, le la barre d'outils sera ajoutée comme surlignée dans la capture d'écran ci-dessus. Cliquez maintenant sur la "Zone de texte" et insérez une zone de texte dans le document. Double-cliquez sur la zone de texte et insérez-y les entrées requises.
  4. Une fois le modèle de document créé, enregistrez et exportez le document au format PDF et ce document sera utilisé comme modèle pour la création de PDF

Remplissez le modèle en utilisant iText:

L'étape suivante consiste à lire le modèle et à remplir le modèle pour générer un PDF dynamiquement. iText fournit un PdfReader pour lire les fichiers PDF et PdfStamper pour modifier ou ajouter du contenu à un document PDF. Puisque le modèle est un fichier PDF, PdfReader lira le modèle et PdfStamper remplira les champs dynamiquement avec des données en temps réel. Voici les étapes

1.Lisez le modèle PDF à l'aide du PdfReader iText. Le modèle peut être placé n'importe où dans le système de fichiers. Mais dans un scénario de projet réel, il devrait être placé à l'intérieur du projet dossier.

  1. Créez un PdfStamper avec le PdfReader et un ByteArrayOutputStream comme paramètre.
  2. Remplissez les champs de modèle en utilisant l'instance de l'objet PdfStamper. La méthode setField () prend la clé et la valeur comme argument. La " clé "doit être le" Nom " de la zone de texte qui a été donnée lors de la création du modèle. Veuillez vous assurer que la" clé "est la même que le champ" Nom". Sinon, le champ ne sera pas rempli.
  3. Après avoir rempli le champs, fermez le PdfStamper avec les objets PdfReader.

Référence : http://itext-pdfcreation-template.blogspot.in/

 2
Author: Soumyajit, 2017-06-15 05:29:28