如何使用 IronPDF 在 C# 中平坦化 PDF 圖像

在 C# 中展平 PDF

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF 只需一行代碼即可在 C# 中將 PDF 文件扁平化,將互動式表單欄位轉換為靜態內容,以防止進一步修改並確保文件完整性。

PDF 文件通常包含具有可填寫小工具(如單選按鈕、複選框、文字方塊和清單)的互動表單。 為了使這些文件不可編輯,以達到安全或存檔的目的,您需要將 PDF 檔案壓平。IronPDF 只需一行代碼即可提供此功能。 當您在商業應用程式、法律文件或任何需要永久保存文件的情況下使用 IronPDF 表格時,這項能力是不可或缺的。

可填寫的 PDF 表單橫幅,顯示 Adobe PDF 標誌和兩個具有輸入欄位的互動式表單文件範例
帶有禁止符號的鉛筆,表示編輯限制或唯讀存取
Adobe PDF 檔案圖示,搭配紅色標頭與弧形標誌

快速入門:在一行中展平您的 PDF

使用 IronPDF 壓平 PDF 文件,移除所有互動性,並建立永久不可塗改的內容。 此 C# 單行程序會載入現有的 PDF,移除所有可填寫的小工具,並儲存安全的文件。

Nuget Icon立即開始使用 NuGet 建立 PDF 檔案:

  1. 使用 NuGet 套件管理器安裝 IronPDF

    PM > Install-Package IronPdf

  2. 複製並運行這段程式碼。

    IronPdf.PdfDocument.FromFile("input.pdf").Flatten().SaveAs("flattened.pdf");
  3. 部署到您的生產環境進行測試

    立即開始在您的專案中使用 IronPDF,免費試用!
    arrow pointer

如何在 C# 中壓平 PDF 文件? 安裝 IronPDF 後,您只需一行程式碼即可將 PDF 檔案扁平化。 此流程適用於從 [HTML 檔案](https://ironpdf.com/how-to/html-file-to-pdf/)、[HTML 字串](https://ironpdf.com/how-to/html-string-to-pdf/)或現有 PDF 文件所建立的 PDF。 下面的程式碼範例使用 `PdfDocument` 類來載入現有的 PDF。 若要動態產生 PDF,請使用 `ChromePdfRenderer` 類。 IronPdf 的[Chrome 渲染引擎](https://ironpdf.com/how-to/ironpdf-2021-chrome-rendering-engine-eap/)可確保在扁平化之前準確地渲染複雜的表格。 若要壓平 PDF 檔案,請呼叫 `Flatten` 方法。 這會移除所有互動式小工具,包括單選按鈕、複選框和文字欄位,使文件完全無法編輯。 ```csharp :path=/static-assets/pdf/content-code-examples/how-to/pdf-image-flatten-csharp-flatten-pdf.cs using IronPdf; // Select the desired PDF File PdfDocument pdf = PdfDocument.FromFile("before.pdf"); // Flatten the pdf pdf.Flatten(); // Save as a new file pdf.SaveAs("after_flatten.pdf"); ``` 對於複雜的情況,您可以在扁平化之前先扁平化特定頁面或處理 [表單資料](https://ironpdf.com/how-to/edit-forms/): ```csharp using IronPdf; // Load a PDF with fillable forms PdfDocument pdf = PdfDocument.FromFile("form-document.pdf"); // Optionally, pre-fill form fields before flattening pdf.Form.Fields[0].Value = "John Doe"; pdf.Form.Fields[1].Value = "john@example.com"; // Flatten only specific pages (pages 1-3) pdf.FlattenPagesRange(0, 2); // Or flatten the entire document pdf.Flatten(); // Save the result pdf.SaveAs("flattened-form.pdf"); ```

