跳至頁尾內容
使用IRONPDF

using C# 中的 iTextSharp 和 IronPDF 在 PDF 中新增頁首和頁尾範例

互動式PDF表單可將靜態文件轉換為完全透過程式碼生成和處理的資料收集工具。 無論是建立病人程式碼入口、將貸款申請自動化,還是從資料庫生成數千份填寫好的合規表格,IronPDF為.NET開發人員提供了一個統一且一致的API,涵蓋每個表單任務——建立、字段填充、資料擷取和批量處理。

本指南透過可直接放入.NET 10專案的C#程式碼範例逐一介紹這些任務。

PDF表單.NET SDK:使用IronPDF在C#中建立可填寫的PDF:圖像1 - IronPDF

如何開始使用IronPDF?

IronPDF可在NuGet上獲得,新增到任何.NET專案大約需要一分鐘的時間。 在Visual Studio中打開套件管理器控制台並運行:

Install-Package IronPdf

您還可以在NuGet包管理器圖形介面中搜尋IronPDF,或使用dotnet add package IronPdf從.NET命令列介面中新增它。 不需要額外的運行時依賴項或配置文件-該程式庫內建了在Windows、Linux、macOS、Docker和Kubernetes上渲染PDF所需的一切。

PDF Forms .NET SDK:使用IronPDF在C#中建立可填寫的PDF:圖像3 - 安裝

該包目標是.NET Framework 4.6.2+以及包括.NET 8、.NET 9和.NET 10在內的所有現代.NET版本。安裝包後,在文件頂部新增using IronPdf;,您準備好了生成您的第一個PDF表單。

跨平台部署的靈活性在生產環境中很重要。 無論您的應用程式目標是Windows Server、Linux容器還是Azure Function App,IronPDF的運行始終如一——相同的程式碼在每個環境中產生相同的輸出。

什麼使PDF表單工作? 了解AcroForms

在編寫程式碼之前,了解您正在構建的內容會有所幫助。 AcroForm規範——自1998年以來PDF標準的一部分——定義了任何標準PDF查看器可以顯示和填寫的互動表單字段。 AcroForms支援文字字段、複選框、單選按鈕、下拉列表、列表框和簽名字段。

AcroForms是IronPDF建立和讀取的格式。 不像XFA表單(舊的、專有的Adobe格式),AcroForms在Adobe Reader、基於瀏覽器的PDF查看器和移動應用程式中皆可工作,無相容性問題。 當您使用IronPDF建立PDF表單時,輸出是一個標準相容的AcroForm PDF,任何查看器都可以打開。

每個表單字段都帶有名稱、型別和值。 該名稱是您以程式方式讀寫資料時使用的關鍵。 字段名稱在文件中必須是唯一的——如果您按名稱填充一個表單,而字段名稱不完全匹配,寫入將悄無聲息地無效,這是從資料庫架構填充表單時常見的錯誤來源。

字段型別決定接受什麼值。 文字字段接受任何字串。 複選框接受"是"或"否"。單選按鈕接受選擇選項的字串值。 下拉選單接受所選項的字串值,該值必須是建立字段時定義的選項之一。

如何從HTML建立PDF表單?

建立可填寫PDF表單的最快方法是將其編寫為標準HTML並進行轉換。 每個HTML表單元素都直接對應其AcroForm等效項:<textarea>成為多行文字字段。

通過在渲染器的CreatePdfFormsFromHtml = true以啟用表單建立。 沒有該標誌,HTML表單元素會以靜態視覺內容方式呈現——您可以在PDF中看到它們,但它們不是互動字段。

using IronPdf;

// HTML with form elements for PDF generation
string formHtml = @"
<html>
<body>
    <h2>Customer Registration</h2>
    <form>
        <label>Full Name:</label><br/>
        <input type='text' name='fullName'><br/>
        <label>Email Address:</label><br/>
        <input type='email' name='email'><br/>
        <label>Account Type:</label><br/>
        <select name='accountType'>
            <option value='personal'>Personal</option>
            <option value='business'>Business</option>
        </select><br/>
        <label>Newsletter:</label><br/>
        <input type='checkbox' name='newsletter' value='yes'>Subscribe<br/>
        <label>Comments:</label><br/>
        <textarea name='comments' rows='4' style='width:300px'></textarea>
    </form>
</body>
</html>";

// Enable form field generation from HTML
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

// Render and save the PDF with interactive fields
PdfDocument pdf = renderer.RenderHtmlAsPdf(formHtml);
pdf.SaveAs("registration-form.pdf");
using IronPdf;

