在 C# 中展平 PDF
IronPDF 只需一行代碼即可在 C# 中將 PDF 文件扁平化,將互動式表單欄位轉換為靜態內容,以防止進一步修改並確保文件完整性。
PDF 文件通常包含具有可填寫小工具(如單選按鈕、複選框、文字方塊和清單)的互動表單。 為了使這些文件不可編輯,以達到安全或存檔的目的,您需要將 PDF 檔案壓平。IronPDF 只需一行代碼即可提供此功能。 當您在商業應用程式、法律文件或任何需要永久保存文件的情況下使用 IronPDF 表格時,這項能力是不可或缺的。



快速入門:在一行中展平您的 PDF
使用 IronPDF 壓平 PDF 文件,移除所有互動性,並建立永久不可塗改的內容。 此 C# 單行程序會載入現有的 PDF,移除所有可填寫的小工具,並儲存安全的文件。
立即開始使用 NuGet 建立 PDF 檔案:
使用 NuGet 套件管理器安裝 IronPDF
複製並運行這段程式碼。
IronPdf.PdfDocument.FromFile("input.pdf").Flatten().SaveAs("flattened.pdf");部署到您的生產環境進行測試
最小工作流程(5 個步驟)
- 從 NuGet 套件管理器安裝 IronPDF
- 載入現有 PDF 或從 HTML 建立新 PDF
- 呼叫
Flatten方法 - 儲存壓平後的 PDF 文件
- 確認表單欄位已移除
如何在 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/)。 使用`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 的全面說明文件。
圖書館快速訪問
準備好看看您還能做些什麼嗎? 在此查看我們的教學頁面:[附加功能](https://ironpdf.com/tutorials/pdf-assets-and-performance-csharp/)。
扁平化後的表單欄位會如何? 當您壓平 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 的全面說明文件。
圖書館快速訪問
準備好看看您還能做些什麼嗎? 在此查看我們的教學頁面:[附加功能](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 進行扁平化處理,對於安全性、歸檔目的、法律文件或任何需要永久保存文檔的場合(您需要防止進一步修改表格資料)而言,都是不可或缺的。







