跳過到頁腳內容
使用IRONPDF
如何使用 IronPDF 程式化填寫 PDF

程式化填寫C#中的PDF表單(編碼教程)

本教學將示範如何以程式設計方式與 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 Library

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

前往軟體包管理器控制台。 鍵入以下指令:

Install-Package IronPdf

此指令將為我們安裝 IronPDF 庫。 接下來,我們開始編寫程式碼。

閱讀PDF文檔

填寫PDF表格的第一步是閱讀PDF文件。 顯然,我們怎麼能在不先閱讀的情況下填寫表格呢?以下PDF文件將用於示範。 您可以從Google 雲端硬碟連結下載,或者您可以使用自己的文件。

! 使用 C# 程式設計方式自動填寫 PDF 表單(程式教學),圖 2:用於填寫表單的範例 PDF 文件 請提供填寫表格的範例 PDF 文件

讀取此文件的程式碼如下:

using IronPdf;

// Load the PDF document from the file path
PdfDocument doc = PdfDocument.FromFile(@"D:\myPdfForm.pdf");
using IronPdf;

// Load the PDF document from the file path
PdfDocument doc = PdfDocument.FromFile(@"D:\myPdfForm.pdf");
Imports IronPdf

' Load the PDF document from the file path
Private doc As PdfDocument = PdfDocument.FromFile("D:\myPdfForm.pdf")
$vbLabelText   $csharpLabel

FromFile方法中傳遞 PDF 文件的完整路徑。 這將從您的本機系統讀取PDF檔案。

取得 PDF 表格

編寫以下程式碼行,從已載入的 PDF 文件中取得表單。

var form = doc.Form;
var form = doc.Form;
Dim form = doc.Form
$vbLabelText   $csharpLabel

取得表單字段

IronPDF 提供了兩種存取表單欄位的方法來輕鬆設定表單欄位的值:透過欄位名稱或透過索引。 讓我們逐一討論這兩個問題。

按名稱取得表單字段

以下程式碼將按名稱取得欄位:

// Retrieve the form field using its name
var field = form.FindFormField("First Name");
// Retrieve the form field using its name
var field = form.FindFormField("First Name");
' Retrieve the form field using its name
Dim field = form.FindFormField("First Name")
$vbLabelText   $csharpLabel

FindFormField方法以欄位名稱作為參數。 它具有容錯能力,能夠匹配大小寫錯誤和不完整的欄位名稱。

按索引取得表單字段

我們也可以透過索引取得 PDF 表單欄位。 索引從零開始。 以下範例程式碼用於按索引取得表單欄位。

// Retrieve the form field using its index
var field = form.Fields[0];
// Retrieve the form field using its index
var field = form.Fields[0];
' Retrieve the form field using its index
Dim field = form.Fields(0)
$vbLabelText   $csharpLabel

填寫PDF表格

接下來,讓我們把所有程式碼合併起來,填寫 PDF 表單。

using IronPdf;

class Program
{
    static void Main()
    {
        // Load the PDF document from the file path
        PdfDocument doc = PdfDocument.FromFile(@"D:\myPdfForm.pdf");

        // Access the PDF form
        var form = doc.Form;

        // Fill out the form fields using their index
        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";

        // Save the modified PDF document
        doc.SaveAs(@"D:\myPdfForm.pdf");
    }
}
using IronPdf;

class Program
{
    static void Main()
    {
        // Load the PDF document from the file path
        PdfDocument doc = PdfDocument.FromFile(@"D:\myPdfForm.pdf");

        // Access the PDF form
        var form = doc.Form;

        // Fill out the form fields using their index
        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";

        // Save the modified PDF document
        doc.SaveAs(@"D:\myPdfForm.pdf");
    }
}
Imports IronPdf

