IronPDF 操作指南 清理PDF 如何使用 IronPDF 在 C# 中对 PDF 进行消毒 Curtis Chau 已更新:2026年1月10日 下载 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 通过将 PDF 转换为图像并返回,移除嵌入的脚本、JavaScript 和元数据,对 PDF 进行消毒处理。 这一过程可增强安全性、提高跨平台兼容性并防止恶意攻击。 无论您是在处理需要数字签名的敏感文档,还是需要确保文档的完整性以符合 PDF/A 标准的长期存档,消毒都是至关重要的安全步骤。 快速入门:使用 IronPDF 进行 PDF 净化 使用 IronPDF 的 Cleaner 类增强 PDF 文档的安全性。 本快速入门指南演示了如何使用 C# .NET 以最少的代码清理 PDF。 通过利用 ScanPdf 方法,您可以消除嵌入式脚本和元数据等漏洞,从而确保 PDF 的完整性和安全性。 按照代码片段清理您的 PDF,防范潜在威胁。 使用 NuGet 包管理器安装 https://www.nuget.org/packages/IronPdf PM > Install-Package IronPdf 复制并运行这段代码。 IronPdf.Cleaner.SanitizeWithSvg(PdfDocument.FromFile("input.pdf")).SaveAs("sanitized.pdf"); 部署到您的生产环境中进行测试 通过免费试用立即在您的项目中开始使用IronPDF Free 30 Day Trial 最小工作流程(5 个步骤) 从 NuGet 下载 IronPDF 库。 使用 **Cleaner** 类对 PDF 进行消毒 使用 `ScanPdf` 方法扫描 PDF 文件 提供符合要求的定制 YARA 文件 接收新的已净化的 PDF 文档 如何对 PDF 进行消毒? PDF sanitization 的工作原理是将 PDF 文档转换为图像格式,去除 JavaScript 代码、嵌入式对象和按钮,然后将其转换回 PDF 文档。 我们提供位图和 SVG 图像类型。这种方法在处理来自不受信任来源的 PDF 或为在 Azure 或 AWS Lambda 等云平台上进行安全部署而准备文档时特别有用。 SVG 与 Bitmap 的主要区别在于 比使用位图进行消毒更快 可搜索 PDF 格式的结果 布局可能不一致 :path=/static-assets/pdf/content-code-examples/how-to/sanitize-pdf-sanitize-pdf.cs using IronPdf; // Import PDF document PdfDocument pdf = PdfDocument.FromFile("sample.pdf"); // Sanitize with Bitmap PdfDocument sanitizeWithBitmap = Cleaner.SanitizeWithBitmap(pdf); // Sanitize with SVG PdfDocument sanitizeWithSvg = Cleaner.SanitizeWithSvg(pdf); // Export PDFs sanitizeWithBitmap.SaveAs("sanitizeWithBitmap.pdf"); sanitizeWithSvg.SaveAs("sanitizeWithSvg.pdf"); $vbLabelText $csharpLabel 在选择位图和 SVG 净化时,请考虑您的具体要求。 SVG 净化可保持文本的可搜索性,因此非常适合需要在净化后保持可搜索性的文档。 在使用 PDF 中提取的文本或实施 PDF/UA 等 PDF 辅助功能时,这一点尤为重要。 如何自定义消毒选项? 除了清理 PDF 之外, IronPDF还允许您清理 PDF 以及 ChromeRenderOptions,从而可以修改边距、纸张大小和纸张方向等参数。 当您需要在不同的文档类型中保持格式一致,或者为特定的打印要求准备 PDF 文件时,这种灵活性尤为宝贵。 SanitizeWithBitmap 和 SanitizeWithSvg 都可以接受第二个可选参数,即 ChromeRenderOptions 对象。 以下是一个简单的示例,通过将 MarginBottom 属性设置为 50 px,将 PDF 的底部目标边距设置为 50 px。 欲了解完整的可用选项列表,请参考 这里。 :path=/static-assets/pdf/content-code-examples/how-to/santize-pdf-sanitize-chrome-render-options.cs using IronPdf; // Customize Chrome render options var options = new ChromePdfRenderOptions(); // Set bottom margin to 50 pixels options.MarginBottom = 50; // Import PDF document PdfDocument pdf = PdfDocument.FromFile("sample.pdf"); // Sanitize with Bitmap with Chrome render options PdfDocument sanitizeWithBitmap = Cleaner.SanitizeWithBitmap(pdf, options); // Sanitize with SVG with Chrome render options PdfDocument sanitizeWithSvg = Cleaner.SanitizeWithSvg(pdf, options); // Export PDFs sanitizeWithBitmap.SaveAs("sanitizeWithBitmap.pdf"); sanitizeWithSvg.SaveAs("sanitizeWithSvg.pdf"); $vbLabelText $csharpLabel 这些呈现选项可让您对消毒输出进行细粒度控制,类似于 将 HTML 转换为 PDF 时的选项。 您可以在消毒过程中调整纸张大小、方向、页边距,甚至添加自定义页眉和页脚。 如何扫描 PDF 以查找漏洞? 使用 ScanPdf 类的 Cleaner 方法检查 PDF 是否存在任何潜在漏洞。 此方法使用默认 YARA 文件进行检查。不过,您也可以将符合要求的自定义 YARA 文件上传到该方法的第二个参数。 这种扫描功能对于维护文档安全至关重要,尤其是在处理可能包含嵌入式附件或表单字段的 PDF 文件时。 用于 PDF 文档的 YARA 文件包含用于识别与恶意 PDF 文件相关的特征的规则或模式。 这些规则帮助安全分析师自动检测潜在威胁并采取适当行动来降低风险。 YARA 在检测以下方面尤为有效: 嵌入式 JavaScript 漏洞利用 可疑的表单操作 隐藏的恶意内容 已知的漏洞模式 未经授权的嵌入文件或数据流 :path=/static-assets/pdf/content-code-examples/how-to/sanitize-pdf-scan-pdf.cs using IronPdf; using System; // Import PDF document PdfDocument pdf = PdfDocument.FromFile("sample.pdf"); // Scan PDF CleanerScanResult result = Cleaner.ScanPdf(pdf); // Output the result Console.WriteLine(result.IsDetected); Console.WriteLine(result.Risks.Count); $vbLabelText $csharpLabel 使用自定义 YARA 规则 您可以提供定制的 YARA 规则,以便根据您的具体要求增强安全扫描: :path=/static-assets/pdf/content-code-examples/how-to/sanitize-pdf-custom-yara.cs // 该代码片段不可用! $vbLabelText $csharpLabel PDF 净化的最佳实践 在应用程序中实施 PDF 净化时,请考虑以下最佳实践: 1.处理前始终进行扫描:对所有传入的 PDF 文件进行漏洞扫描,尤其是来自外部资源或用户上传的文件。 2.选择正确的清理方法:当文本可搜索性很重要时,请使用 SVG 清理; 处理高度敏感文档时,请使用 bitmap 清理以获得最大安全性。 3.保存原始文件:保留原始 PDF 文件的副本,然后再进行消毒处理,以用于审计跟踪或恢复目的。 4.实施日志记录:跟踪所有消毒操作,以满足安全审计和合规性要求。 5.定期更新:保持更新您的 YARA 规则,以检测最新的基于 PDF 的威胁和漏洞。 PDF 净化只是 PDF 综合安全的一个方面。 关于其他安全措施,请探讨设置 PDF 密码和权限或实施数字签名,以确保文档的真实性和完整性。 准备好看看您还能做些什么吗? 查看我们的教程页面:签名和保护PDFs 常见问题解答 什么是 PDF 净化,为什么它很重要? PDF 净化是从 PDF 文档中删除潜在恶意内容的过程,包括嵌入式脚本、JavaScript 和元数据。IronPDF 通过将 PDF 转换为图像再返回来实现这一目的,在保持文档内容的同时有效消除安全漏洞。这对于防止恶意攻击和确保文档完整性至关重要,尤其是在处理敏感文档或来自不可信来源的 PDF 时。 PDF 净化过程是如何进行的? IronPDF 的净化流程通过将 PDF 文档转换为图像格式(Bitmap 或 SVG),从而去除 JavaScript 代码、嵌入式对象和按钮。然后再将图像转换回干净的 PDF 文档。这种方法可确保完全去除潜在的有害元素,同时保留原始文档的视觉内容。 位图和 SVG 净化方法的区别是什么? IronPDF 提供两种优势明显的消毒方法。SVG sanitization 比位图 sanitization 更快,而且能生成可搜索的 PDF,是需要保持文本可搜索性的理想选择。不过,SVG 净化可能会导致某些布局不一致。位图消毒可提供更一致的视觉输出,但无法保持文本的可搜索性。请根据您对可搜索性和布局一致性的具体要求进行选择。 如何使用 C# 对 PDF 进行快速消毒? 有了 IronPDF,只需一行代码,您就可以使用 Cleaner 类对 PDF 进行消毒。只需使用`IronPdf.Cleaner.SanitizeWithSvg(PdfDocument.FromFile("input.pdf")).SaveAs("sanitized.pdf");` 该命令加载您的 PDF,执行基于 SVG 的净化以移除脚本和元数据,并保存净化后的版本。 我可以定制消毒流程吗? 是的,IronPDF 允许您使用 ChromeRenderOptions 自定义消毒过程。这使您能够在消毒过程中修改页边距、纸张大小和纸张方向等参数。当您需要在不同的文档类型中保持格式一致或确保满足特定的排版要求时,这种灵活性尤其有用。 何时应使用 PDF 净化? 在处理来自不受信任来源的 PDF、为 Azure 或 AWS Lambda 等平台上的安全云部署准备文档、处理需要数字签名的敏感文档、确保 PDF/A 合规性的长期存档或实施 PDF/UA 等 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 查看许可证