跳過到頁腳內容
使用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庫

如前所述,本教學將使用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");
$vbLabelText   $csharpLabel

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

取得 PDF 表格

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

var form = doc.Form;
var 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");
$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];
$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");
    }
}
$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");
    }
}
$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 Software授權頁面以了解更多詳情。

常見問題解答

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

IronPDF 允許您通過使用 PdfDocument.FromFile 加載文檔並使用 doc.Form.Fields 訪問表單字段來程式化地填寫 C# 中的 PDF 表單以設定它們的值。

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

首先,在 Visual Studio 中創建一個主控台應用程式。然後,通過套件管理器控制台使用 Install-Package IronPDF 安裝 IronPDF。使用 PdfDocument.FromFile 加載您的 PDF 並根據需要操作表單字段。

IronPDF 能否用來從 HTML 生成新的 PDF 表單於 C# 中?

是的,IronPDF 可以通過使用 ChromePdfRenderer 類將 HTML 表單渲染到 PDF 文件中來生成新的 PDF 表單。這使得基於網頁表單輸入的動態 PDF 生成成為可能。

在 .NET 應用程式中使用 IronPDF 進行 PDF 表單處理的主要優勢是什麼?

IronPDF 提供了一種使用者友好的方法整合 PDF 表單處理到 .NET 應用程式中。它支持表單填充、文本抽取和文件安全,具有簡單的整合和免費的開發能力。

我如何使用 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') 保存更新的文檔以持續變更。

IronPDF 能否處理除 PDF 表單處理外的其他文件操作?

是的,IronPDF 是多功能的,可以處理各種 PDF 操作,包括文本提取、圖表渲染和文件安全增強功能,是一個全面的 PDF 管理工具。

IronPDF 如何對於處理 PDF 表單的開發人員有利?

IronPDF 提供了填寫和操作 PDF 表單的簡單 API,通過提供 HTML-to-PDF 渲染和與 .NET 應用程式的整合來提高開發人員的生產力。

IronPDF支持.NET 10嗎?這對於使用IronPDF在C#中填寫PDF表單意味著什麼?

是的,IronPDF支持現代.NET版本,包括.NET 8和.NET 9,並已符合即將在2025年11月釋出的.NET 10版本。這意味著您可以繼續在.NET 10中使用IronPDF進行表單填寫和PDF操作,完全兼容。

Curtis Chau
技術作家

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

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

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me