Friend Class Program
	Shared Sub Main()
		' Load the PDF document from the file path
		Dim doc As PdfDocument = PdfDocument.FromFile("D:\myPdfForm.pdf")

		' Access the PDF form
		Dim form = doc.Form

		' Fill out the form fields using their index
		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"

		' Save the modified PDF document
		doc.SaveAs("D:\myPdfForm.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel

上面的範例程式碼將根據索引值填入表單欄位。 您也可以使用前面提到的欄位名稱執行相同的操作。 讓我們運行程式看看輸出結果。

已填寫的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# 程式中編寫以下程式碼。

using IronPdf;

class Program
{
    static void Main()
    {
        // Create an instance of ChromePdfRenderer
        var renderer = new ChromePdfRenderer();

        // Render the HTML file as a PDF
        var pdfDocument = renderer.RenderHtmlFileAsPdf(@"D:\myForm.html");

        // Save the PDF document to the specified file path
        pdfDocument.SaveAs(@"D:\myForm.pdf");
    }
}
using IronPdf;

class Program
{
    static void Main()
    {
        // Create an instance of ChromePdfRenderer
        var renderer = new ChromePdfRenderer();

        // Render the HTML file as a PDF
        var pdfDocument = renderer.RenderHtmlFileAsPdf(@"D:\myForm.html");

        // Save the PDF document to the specified file path
        pdfDocument.SaveAs(@"D:\myForm.pdf");
    }
}
Imports IronPdf

Friend Class Program
	Shared Sub Main()
		' Create an instance of ChromePdfRenderer
		Dim renderer = New ChromePdfRenderer()

		' Render the HTML file as a PDF
		Dim pdfDocument = renderer.RenderHtmlFileAsPdf("D:\myForm.html")

		' Save the PDF document to the specified file path
		pdfDocument.SaveAs("D:\myForm.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel

執行程式即可查看產生的PDF表單文件。

! 使用 C# 以程式設計方式填寫 PDF 表單(程式教學),圖 3:由 HTML 檔案產生的 PDF 表單 由 HTML 檔案產生的 PDF 表單

摘要

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

此外,IronPDF 還為開發者提供了從 PDF 中提取文字和內容、在 PDF 中渲染圖表插入條碼透過密碼增強安全性以及以程式設計方式添加浮水印的方法。

還有許多其他有用的程式庫,例如用於處理條碼的 IronBarcode、用於處理 Excel 文件的 IronXL 以及用於處理 OCR 的 IronOCR。 購買完整的 Iron Suite 套件,即可用兩個庫的價格獲得全部五個庫。請造訪Iron 軟體授權頁面以了解更多詳情。

常見問題解答

如何使用 C# 程式化填寫 PDF 表單?

IronPDF 允許您以 C# 程式化方式填入 PDF 表單,方法是使用 PdfDocument.FromFile 載入文件,並使用 doc.Form.Fields 存取表單欄位以設定其值。

設定 C# 專案以填寫 PDF 表單涉及哪些步驟?

首先,在 Visual Studio 中建立一個 Console Application。然後,使用套件管理員控制台以 Install-Package IronPdf 安裝 IronPDF。使用 PdfDocument.FromFile 載入您的 PDF,並根據需要操作表單欄位。

IronPDF 是否可用於在 C# 中從 HTML 生成新的 PDF 表單?

是的,IronPDF 可以使用 ChromePdfRenderer 類將 HTML 表單渲染為 PDF 文件,從而生成新的 PDF 表單。這允許基於 Web 表單輸入動態生成 PDF。

在 .NET 應用程式中使用 IronPDF 處理 PDF 表單有哪些主要優勢?

IronPDF 為 .NET 應用程式中的 PDF 表單處理提供了一種人性化的整合方式。它支援表單填寫、文字萃取和文件安全性,具有簡易整合和自由開發的能力。

如何使用 IronPDF 從 PDF 表單中提取文字?

IronPDF 提供了從 PDF 表單中提取文字的方法。在使用 PdfDocument.FromFile 載入文件後,您可以使用 pdfDocument.ExtractAllText() 等方法存取並擷取文字內容。

是否可以使用 .NET 函式庫來確保 PDF 文件的安全性?

是的,IronPDF 提供增強 PDF 安全性的功能,包括數位簽名、刪除和加密,以保護 PDF 文件中的敏感資訊。

如果我的 PDF 表單欄位無法如預期般更新,我可以採取哪些疑難排解步驟?

確保使用 IronPDF 正確識別並存取表單欄位。驗證欄位名稱或索引,並使用 doc.Form.FindFormField('FieldName').Value = 'New Value' 更新欄位值。

在 C# 中填寫表單欄位後,如何儲存修改後的 PDF 文件?

使用 IronPDF 修改表單欄位後,使用 pdfDocument.SaveAs('path/to/newfile.pdf') 儲存更新後的文件,以持久化變更。

除了 PDF 表單處理之外,IronPDF 還能處理其他文件操作嗎?

是的,IronPDF 功能多樣,可處理各種 PDF 作業,包括文字萃取、圖表渲染和文件安全性強化,使其成為 PDF 管理的全面工具。

IronPDF 如何讓使用 PDF 表單的開發人員獲益?

IronPDF 提供了直接的 API 來填寫和處理 PDF 表單,透過提供 HTML-to-PDF 渲染和與 .NET 應用程式整合等功能,提升開發人員的生產力。

IronPDF 是否支持 .NET 10,这对使用 IronPDF 在 C# 中填写 PDF 表单意味着什么?

是的,IronPDF 支持包括 .NET 8 和 .NET 9 在内的现代 .NET 版本,并且已经符合即将发布的 .NET 10 版本(计划于 2025 年 11 月发布)。這意味著您可以繼續使用 IronPDF 在 C# 中進行表格填寫和 PDF 操作,並在 .NET 10 中完全相容。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。