// HTML with form elements for PDF generation
string formHtml = @"
<html>
<body>
    <h2>Customer Registration</h2>
    <form>
        <label>Full Name:</label><br/>
        <input type='text' name='fullName'><br/>
        <label>Email Address:</label><br/>
        <input type='email' name='email'><br/>
        <label>Account Type:</label><br/>
        <select name='accountType'>
            <option value='personal'>Personal</option>
            <option value='business'>Business</option>
        </select><br/>
        <label>Newsletter:</label><br/>
        <input type='checkbox' name='newsletter' value='yes'>Subscribe<br/>
        <label>Comments:</label><br/>
        <textarea name='comments' rows='4' style='width:300px'></textarea>
    </form>
</body>
</html>";

// Enable form field generation from HTML
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

// Render and save the PDF with interactive fields
PdfDocument pdf = renderer.RenderHtmlAsPdf(formHtml);
pdf.SaveAs("registration-form.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

每個HTML輸入的name屬性成為PDF中的字段名稱。 該名稱是您之後以程式方式讀取或寫入字段值時使用的名稱。 選擇符合您的資料模型的名稱——如果您要從資料庫物件填充此表單,請在物件屬性之後命名字段。

輸出

PDF Forms .NET SDK:使用IronPDF在C#中建立可填寫的PDF:圖像4 - PDF輸出

文字輸入和文字區域呈現為可編輯文字字段。 具有匹配name屬性的單選按鈕會組成一組,因此只能選擇一個。 複選框呈現為可切換的字段。 最終的PDF在任何標準查看器中打開,所有表單字段準備就緒可填寫。

當表單設計已存在於網頁中時,當您的團隊偏好在標記中維護表單時或當您需要生成與應用程式現有HTML模板精確匹配的表單時,這種基於HTML的方法非常有效。 渲染器處理所有PDF規範的細節。

PDF Forms .NET SDK:使用IronPDF在C#中建立可填寫的PDF:圖像5 - 功能

如何以程式方式向PDF新增表單字段?

當需要精確的座標控制時或當您要向現有PDF文件新增表單字段時,程式方式的表單字段API使您可以直接控制每個字段的位置、大小和預設值。

建立具有顯式頁面坐標的字段物件。 原點(0, 0)位於頁面的左下角,x向右增加,y向上增加——整個PDF規範中使用的相同坐標系統。

using IronPdf;
using IronSoftware.Forms;

// Generate a base PDF document to add fields to
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(
    "<h1>Application Form</h1><p>Please complete all fields below.</p>");

// Text field: name, default value, page index, x, y, width, height
var nameField = new TextFormField("applicantName", "", 0, 50, 700, 200, 20);
pdf.Form.Add(nameField);

// Checkbox field with default unchecked state
var termsCheckbox = new CheckboxFormField("agreeTerms", "no", 0, 50, 650, 15, 15);
pdf.Form.Add(termsCheckbox);

// Dropdown with a defined list of options
var departmentCombo = new ComboboxFormField(
    "department", "", 0, 50, 600, 150, 20,
    new List<string> { "Engineering", "Marketing", "Sales", "Support" });
pdf.Form.Add(departmentCombo);

// Save the output document
pdf.SaveAs("application-with-fields.pdf");
using IronPdf;
using IronSoftware.Forms;

// Generate a base PDF document to add fields to
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(
    "<h1>Application Form</h1><p>Please complete all fields below.</p>");

// Text field: name, default value, page index, x, y, width, height
var nameField = new TextFormField("applicantName", "", 0, 50, 700, 200, 20);
pdf.Form.Add(nameField);

// Checkbox field with default unchecked state
var termsCheckbox = new CheckboxFormField("agreeTerms", "no", 0, 50, 650, 15, 15);
pdf.Form.Add(termsCheckbox);

// Dropdown with a defined list of options
var departmentCombo = new ComboboxFormField(
    "department", "", 0, 50, 600, 150, 20,
    new List<string> { "Engineering", "Marketing", "Sales", "Support" });
pdf.Form.Add(departmentCombo);

// Save the output document
pdf.SaveAs("application-with-fields.pdf");
Imports IronPdf
Imports IronSoftware.Forms

' Generate a base PDF document to add fields to
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Application Form</h1><p>Please complete all fields below.</p>")

' Text field: name, default value, page index, x, y, width, height
Dim nameField As New TextFormField("applicantName", "", 0, 50, 700, 200, 20)
pdf.Form.Add(nameField)

' Checkbox field with default unchecked state
Dim termsCheckbox As New CheckboxFormField("agreeTerms", "no", 0, 50, 650, 15, 15)
pdf.Form.Add(termsCheckbox)

' Dropdown with a defined list of options
Dim departmentCombo As New ComboboxFormField("department", "", 0, 50, 600, 150, 20, New List(Of String) From {"Engineering", "Marketing", "Sales", "Support"})
pdf.Form.Add(departmentCombo)

' Save the output document
pdf.SaveAs("application-with-fields.pdf")
$vbLabelText   $csharpLabel

TextFormField創造單行文字輸入。 CheckboxFormField放置一個可切換的複選框。 ComboboxFormField創造一個下拉選單,僅限於所提供的選項清單。每個類別還提供了額外的屬性,用於設置標籤順序、工具提示文字、只讀狀態和必需字段標誌。

可以結合HTML轉換和程式方式字段建立兩種方法。 從HTML生成基礎佈局以進行高效模板控制,然後使用API以精確定位新增特殊字段。 填充和編輯表單指南涵蓋了可用的所有字段型別。

PDF Forms .NET SDK:使用IronPDF在C#中建立可填寫的PDF:圖像6 - PDF Forms .NET SDK - IronPDF

如何填寫現有的PDF表單?

許多工作流程從現有的PDF表單開始——政府範本、供應商合約或您組織從合作夥伴接收的標準申請。 程式填寫這些表單讓您可以自動化文件生成,而無需重新建立原始設計。

使用Value屬性。

using IronPdf;

// Load the existing PDF containing AcroForm fields
PdfDocument pdf = PdfDocument.FromFile("existing-application.pdf");

// Fill text fields by exact field name
var nameField = pdf.Form.FindFormField("applicantName");
nameField.Value = "Sarah Johnson";

var emailField = pdf.Form.FindFormField("email");
emailField.Value = "sarah.johnson@example.com";

// Set checkbox and radio button values
var termsField = pdf.Form.FindFormField("agreeTerms");
termsField.Value = "Yes";

var accountTypeField = pdf.Form.FindFormField("accountType");
accountTypeField.Value = "business";

// Set dropdown selection to one of its defined options
var departmentField = pdf.Form.FindFormField("department");
departmentField.Value = "Engineering";

// Save the completed form
pdf.SaveAs("completed-application.pdf");
using IronPdf;

// Load the existing PDF containing AcroForm fields
PdfDocument pdf = PdfDocument.FromFile("existing-application.pdf");

// Fill text fields by exact field name
var nameField = pdf.Form.FindFormField("applicantName");
nameField.Value = "Sarah Johnson";

var emailField = pdf.Form.FindFormField("email");
emailField.Value = "sarah.johnson@example.com";

// Set checkbox and radio button values
var termsField = pdf.Form.FindFormField("agreeTerms");
termsField.Value = "Yes";

var accountTypeField = pdf.Form.FindFormField("accountType");
accountTypeField.Value = "business";

// Set dropdown selection to one of its defined options
var departmentField = pdf.Form.FindFormField("department");
departmentField.Value = "Engineering";

// Save the completed form
pdf.SaveAs("completed-application.pdf");
Imports IronPdf

' Load the existing PDF containing AcroForm fields
Dim pdf As PdfDocument = PdfDocument.FromFile("existing-application.pdf")

' Fill text fields by exact field name
Dim nameField = pdf.Form.FindFormField("applicantName")
nameField.Value = "Sarah Johnson"

Dim emailField = pdf.Form.FindFormField("email")
emailField.Value = "sarah.johnson@example.com"

' Set checkbox and radio button values
Dim termsField = pdf.Form.FindFormField("agreeTerms")
termsField.Value = "Yes"

Dim accountTypeField = pdf.Form.FindFormField("accountType")
accountTypeField.Value = "business"

' Set dropdown selection to one of its defined options
Dim departmentField = pdf.Form.FindFormField("department")
departmentField.Value = "Engineering"

' Save the completed form
pdf.SaveAs("completed-application.pdf")
$vbLabelText   $csharpLabel

FindFormField在表單建立期間分配的名稱定位字段。 字段名稱匹配是區分大小寫的且精確——"applicantName"和"ApplicantName"是不同的字段。 如果您正在填寫第三方表單且不確定字段名稱,請迭代pdf.Form以在嘗試按名稱填充之前列印每個字段的名稱。

輸入

PDF Forms .NET SDK:使用IronPDF在C#中建立可填寫的PDF:圖像7 - 範例PDF輸入

輸出

PDF Forms .NET SDK:使用IronPDF在C#中建立可填寫的PDF:圖像8 - 填充的PDF輸出

不同的字段型別需要適當的值格式。 文字字段接受任何字串。 複選框接受"是"或"否"。單選按鈕接受所選選項的字串值。 下拉選單接受已定義選項之一的字串值——設定不在選項清單中的值無效。

在處理具有許多字段的表單時,請直接遍歷FindFormField。 迭代對於批量操作更有效,並且避免了對字段集合的重複線性搜索。

如何讀取和擷取表單字段資料?

從提交的PDF中擷取表單資料是相反的操作:載入已完成的表單,然後讀取每個字段的名稱和當前值以進行後續處理。 該模式支持自動收取工作流程,使用者完成PDF表單,將其上傳,應用程式在無需手動資料輸入的情況下處理資料。

using IronPdf;

// Load the completed, submitted PDF form
PdfDocument pdf = PdfDocument.FromFile("submitted-form.pdf");

// Iterate all fields to extract names, values, and types
Console.WriteLine("Form Data Extraction:");
Console.WriteLine("----------------------");
foreach (var field in pdf.Form)
{
    Console.WriteLine($"Field: {field.Name}");
    Console.WriteLine($"Value: {field.Value}");
    Console.WriteLine($"Type:  {field.GetType().Name}");
    Console.WriteLine();
}

// Or retrieve specific fields for targeted processing
var customerName  = pdf.Form.FindFormField("applicantName")?.Value ?? "Not provided";
var customerEmail = pdf.Form.FindFormField("email")?.Value ?? "Not provided";
Console.WriteLine($"Customer: {customerName} ({customerEmail})");
using IronPdf;

// Load the completed, submitted PDF form
PdfDocument pdf = PdfDocument.FromFile("submitted-form.pdf");

// Iterate all fields to extract names, values, and types
Console.WriteLine("Form Data Extraction:");
Console.WriteLine("----------------------");
foreach (var field in pdf.Form)
{
    Console.WriteLine($"Field: {field.Name}");
    Console.WriteLine($"Value: {field.Value}");
    Console.WriteLine($"Type:  {field.GetType().Name}");
    Console.WriteLine();
}

// Or retrieve specific fields for targeted processing
var customerName  = pdf.Form.FindFormField("applicantName")?.Value ?? "Not provided";
var customerEmail = pdf.Form.FindFormField("email")?.Value ?? "Not provided";
Console.WriteLine($"Customer: {customerName} ({customerEmail})");
Imports IronPdf

' Load the completed, submitted PDF form
Dim pdf As PdfDocument = PdfDocument.FromFile("submitted-form.pdf")

' Iterate all fields to extract names, values, and types
Console.WriteLine("Form Data Extraction:")
Console.WriteLine("----------------------")
For Each field In pdf.Form
    Console.WriteLine($"Field: {field.Name}")
    Console.WriteLine($"Value: {field.Value}")
    Console.WriteLine($"Type:  {field.GetType().Name}")
    Console.WriteLine()
Next

' Or retrieve specific fields for targeted processing
Dim customerName As String = If(pdf.Form.FindFormField("applicantName")?.Value, "Not provided")
Dim customerEmail As String = If(pdf.Form.FindFormField("email")?.Value, "Not provided")
Console.WriteLine($"Customer: {customerName} ({customerEmail})")
$vbLabelText   $csharpLabel

Form屬性公開文件中所有字段的可枚舉集合。 每個字段物件提供其Value和型別資訊。 通用表單處理器使用此模式來處理任何PDF表單結構,而不需要硬編碼字段名稱。

輸出

PDF Forms .NET SDK:使用IronPDF在C#中建立可填寫的PDF:圖像9 - 控制台輸出

?.處理時,當預期字段不存在時,非常有用——在處理可能具有略有不同字段結構的多個來源的表單時非常有用。 總是提供備用值或空檢查,而不是假設字段存在。

擷取的資料可直接與Entity Framework或ADO.NET結合以進行資料庫寫入,JSON序列化以進行API回應,和CSV生成以進行報告。 當您還需要從掃描或基於影像的表單提交中擷取資料時,將IronPDF與IronOCR配對使用。

如何大規模生成個性化表單?

PDF表單自動化的最大量使用情況是批量生成——從資料庫、API或CSV文件中產生數百或數千個預填充資料的表單。簡單的迴圈處理這一切,而不需要任何額外的基礎設施。

using IronPdf;

// Retrieve customer records from your data source
var customers = GetCustomersFromDatabase();

ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

foreach (var customer in customers)
{
    // Build an HTML template with static data pre-filled and interactive fields for user input
    string formHtml = $@"
    <html><body>
        <h2>Annual Review Form</h2>
        <p>Customer: {customer.Name}</p>
        <p>Account:  {customer.AccountNumber}</p>
        <label>Satisfaction Rating (1-5):</label><br/>
        <input type='text' name='rating' maxlength='1'><br/>
        <label>Feedback:</label><br/>
        <textarea name='feedback' rows='5' style='width:100%'></textarea>
    </body></html>";

    PdfDocument pdf = renderer.RenderHtmlAsPdf(formHtml);
    pdf.SaveAs($"review-form-{customer.AccountNumber}.pdf");
}
using IronPdf;

// Retrieve customer records from your data source
var customers = GetCustomersFromDatabase();

ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

foreach (var customer in customers)
{
    // Build an HTML template with static data pre-filled and interactive fields for user input
    string formHtml = $@"
    <html><body>
        <h2>Annual Review Form</h2>
        <p>Customer: {customer.Name}</p>
        <p>Account:  {customer.AccountNumber}</p>
        <label>Satisfaction Rating (1-5):</label><br/>
        <input type='text' name='rating' maxlength='1'><br/>
        <label>Feedback:</label><br/>
        <textarea name='feedback' rows='5' style='width:100%'></textarea>
    </body></html>";

    PdfDocument pdf = renderer.RenderHtmlAsPdf(formHtml);
    pdf.SaveAs($"review-form-{customer.AccountNumber}.pdf");
}
Imports IronPdf

' Retrieve customer records from your data source
Dim customers = GetCustomersFromDatabase()

Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.CreatePdfFormsFromHtml = True

For Each customer In customers
    ' Build an HTML template with static data pre-filled and interactive fields for user input
    Dim formHtml As String = $"
    <html><body>
        <h2>Annual Review Form</h2>
        <p>Customer: {customer.Name}</p>
        <p>Account:  {customer.AccountNumber}</p>
        <label>Satisfaction Rating (1-5):</label><br/>
        <input type='text' name='rating' maxlength='1'><br/>
        <label>Feedback:</label><br/>
        <textarea name='feedback' rows='5' style='width:100%'></textarea>
    </body></html>"

    Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(formHtml)
    pdf.SaveAs($"review-form-{customer.AccountNumber}.pdf")
Next
$vbLabelText   $csharpLabel

HTML範本將靜態客戶資料直接嵌入,因此接收者看到其姓名和帳號已預先列印,並提供交互式字段供他們需要提供的資料。 批量處理數百條記錄可以在幾秒鐘內完成,而人工準備需要數小時。

迴圈結構適用於任何資料來源:Entity Framework查詢、API回應或CSV導入。 每次迭代都產生一個完整的、準備好分發的PDF,根據該記錄進行定製。 對於高吞吐量情境,請使用RenderHtmlAsPdfAsync方法支持完全異步呈現。

在批量生成後,表單通常使用IronZIP打包成一個ZIP檔進行分發,通過電子郵件整合發送,上傳到雲儲存,或路由到電子簽名平台以便完成綁定。

如何在完成後將PDF表單平面化或鎖定?

一旦表單完全完成並驗證後,通常需要將其鎖定,以避免值再次編輯。 平面化將所有互動式表單字段轉換為靜態的、不可編輯的視覺內容,同時保留完成的表單的準確外觀。

using IronPdf;

// Load a completed, signed form
PdfDocument pdf = PdfDocument.FromFile("completed-application.pdf");

// Flatten all form fields - converts interactive fields to static content
pdf.Form.Flatten();

// Save the locked, non-editable version
pdf.SaveAs("locked-application.pdf");
using IronPdf;

// Load a completed, signed form
PdfDocument pdf = PdfDocument.FromFile("completed-application.pdf");

// Flatten all form fields - converts interactive fields to static content
pdf.Form.Flatten();

// Save the locked, non-editable version
pdf.SaveAs("locked-application.pdf");
Imports IronPdf

' Load a completed, signed form
Dim pdf As PdfDocument = PdfDocument.FromFile("completed-application.pdf")

' Flatten all form fields - converts interactive fields to static content
pdf.Form.Flatten()

' Save the locked, non-editable version
pdf.SaveAs("locked-application.pdf")
$vbLabelText   $csharpLabel

平面化是存檔已完成表單、生成符合PDF/A的文件以供長期儲存和生成分發的最終副本的正確方法。 在平面化後,表單資料仍然可見但不能被修改。 PDF平面指南涵蓋了包括選擇性字段平面的額外平面選項。

對於需要法律約束的完成場景,IronPDF還支援數位簽名,將簽署人的身份加密地綁定到文件。 數位簽名和表單平面化的用途不同——簽名證明真實性,平面化防止修改。

下一步如何?

PDF表單在.NET中涵蓋四個核心操作:從HTML或通過API建立表單、從資料來源填寫現有表單、擷取提交的資料以及大規模批量生成個性化副本。 IronPDF透過統一的API處理所有這些操作,相同的程式碼可在Windows、Linux、macOS和容器中運行。

建立PDF表單如何指南涵蓋了每個可用字段型別及程式碼範例。 填寫和編輯表單指南深入探討了批量字段更新、單選按鈕組和列表框的操作。 IronPDF文件中心提供完整的API參考資料和高級主題,包括多頁表單、表單字段驗證和適用於高容量管道的性能調整。

開始免費試用以在您的專案中探索PDF表單功能,或查看授權選項以供生產部署。

PDF Forms .NET SDK:使用IronPDF在C#中建立可填寫的PDF:圖像10 - 授權

常見問題

IronPDF 使用哪個 PDF 表單標準?

IronPDF 建立和閱讀 AcroForms - 1998 年 PDF 規範中定義的互動式表單標準。AcroForms 由 Adobe Reader、基於瀏覽器的 PDF 查看器以及移動應用程式支持,相比之下,舊的 XFA 格式的相容性有限。

如何在 IronPDF 中啟用從 HTML 建立表單欄位?

在調用 `RenderHtmlAsPdf` 之前設置 `renderer.RenderingOptions.CreatePdfFormsFromHtml = true`。如果沒有此標誌,HTML 表單元素將作為靜態視覺內容而非互動式 AcroForm 欄位呈現。

如何在現有的 PDF 表單中填充特定字段?

using `PdfDocument.FromFile` 載入 PDF,調用 `pdf.Form.FindFormField("fieldName")` 以檢索字段物件,然後將字串分配給其 `Value` 屬性。字段名稱匹配是區分大小寫的。使用 `pdf.SaveAs` 保存結果。

如何從提交的 PDF 提取所有表單字段值?

using `foreach (var field in pdf.Form)` 遍歷 `pdf.Form`,並閱讀每個字段的 `Name` 和 `Value` 屬性。針對目標提取,使用 `pdf.Form.FindFormField("name")?.Value` 以及空條件操作符來安全地處理缺失字段。

IronPDF 能否在迴圈中從資料庫生成數百個表單?

是的。建立一個 `ChromePdfRenderer`,設置 `CreatePdfFormsFromHtml = true`,遍歷您的資料記錄,為每個記錄構建一個 HTML 字串,調用 `RenderHtmlAsPdf`,並保存每個結果。為了高吞吐率,使用 `RenderHtmlAsPdfAsync` 和 `Task.WhenAll` 進行並行渲染。

展平成 PDF 表單會做什麼?

展平將所有互動式表單字段轉換為靜態的、不可編輯的視覺內容,同時保留填寫後表單的精確外觀。調用 `pdf.Form.Flatten()` 然後保存。結果適合於歸檔、PDF/A 合規性以及必須防止字段編輯的分發。

IronPDF 能否在 Linux 和 Docker 容器中運行?

是的。IronPDF 可以在 Windows、Linux、macOS、Docker 和 Kubernetes 上執行。相同的 C# 程式碼在所有平台上生成相同的 PDF 輸出。請參考文件中的 IronPDF Linux 和 Docker 指南以進行平台特定配置。

IronPDF 支持哪些平台和 .NET 版本以用於 PDF 表單?

IronPDF 支持 .NET Framework 4.6.2 及以上版本,並支持包括 .NET 6, .NET 7, .NET 8, .NET 9 和 .NET 10 在內的所有現代 .NET 版本。它還支持 ASP.NET、ASP.NET Core、Blazor Server、Azure Functions 和 MAUI 應用程式。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

Iron 支援團隊

我們線上24小時,每週5天。
聊天
電子郵件
給我打電話