Този бърз урок обяснява как да попълните формуляр PDF от данни на Excel в Java. Той съдържа всички необходими подробности за конфигуриране на средата, подробни стъпки за зареждане на PDF файла с шаблона, методи за зареждане и повторение на всички редове във файла на Excel и изпълняваем примерен код, който може да се използва за попълване на PDF формуляр от Excel в Java. Ще научите също извикванията на API за достъп до всяко поле на формуляр по ваш избор и след това ще зададете стойността му с данни от всеки ред и колона на заредения XLSX файл.
Стъпки за попълване на PDF от Excel в Java
- Създайте среда за използване на Aspose.PDF и Aspose.Cells от хранилището
- Заредете изходния Excel файл в обекта Workbook, съдържащ изходните данни за PDF формуляр
- Преминете през всички редове в изходния файл на Excel
- Заредете шаблонния PDF файл в обекта Document class и получете достъп до полетата на формуляра в него
- Попълнете данни във всяко поле на формуляр от желаната колона във всеки ред с данни на Excel
- Запазете всеки изходен PDF файл с препратка към ключовите данни в реда с данни на Excel
Тези стъпки попълват PDF от Excel в Java, така че първо да се зареди изходният Excel файл и след това да се извърши итерация през всички желани редове в него за достъп до съответната стойност на клетката. По време на итерацията шаблонният PDF файл се зарежда и се осъществява достъп до съответните му полета, за да се зададат стойностите от Excel файла. В една и съща итерация всеки попълнен PDF файл се записва отделно по отношение на текущия ред в итерацията.
Код за автоматично попълване на PDF от Excel в 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"); | |
} | |
} |
Този код демонстрира процеса за автоматично попълване на PDF формуляр от данни на Excel в Java чрез зареждане на файла на Excel в обекта на класа Workbook, който поддържа достъп до всеки ред и колона на работен лист и получаване или задаване на стойности в него. От друга страна, класът Document предоставя опции за зареждане на шаблонния PDF файл и получаване на достъп до което и да е от неговите полета, използвайки неговото име за достъп до стойностите и запазване на актуализирания PDF файл на диска.
В тази тема научихме процеса за попълване на PDF файл с данните от Excel файл. Ако искате да научите процеса за защита на PDF файл с парола, вижте статията на как да защитите PDF с парола в Java.