使用 IRONPDF

以程式填寫PDF表單在C#中(編程教程)

已更新 2024年2月8日
分享:

本教程將演示如何以程式方式與 PDF 文件中的表單互動。

市場上有許多 .NET 庫允許我們在 C# 中以程式方式填寫 PDF 表單。某些庫難以理解,有些則需要付費。

IronPDF 是最好的 .NET Core 庫,因為它易於理解且免費用於開發。除了填寫 PDF 表單IronPDF 也允許從 HTML 字串、HTML 檔案和 URL 創建新的 PDF。

讓我們來看看如何使用 C# 以程式化方式填寫 PDF 表單。首先,將建立一個主控台應用程式以進行演示,但您可以根據需要使用任何應用程式。

建立 Visual Studio 專案

打開 Microsoft Visual Studio。點擊建立新專案 > 從範本中選擇主控台應用程式 > 按下下一步 > 命名您的專案。按下下一步 > 選擇目標框架。點擊建立按鈕。專案將會如下面所示地建立。

使用 C# 以程式化方式填寫 PDF 表單(編碼教學),圖 1:在 Visual Studio 中新建的控制台應用程式

在 Visual Studio 中新建的控制台應用程式

安裝 IronPDF 函式庫

如前所述,本教程將使用 IronPDF 函式庫。使用這個 .NET 函式庫的主要原因是它對開發免費,並且在單一函式庫中提供所有功能。

前往套件管理器控制台,輸入以下命令:

Install-Package IronPdf

這個指令將會為我們安裝IronPDF函式庫。接下來,讓我們開始編寫程式碼。

閱讀 PDF 文件

填寫 PDF 表格的第一步是閱讀 PDF 文件。顯然,我們怎麼能在不先閱讀它的情況下填寫表格呢?以下的 PDF 文件將用於演示。您可以下載它 從這裡,或您可以使用您的文件。

使用 C# 程式填寫 PDF 表單(編碼教程),圖 2:示例 PDF 文件以填寫表單

要填寫表格的樣本 PDF 文件

讀取此文件的代碼為:

PdfDocument doc =  PdfDocument.FromFile(@"D:\myPdfForm.pdf");
PdfDocument doc =  PdfDocument.FromFile(@"D:\myPdfForm.pdf");
Dim doc As PdfDocument = PdfDocument.FromFile("D:\myPdfForm.pdf")
VB   C#

傳遞 PDF 文件的完整路徑裡的 從文件 方法。這將從您的本地系統讀取 PDF 文件。

获取 PDF 表单

编写以下代码行以从加载的 PDF 文档中获取表单。

var form = doc.Form;
var form = doc.Form;
Dim form = doc.Form
VB   C#

獲取表單字段

要獲取表單字段以設置其值,IronPDF 提供了非常簡便的方法通過兩種方式來訪問表單字段:通過字段名稱或通過索引。讓我們逐一討論這兩種方法。

根據名稱獲取表單欄位

以下程式碼將根據名稱獲取欄位:

var  field = form.GetFieldByName("First Name");
var  field = form.GetFieldByName("First Name");
Dim field = form.GetFieldByName("First Name")
VB   C#

GetFieldByName 此方法將欄位名稱作為參數。這具有容錯能力,並將嘗試匹配大小寫錯誤和部分欄位名稱。

按索引獲取表單字段

我們也可以通過使用索引來獲取 PDF 表單字段。索引從零開始。以下示例程式碼用於按索引獲取表單字段。

var field = form.Fields [0];
var field = form.Fields [0];
Dim field = form.Fields (0)
VB   C#

填寫PDF表單

接下來,我們來結合所有程式碼來填寫PDF表單。

PdfDocument doc =  PdfDocument.FromFile(@"D:\myPdfForm.pdf");
var form = doc.Form;
form.Fields [0].Value = "John";
form.Fields [1].Value = "Smith";
form.Fields [2].Value = "+19159969739";
form.Fields [3].Value = "John@email.com";
form.Fields [4].Value = "Chicago";
doc.SaveAs(@"D:\myPdfForm.pdf");
PdfDocument doc =  PdfDocument.FromFile(@"D:\myPdfForm.pdf");
var form = doc.Form;
form.Fields [0].Value = "John";
form.Fields [1].Value = "Smith";
form.Fields [2].Value = "+19159969739";
form.Fields [3].Value = "John@email.com";
form.Fields [4].Value = "Chicago";
doc.SaveAs(@"D:\myPdfForm.pdf");
Dim doc As PdfDocument = PdfDocument.FromFile("D:\myPdfForm.pdf")
Dim form = doc.Form
form.Fields (0).Value = "John"
form.Fields (1).Value = "Smith"
form.Fields (2).Value = "+19159969739"
form.Fields (3).Value = "John@email.com"
form.Fields (4).Value = "Chicago"
doc.SaveAs("D:\myPdfForm.pdf")
VB   C#

