下面是一個簡單的範例,展示如何使用PdfStamper和AcroFields來填寫PDF表單:
```java
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.pdf.AcroFields;
import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.PdfStamper;
import java.io.FileOutputStream;
import java.io.IOException;
public class PdfFormFiller {
public static void main(String[] args) {
try {
// 讀取現有的PDF表單
PdfReader reader = new PdfReader("input.pdf");
// 創建一個新的PDF檔案來存放填寫後的表單
FileOutputStream out = new FileOutputStream("output.pdf");
PdfStamper stamper = new PdfStamper(reader, out);
// 獲取AcroFields對象,用來操作表單字段
AcroFields form = stamper.getAcroFields();
// 填寫表單字段
form.setField("name", "John Doe");
form.setField("date", "2023-01-01");
form.setField("address", "123 Main Street");
// 關閉PdfStamper和FileOutputStream
stamper.close();
out.close();
System.out.println("PDF表單填寫完成!");
} catch (IOException | DocumentException e) {
e.printStackTrace();
}
}
}
```
這個範例中,我們首先讀取了一個現有的PDF表單,然後創建了一個新的PdfStamper對象來對該表單進行填寫。接著,我們使用AcroFields對象來設定表單字段的值,最後關閉PdfStamper和FileOutputStream來保存填寫後的表單。希望這個範例對你有所幫助!