Lancement standard d'un projet springboot avec votre IDE ou gradle :
gradlew.bat bootRun
Template pdf dans :
DataToPdf/src/main/resources/pdf/template.pdf
Librairie :
import com.itextpdf.text.*
Ajout de donnée via l'objet AcroFields
// Lecture du fichier template
PdfReader reader = new PdfReader(getDir() + "template.pdf");
// Copie du fichier template dans un autre fichier
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(getDir() + "output.pdf"));
// On récupère le formulaire de données
AcroFields form = stamper.getAcroFields();
// Ajout de données
form.setField(key, value);
form.setField(key, value);
// Fermeture des documents
stamper.close();
reader.close();
CheckBox :
form.setField(key, "YES");
Exemple liste des valeurs possibles pour notre template :
String[] statesCheckBox = form.getAppearanceStates("CheckBox_1");
Arrays.stream(statesCheckBox).forEach( s-> {
System.out.println(s);
});
Output pour notre projet : Off, Oui
Les valeurs sont dépendantes de la langue du fichier pdf.
TODO: chercher comment paramétrer la langue
OptionsList :
form.setField(key, "Choice3");
Exemple liste des valeurs possibles pour notre template :
String[] statesCheckBox = form.getAppearanceStates("CheckBox_1");
Arrays.stream(statesCheckBox).forEach( s-> {
System.out.println(s);
});
Output pour notre projet : Off, Choice1, Choice2, Choice3