上面的範例程式碼將透過索引值填寫表單欄位。您也可以使用之前提到的欄位名稱來執行相同的操作。現在運行程序來查看輸出。

填寫的 PDF 表單

使用程式填寫 C# 的 PDF 表單(編碼教程),圖 3:

範例 PDF 檔案中的填寫表單

您可以看到這個函式庫能夠以最簡單的代碼填寫 PDF 表單,無需任何複雜的邏輯。這就是推薦 IronPDF 的原因。

假設您還沒有任何帶表單的 PDF 檔案——別擔心,IronPDF 完全支持 生成 PDF 表單. 請按照以下步驟操作:

生成一個新的 PDF 表單文件

建立一個新的 HTML 文件

建立一個新的 HTML 文件並貼上以下代碼:

<!DOCTYPE html>
<html>
<body>

<h2>PDF Forms</h2>

<form action="/action_page.php">
  <label for="fname">First name:</label><br>
  <input type="text" id="fname" name="fname" ><br>
  <label for="lname">Last name:</label><br>
  <input type="text" id="lname" name="lname" ><br>
  <label for="contact">Contact #:</label><br>
  <input type="text" id="contact" name="contact" ><br>
  <label for="email">Email:</label><br>
  <input type="text" id="email" name="email"><br>
  <label for="city">City:</label><br>
  <input type="text" id="city" name="city"><br>

</form> 
</body>
</html>
<!DOCTYPE html>
<html>
<body>

<h2>PDF Forms</h2>

<form action="/action_page.php">
  <label for="fname">First name:</label><br>
  <input type="text" id="fname" name="fname" ><br>
  <label for="lname">Last name:</label><br>
  <input type="text" id="lname" name="lname" ><br>
  <label for="contact">Contact #:</label><br>
  <input type="text" id="contact" name="contact" ><br>
  <label for="email">Email:</label><br>
  <input type="text" id="email" name="email"><br>
  <label for="city">City:</label><br>
  <input type="text" id="city" name="city"><br>

</form> 
</body>
</html>
HTML

保存這個範例的HTML文件。您可以根據您的表單需求自訂這個HTML。

接下來,在您的C# 程式中撰寫以下代碼。

var renderer = new ChromePdfRenderer();
var file = renderer.RenderHtmlFileAsPdf(@"D:\myForm.html");
file.SaveAs(@"D:\myForm.pdf");
var renderer = new ChromePdfRenderer();
var file = renderer.RenderHtmlFileAsPdf(@"D:\myForm.html");
file.SaveAs(@"D:\myForm.pdf");
Dim renderer = New ChromePdfRenderer()
Dim file = renderer.RenderHtmlFileAsPdf("D:\myForm.html")
file.SaveAs("D:\myForm.pdf")
VB   C#

運行程式以查看生成的 PDF 表單文件。

使用 C# 程式填寫 PDF 表單(編程教程),圖 3:由 HTML 檔案生成的 PDF 表單

由 HTML 文件生成的 PDF 表单

總結

自動化和程式化地填寫PDF表單非常重要。本文建議了在C#中使用IronPDF填寫PDF表單的最簡便方法。此外,您還學習了如何 生成新的PDF表單 從頭開始。

此外,IronPDF 還為開發人員提供了方法來 提取文字和內容 來自 PDF, 渲染圖表 在PDF檔案中, 插入條碼, 使用密碼增強安全性浮水印 程式化。

還有很多其他有用的函式庫,例如用於處理條碼的 IronBarcode,用於處理 Excel 文件的 IronXL,和用於處理 OCR 的 IronOCR。您可以通過購買完整的 Iron Suite,以兩個的價格獲取所有五個函式庫。請訪問 授權頁面 了解更多詳情。

< 上一頁
如何將多頁掃描成一個 PDF 檔案
下一個 >
如何使用C#在ASP.NET中生成PDF

準備開始了嗎? 版本: 2024.10 剛剛發布

免費 NuGet 下載 總下載次數: 10,993,239 查看許可證 >