Comment remplir un formulaire PDF à partir de données Excel en Java

Ce tutoriel rapide explique comment remplir le formulaire PDF à partir de données Excel en Java. Il contient tous les détails nécessaires pour configurer l’environnement, les étapes détaillées pour charger le modèle de fichier PDF, les méthodes pour charger et parcourir toutes les lignes du fichier Excel, et un exemple de code exécutable qui peut être utilisé pour remplir le formulaire PDF à partir de Excel en Java. Vous apprendrez également les appels d’API pour accéder à n’importe quel champ de formulaire de votre choix, puis définirez sa valeur avec les données de n’importe quelle ligne et colonne du fichier XLSX chargé.

Étapes pour remplir un PDF à partir d’Excel en Java

  1. Établir l’environnement pour utiliser Aspose.PDF et Aspose.Cells à partir du référentiel
  2. Chargez le fichier Excel source dans l’objet Workbook contenant les données source du formulaire PDF
  3. Parcourir toutes les lignes du fichier Excel source
  4. Chargez le modèle de fichier PDF dans l’objet Document class et accédez aux champs de formulaire qu’il contient
  5. Remplissez les données dans chaque champ de formulaire à partir de la colonne souhaitée dans chaque donnée de ligne Excel
  6. Enregistrez chaque fichier PDF de sortie en référence aux données clés dans les données de ligne Excel

Ces étapes remplissent le PDF à partir d’Excel en Java de sorte que le fichier Excel source soit d’abord chargé, puis l’itération est effectuée sur toutes les lignes souhaitées pour accéder à la valeur de cellule respective. Au cours de l’itération, le fichier PDF modèle est chargé et ses champs respectifs sont accessibles pour définir les valeurs à partir du fichier Excel. Dans la même itération, chaque fichier PDF rempli est enregistré séparément en référence à la ligne en cours dans l’itération.

Code pour remplir automatiquement un PDF à partir d’Excel en Java

import com.aspose.cells.Workbook;
import com.aspose.pdf.Document;
import com.aspose.pdf.TextBoxField;
public class AsposeTest {
public static void main(String[] args) throws Exception {//Main function to fill PDF form with Excel data
// Instantiate the license
com.aspose.pdf.License licPdf = new com.aspose.pdf.License();
licPdf.setLicense("Aspose.Total.lic");
com.aspose.cells.License licCells = new com.aspose.cells.License();
licCells.setLicense("Aspose.Total.lic");
// Open workbook containing data to be filled in the PDF form
Workbook workbook = new Workbook("InputWorkbook.xlsx");
for (int iRow = 1; iRow <= 15; iRow++)
{
// Open PDF template document containing form fields
Document pdfDocument = new Document("PdfWithFormField.pdf");
// Get a field
TextBoxField textBoxField = (TextBoxField)pdfDocument.getForm().get_Item("textboxRollNo");
// Modify field value
Double data = (Double) workbook.getWorksheets().get(0).getCells().get(iRow, 0).getValue();
textBoxField.setValue(Double.toString(data));
// Get another field
textBoxField = (TextBoxField) pdfDocument.getForm().get_Item("textboxName");
// Modify field value
textBoxField.setValue((String) workbook.getWorksheets().get(0).getCells().get(iRow, 1).getValue());
// Save the updated document as a separate PDF file
pdfDocument.save(textBoxField.getValue().trim() + ".pdf");
}
System.out.println("Done");
}
}

Ce code illustre le processus pour remplir automatiquement un formulaire PDF à partir de données Excel en Java en chargeant le fichier Excel dans l’objet de classe Workbook qui prend en charge l’accès à chaque ligne et colonne d’une feuille de calcul et l’obtention ou la définition de valeurs dans celle-ci. D’autre part, la classe Document fournit des options pour charger le fichier PDF modèle et accéder à l’un de ses champs en utilisant son nom pour accéder aux valeurs et enregistrer le fichier PDF mis à jour sur le disque.

Dans cette rubrique, nous avons appris le processus pour remplir un fichier PDF avec les données d’un fichier Excel. Si vous voulez apprendre le processus pour protéger un fichier PDF avec un mot de passe, consultez l’article sur comment protéger un PDF avec un mot de passe en Java.

 Français