如何对 PDF 进行消毒
清理 PDF 文件是一个非常重要的过程,具有许多好处。 主要是通过删除嵌入的脚本或元数据等潜在有害元素来增强文件安全,从而降低恶意实体利用的风险。 此外,它通过移除复杂或专有元素,增强了不同平台之间的兼容性,提高了可访问性。 通过减轻数据泄露的风险并确保文档的完整性,清洁PDF文件在文件管理实践中显著提升了整体安全性和可信度。
开始使用IronPDF
立即在您的项目中开始使用IronPDF,并享受免费试用。
如何用 C# 对 PDF 进行消毒
- 从 NuGet 下载 IronPDF 库
- 使用 清洁剂 类以多种方式对 PDF 文件进行消毒
- 使用
扫描PDF
方法 - 提供符合要求的定制 YARA 文件
- 接收新的净化 PDF 文档
清理 PDF 示例
要清理PDF的技巧是将PDF文档转换成一种图像格式,这样可以去除JavaScript代码、嵌入的对象和按钮,然后再将其转换回PDF文档。 我们提供Bitmap和SVG图像类型。 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");
Imports IronPdf
' Import PDF document
Private pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")
' Sanitize with Bitmap
Private sanitizeWithBitmap As PdfDocument = Cleaner.SanitizeWithBitmap(pdf)
' Sanitize with SVG
Private sanitizeWithSvg As PdfDocument = Cleaner.SanitizeWithSvg(pdf)
' Export PDFs
sanitizeWithBitmap.SaveAs("sanitizeWithBitmap.pdf")
sanitizeWithSvg.SaveAs("sanitizeWithSvg.pdf")
扫描PDF示例
使用 Cleaner 类的 ScanPdf
方法来检查 PDF 是否存在任何潜在漏洞。 此方法将检查默认的YARA文件。但是,您可以根据需求将自定义YARA文件上传到方法的第二个参数。
YARA文件用于PDF文档,包含用于识别与恶意PDF文件相关联的特征的规则或模式。 这些规则帮助安全分析师自动化地检测潜在威胁,并采取适当措施降低风险。
: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);
Imports IronPdf
Imports System
' Import PDF document
Private pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")
' Scan PDF
Private result As CleanerScanResult = Cleaner.ScanPdf(pdf)
' Output the result
Console.WriteLine(result.IsDetected)
Console.WriteLine(result.Risks.Count)