Denna snabba handledning förklarar hur man fyller i PDF-formulär från Excel-data i Java. Den innehåller alla nödvändiga detaljer för att konfigurera miljön, detaljerade steg för att ladda mall-PDF-filen, metoder för att ladda och iterera genom alla rader i Excel-filen och en körbar exempelkod som kan användas för att fylla i PDF-formulär från Excel i Java. Du kommer också att lära dig API-anropen för att komma åt valfritt formulärfält och sedan ställa in dess värde med data från valfri rad och kolumn i den inlästa XLSX-filen.
Steg för att fylla PDF från Excel i Java
- Etablera miljön för att använda Aspose.PDF och Aspose.Cells från arkivet
- Ladda in Excel-källfilen i objektet Workbook som innehåller källdata för PDF-formuläret
- Iterera igenom alla rader i källfilen i Excel
- Ladda in PDF-mallen i objektet Document class och få tillgång till formulärfälten i det
- Fyll i data i varje formulärfält från önskad kolumn i varje Excel-raddata
- Spara varje utgående PDF-fil med hänvisning till nyckeldata i Excel-raddata
Dessa steg fyller i PDF från Excel i Java så att först källfilen för Excel laddas och sedan utförs iteration genom alla önskade rader i den för att komma åt respektive cellvärde. Under iterationen laddas PDF-mallen och dess respektive fält öppnas för att ställa in värdena från Excel-filen. I samma iteration sparas varje ifylld PDF-fil separat med hänvisning till den aktuella raden i iterationen.
Kod för att autofylla PDF från Excel i 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"); | |
} | |
} |
Den här koden demonstrerar processen att automatiskt fylla i PDF-formulär från Excel-data i Java genom att ladda Excel-filen i Workbook-klassobjektet som stöder åtkomst till varje rad och kolumn i ett kalkylblad och att hämta eller ställa in värden i det. Å andra sidan ger klassen Document alternativ för att ladda PDF-mallen och få tillgång till alla dess fält med hjälp av dess namn för att komma åt värdena och spara den uppdaterade PDF-filen på disken.
I det här ämnet har vi lärt oss processen att fylla en PDF-fil med data från en Excel-fil. Om du vill lära dig processen för att skydda en PDF-fil med ett lösenord, se artikeln om Hur man skyddar PDF med lösenord i Java.