如何驗證 PDF 是否已壓縮為 PDF 格式? 下面的輸出顯示了之前和之後的狀態。 第一份 PDF 包含可編輯的表格欄位。 應用 IronPDF 的扁平化方法後,文件變得完全不可編輯。 本代碼適用於任何 .NET 專案,包括 [ASP.NET 應用程式](https://ironpdf.com/how-to/aspx-to-pdf/)和 [ Blazor 伺服器](https://ironpdf.com/how-to/blazor-tutorial/)。
扁平化 PDF
使用`Flatten`方法後,窗體將無法被偵測到。 若要驗證扁平化是否成功,請檢查表單欄位數量: ```csharp using IronPdf; // Load the flattened PDF PdfDocument flattenedPdf = PdfDocument.FromFile("flattened.pdf"); // Check if any form fields exist if (flattenedPdf.Form.Fields.Count == 0) { Console.WriteLine("PDF has been successfully flattened - no interactive fields remain."); } else { Console.WriteLine($"Warning: {flattenedPdf.Form.Fields.Count} form fields still exist."); } ```

扁平化後的表單欄位會如何? 當您壓平 PDF 文件時,所有互動式表單元素都會永久轉換。 表單欄位會轉換為靜態頁面內容,成為文件視覺層的一部分: - **文字欄位**成為頁面上的一般文字 - **複選框和單選按鈕**變為靜態影像,顯示其選取狀態 - **下拉式功能表**僅以純文字顯示選取的值 - **數位簽章**以視覺方式保留,但會失去加密驗證 這個過程是不可逆的。 如果將來需要編輯功能,請保留原始互動式 PDF 的副本。 對於同時需要安全性和可編輯性的文件,請使用 [DF 權限和密碼](https://ironpdf.com/how-to/pdf-permissions-passwords/),而非扁平化。

何時應該壓平我的 PDF 文件? PDF 扁平化在這些商業情境中是不可或缺的: 1.**法律文件歸檔**:在簽訂合約和協議後進行扁平化處理,以防止內容篡改並維持法律的完整性。 2.**報告分發**:在分發之前,將含有計算欄位的財務報表和資料表壓平,以防止篡改。 3.**表單提交處理**:在使用者完成線上表格後,透過壓平 PDF 來建立永久記錄。 4.**列印最佳化**:由於印表機不會處理互動式元素,因此扁平化的 PDF 可更可靠地列印。 5.**減少檔案大小**:扁平化可以在使用 [ IronPDF 壓縮](https://ironpdf.com/how-to/pdf-compression/)時,透過移除表單欄位資料結構來減少檔案大小。 以下是一個批次處理範例,用來歸檔多個已完成的表單: ```csharp using IronPdf; using System.IO; public class BatchPdfFlattener { public static void FlattenAllPdfsInDirectory(string sourceDir, string outputDir) { // Ensure output directory exists Directory.CreateDirectory(outputDir); // Get all PDF files in source directory string[] pdfFiles = Directory.GetFiles(sourceDir, "*.pdf"); foreach (string pdfFile in pdfFiles) { try { // Load the PDF PdfDocument pdf = PdfDocument.FromFile(pdfFile); // Flatten the document pdf.Flatten(); // Save to output directory with "_flattened" suffix string fileName = Path.GetFileNameWithoutExtension(pdfFile); string outputPath = Path.Combine(outputDir, $"{fileName}_flattened.pdf"); pdf.SaveAs(outputPath); Console.WriteLine($"Flattened: {fileName}"); } catch (Exception ex) { Console.WriteLine($"Error processing {pdfFile}: {ex.Message}"); } } } } ``` 有關進階的 PDF 操作技術,包括 [ 壓平後合併或分割 PDFs](https://ironpdf.com/how-to/merge-or-split-pdfs/),請參閱 IronPdf 的全面說明文件。

圖書館快速訪問

文件

閱讀更多文檔

閱讀文檔,以了解更多有關如何展平 PDF、編輯和操作 PDF 等的資訊。

存取 IronPDF 文檔
準備好看看您還能做些什麼嗎? 在此查看我們的教學頁面:[附加功能](https://ironpdf.com/tutorials/pdf-assets-and-performance-csharp/)。

常見問題解答

壓平 PDF 是什麼意思?

扁平化 PDF 可將所有互動式表單欄位(如檢查方塊、文字方塊和單選按鈕)轉換為靜態、不可編輯的內容。IronPDF 提供此功能以確保文件的完整性,並防止進一步的修改。

如何用 C# 將 PDF 平面化?

使用 IronPDF,您只需要一行代碼就可以將 PDF 扁平化:IronPdf.PdfDocument.FromFile("input.pdf").Flatten().SaveAs("flattened.pdf").這會載入 PDF,移除所有互動元素,並儲存安全的文件。

我可以扁平化特定頁面而非整個文件嗎?

是的,IronPDF 允許您使用 FlattenPagesRange 方法來壓平特定頁面。例如,pdf.FlattenPagesRange(0, 2) 將只壓平文件的第 1-3 頁,而保留其他互動頁面。

哪些類型的表單欄位能被扁平化?

IronPDF 可以扁平化所有互動式小工具,包括單選按鈕、複選框、文字欄位、下拉式清單,以及任何其他可填寫的表單元素,將它們轉換為永久的靜態內容。

我可以在壓平 PDF 之前填寫表格欄位嗎?

是的,IronPDF 允許您在扁平化之前預先填入表格欄位。您可以在呼叫 Flatten 方法之前,先設定 pdf.Form.Fields[0].Value = "John Doe" 之類的值,以建立一個完成的、不可編輯的文件。

PDF 平面化過程使用何種渲染引擎?

IronPDF 使用 Chrome 渲染引擎,確保在扁平化之前準確渲染複雜表格,在整個過程中保持文件的視覺完整性。

為什麼我需要壓平 PDF 文件?

使用 IronPDF 對 PDF 進行扁平化處理,對於安全性、歸檔目的、法律文件或任何需要永久保存文檔的場合(您需要防止進一步修改表格資料)而言,都是不可或缺的。

柯蒂斯·週
技術撰稿人

Curtis Chau擁有卡爾頓大學電腦科學學士學位,專長於前端開發,精通Node.js、TypeScript、JavaScript和React。他熱衷於打造直覺美觀的使用者介面,喜歡使用現代框架,並擅長撰寫結構清晰、視覺效果出色的使用者手冊。

除了開發工作之外,柯蒂斯對物聯網 (IoT) 也抱有濃厚的興趣,致力於探索硬體和軟體整合的創新方法。閒暇時,他喜歡玩遊戲和製作 Discord 機器人,將他對科技的熱愛與創造力結合。

準備好開始了嗎?
Nuget 下載 17,012,929 | 版本: 2025.12 剛剛發布