IronPDF 操作指南 展平 PDFs Flatten PDFs in C Curtis Chau 已更新:2025年12月14日 下载 IronPDF NuGet 下载 DLL 下载 Windows 安装程序 免费试用 LLM副本 LLM副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在 Grok 中打开 向 Grok 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 This article was translated from English: Does it need improvement? Translated View the article in English IronPDF 只需一行代码即可在 C# 中扁平化 PDF 文档,将交互式表单字段转换为静态内容,以防止进一步修改并确保文档的完整性。 PDF 文档通常包括带有可填写部件(如单选按钮、复选框、文本框和列表)的交互式表单。 为了使这些文档不可编辑,以达到安全或存档的目的,您需要对 PDF 文件进行扁平化处理。IronPDF 只需一行代码即可实现这一功能。 当在商业应用、法律文件或任何需要永久保存文档的场景中使用 IronPDF 表单时,这种能力至关重要。 快速入门:一行即可展平 PDF 使用 IronPDF 扁平化 PDF 文档,删除所有交互性并创建永久不可编辑的内容。 该 C# 单行程序可加载现有 PDF,删除所有可填充部件,并保存安全文档。 使用 NuGet 包管理器安装 https://www.nuget.org/packages/IronPdf PM > Install-Package IronPdf 复制并运行这段代码。 IronPdf.PdfDocument.FromFile("input.pdf").Flatten().SaveAs("flattened.pdf"); 部署到您的生产环境中进行测试 通过免费试用立即在您的项目中开始使用IronPDF Free 30 Day Trial 最小工作流程(5 个步骤) 从 NuGet 包管理器安装 IronPdf 加载现有 PDF 或从 HTML 创建新 PDF 调用 `Flatten` 方法 保存扁平化的 PDF 文档 验证表单字段是否已删除 如何在 C# 中扁平化 PDF 文档? 安装 IronPDF 后,只需一行代码即可实现 PDF 文件的扁平化。 该流程适用于从 HTML 文件、HTML 字符串或现有 PDF 文档创建的 PDF。 下面的代码示例使用 PdfDocument 类加载现有的 PDF。 要生成动态 PDF,请使用 ChromePdfRenderer 类。 IronPdf 的Chrome渲染引擎可确保在扁平化之前准确渲染复杂表格。 要展平 PDF 文件,请调用 Flatten 方法。 在翻译过程中,我们会删除所有交互式部件,包括单选按钮、复选框和文本字段,使文档完全不可编辑。 :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"); 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"); 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"); $vbLabelText $csharpLabel 对于复杂的场景,您可以在扁平化之前扁平化特定页面或操作 表单数据: 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"); 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"); $vbLabelText $csharpLabel 如何验证 PDF 是否已扁平化? 下面的输出显示了之前和之后的状态。 第一个 PDF 包含可编辑的表单字段。 应用 IronPDF 的扁平化方法后,文档变得完全不可编辑。 该代码适用于任何 .NET 项目,包括 ASP.NET 应用程序和 Blazor 服务器。 使用 Flatten 方法。 要验证扁平化是否成功,请检查表单字段计数: 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."); } 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."); } $vbLabelText $csharpLabel 扁平化后表单字段会发生什么变化? 当您对 PDF 文档进行扁平化处理时,所有交互式表单元素都会发生永久性转换。 表单字段转换为静态页面内容,成为文档视觉层的一部分: 文本字段成为页面上的常规文本 复选框和单选按钮变成静态图像,显示其选定状态 下拉菜单仅以纯文本形式显示所选值 数字签名保留了视觉效果,但失去了加密验证功能 此过程不可逆转。 如果将来需要编辑功能,请保留原始交互式 PDF 的副本。 对于同时要求安全性和可编辑性的文档,请使用 PDF 权限和密码 而不是扁平化。 何时应将 PDF 文档扁平化? 在这些业务场景中,PDF 扁平化至关重要: 1.法律文件存档:在签署后对合同和协议进行扁平化处理,以防止内容更改并保持法律完整性。 2.报告分发:在分发之前,使用计算字段对财务报告和数据表进行扁平化处理,以防止篡改。 3.表单提交处理:在用户完成在线表格后,通过平铺 PDF 创建永久记录。 4.打印优化:由于打印机不处理交互式元素,因此扁平化 PDF 的打印更加可靠。 5.减少文件大小:在使用 IronPDF 压缩时,扁平化可通过删除表单字段数据结构来减小文件大小。 下面是一个批处理示例,用于归档多个已完成的表单: 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}"); } } } } 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}"); } } } } $vbLabelText $csharpLabel 有关高级 PDF 操作技术,包括合并或拆分 PDF 扁平化后的 PDF,请参阅 IronPDF 的综合文档。 图书馆快速访问 阅读更多文档 阅读文档,了解更多有关如何扁平化 PDF、编辑和处理 PDF 等内容。 访问 IronPdf 文档 准备好看看您还能做些什么吗? 点击此处查看我们的教程页面:附加功能。 常见问题解答 平铺 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 立即与工程团队聊天 技术作家 Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。 准备开始了吗? Nuget 下载 17,803,474 | 版本: 2026.3 刚刚发布 免费试用 免费 NuGet 下载 总下载量:17,803,474 查看许可证 还在滚动吗? 想快速获得证据? PM > Install-Package IronPdf 运行示例看着你的HTML代码变成PDF文件。 免费 NuGet 下载 总下载量:17,803,474 查看许可证