推薦答案
Apache PDFBox 是一(yi)(yi)個流行的(de) Java 庫,用于(yu)處理 PDF 文(wen)件。它提(ti)供了一(yi)(yi)組功能強大(da)的(de) API,可以(yi)(yi)用于(yu)創建、修(xiu)改和(he)填(tian)充(chong) PDF 文(wen)件。以(yi)(yi)下是使用 Apache PDFBox 動態填(tian)充(chong) PDF 參數(shu)的(de)一(yi)(yi)般步驟:
1.導入 Apache PDFBox 相關依賴。
首先(xian),您需要在項目中導入 Apache PDFBox 的相關依賴。您可以(yi)在 Maven 或(huo) Gradle 中添加以(yi)下依賴項:
org.apache.pdfbox
pdfbox
2.0.0
2.加載 PDF 文件。
使(shi)用 PDFBox 的 PDDocument 類加(jia)載 PDF 文件(jian)。您(nin)可以使(shi)用 PDDocument.load() 方法加(jia)載現有的 PDF 文件(jian):
PDDocument document = PDDocument.load(new File("input.pdf"));
3.獲取并編輯 PDF 的表單字段。
使(shi)用 PDDocument 對象(xiang)的(de) getDocumentCatalog().getAcroForm() 方法獲(huo)(huo)取(qu) PDF 的(de)表單字段(duan)。然(ran)后,使(shi)用字段(duan)的(de)名稱(cheng)或索引獲(huo)(huo)取(qu)表單字段(duan)對象(xiang),并設置其值:
PDAcroForm acroForm = document.getDocumentCatalog().getAcroForm();
PDField field = acroForm.getField("fieldName");
field.setValue("fieldValue");
4.保存修改后的 PDF 文件。
通(tong)過調(diao)用 PDDocument 對象的 save() 方法,將修改(gai)后的 PDF 文(wen)(wen)件(jian)保存到磁盤上的新文(wen)(wen)件(jian):
document.save(new File("output.pdf"));
5.關閉文檔。
最后,通過調用 PDDocument 對象的 close() 方法關閉文(wen)檔(dang),釋放資源:
document.close();
通過按(an)照上述(shu)步驟使用 Apache PDFBox 庫,您可以在 Java 中動態填(tian)充 PDF 字段。
其他答案
-
iText 是另一(yi)個功能強大的 Java 庫,用于創建和(he)處理 PDF 文件。它(ta)提供了(le)豐富(fu)的 API,可用于生成和(he)修改(gai) PDF 文檔。以下是使用 iText 動態(tai)填充(chong) PDF 參數的一(yi)般(ban)步驟:
1.導入 iText 相關依賴。
首先(xian),您需要在項目中導入(ru) iText 的相(xiang)關依賴。您可以在 Maven 或 Gradle 中添(tian)加以下(xia)依賴項:
com.itextpdf
itextpdf
5.5.13
2.加載 PDF 文件(jian)。
使(shi)用 iText 的 PdfReader 類加載(zai) PDF 文件(jian)。您可以使(shi)用 PdfReader 的構造函數加載(zai)現有的 PDF 文件(jian):
PdfReader reader = new PdfReader("input.pdf");
3.創建并編輯(ji) PDF 的(de)表單(dan)字段(duan)。
使用(yong) PdfStamper 類(lei)創建(jian) AcroFields 對(dui)象,并使用(yong)字段的名(ming)稱(cheng)設置字段值:
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream("output.pdf"));
AcroFields form = stamper.getAcroFields();
form.setField("fieldName", "fieldValue");
4.關(guan)閉和(he)保存修改(gai)后的(de) PDF。
通過調用 PdfStamper 對象(xiang)的(de) close() 方法保存(cun)并(bing)關(guan)閉修改后(hou)的(de) PDF 文(wen)件:
stamper.close();
reader.close();
通過按照上述步驟使用(yong) iText 庫(ku),您可以在 Java 中動態填充 PDF 字段。
-
PDFTron 是(shi)一(yi)個(ge)功能強大(da)的(de)(de)(de) PDF 處理庫,提供了豐富的(de)(de)(de)功能和(he) API,用于創建、修改(gai)和(he)填(tian)(tian)充 PDF 文(wen)件。以下是(shi)使用 PDFTron 動態填(tian)(tian)充 PDF 參數的(de)(de)(de)一(yi)般(ban)步驟:
10.導入 PDFTron 相關依賴。
首先(xian),您需要在項(xiang)目中(zhong)導入 PDFTron 的相關依賴。您可(ke)以在 Maven 或(huo) Gradle 中(zhong)添加以下依賴項(xiang):
com.pdftron
pdftron
7.2.1
pom
11.創建(jian) PDFDoc 對象(xiang)并加載 PDF 文件。
使用(yong) PDFDoc 類創建 PDF 文檔對象,并加(jia)載現有的(de) PDF 文件:
PDFDoc doc = new PDFDoc("input.pdf");
12.獲取(qu)并(bing)設(she)置 PDF 的表(biao)單字段。
使用(yong) PDFDoc 對(dui)象(xiang)(xiang)的 getField 方法(fa)獲(huo)取表(biao)單字(zi)段對(dui)象(xiang)(xiang),并使用(yong) setValue 方法(fa)設置字(zi)段的值:
Field field = doc.getField("fieldName");
field.setValue("fieldValue");
13.保存(cun)修改(gai)后的 PDF 文件。
通過(guo)調用(yong) PDFDoc 對象的(de)(de) save 方法,將(jiang)修改后的(de)(de) PDF 文件保存(cun)到磁盤(pan):
doc.save("output.pdf", SDFDoc.SaveMode.LINEARIZED, null);
14.關閉文檔。
最后,通過(guo)調用 PDFDoc 對象(xiang)的 close 方法關閉(bi)文檔(dang),并釋(shi)放資源:
doc.close();
通過按照上(shang)述步驟使用 PDFTron 庫,您可以(yi)在 Java 中動態填充 PDF 字段。
