In dieser kurzen Anleitung wird erklärt, wie das PDF-Formular aus Excel-Daten in Java ausgefüllt wird. Es enthält alle notwendigen Details zum Konfigurieren der Umgebung, detaillierte Schritte zum Laden der PDF-Vorlagendatei, Methoden zum Laden und Durchlaufen aller Zeilen in der Excel-Datei sowie einen ausführbaren Beispielcode, der zum Ausfüllen des PDF-Formulars verwendet werden kann Excel in Java. Sie lernen auch die API-Aufrufe kennen, um auf ein beliebiges Formularfeld Ihrer Wahl zuzugreifen und dann seinen Wert mit Daten aus einer beliebigen Zeile und Spalte der geladenen XLSX-Datei festzulegen.
Schritte zum Ausfüllen von PDF aus Excel in Java
- Richten Sie die Umgebung ein, um Aspose.PDF und Aspose.Cells aus dem Repository zu verwenden
- Laden Sie die Excel-Quelldatei in das Objekt Workbook, das die Quelldaten für das PDF-Formular enthält
- Durchlaufen Sie alle Zeilen in der Excel-Quelldatei
- Laden Sie die PDF-Vorlagendatei in das Document class-Objekt und erhalten Sie Zugriff auf die darin enthaltenen Formularfelder
- Füllen Sie Daten in jedes Formularfeld aus der gewünschten Spalte in jeder Excel-Zeilendaten aus
- Speichern Sie jede ausgegebene PDF-Datei mit Bezug auf die Schlüsseldaten in den Excel-Zeilendaten
Diese Schritte füllen PDF aus Excel in Java, so dass zuerst die Excel-Quelldatei geladen wird und dann eine Iteration durch alle gewünschten Zeilen darin durchgeführt wird, um auf den jeweiligen Zellenwert zuzugreifen. Während der Iteration wird die Vorlagen-PDF-Datei geladen und es wird auf ihre jeweiligen Felder zugegriffen, um die Werte aus der Excel-Datei festzulegen. In derselben Iteration wird jede gefüllte PDF-Datei separat mit Bezug auf die aktuelle Zeile in der Iteration gespeichert.
Code zum automatischen Ausfüllen von PDFs aus Excel in 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"); | |
} | |
} |
Dieser Code demonstriert den Prozess zum automatischen Ausfüllen von PDF-Formularen aus Excel-Daten in Java durch Laden der Excel-Datei in das Workbook-Klassenobjekt, das den Zugriff auf jede Zeile und Spalte eines Arbeitsblatts und das Abrufen oder Festlegen von Werten darin unterstützt. Auf der anderen Seite bietet die Document-Klasse Optionen zum Laden der PDF-Vorlagendatei und zum Zugriff auf alle ihre Felder unter Verwendung ihres Namens, um auf die Werte zuzugreifen und die aktualisierte PDF-Datei auf der Festplatte zu speichern.
In diesem Thema haben wir den Prozess kennengelernt, um eine PDF-Datei mit den Daten aus einer Excel-Datei zu füllen. Wenn Sie lernen möchten, wie eine PDF-Datei mit einem Passwort geschützt wird, lesen Sie den Artikel zu wie man PDF mit Passwort in Java schützt.