如何对 PDF 进行消毒
对 PDF 文件进行消毒是一项至关重要的工作,好处多多。首先,它通过删除潜在的有害元素(如嵌入脚本或元数据)来增强文档的安全性,从而降低被恶意实体利用的风险。此外,它还能通过删除复杂或专有元素来提高不同平台的兼容性,从而增强可访问性。通过降低数据泄漏风险和确保文档完整性,对 PDF 文件进行消毒大大提高了文档管理实践的整体安全性和可信度。
如何用 C# 对 PDF 进行消毒
- 下载用于净化 PDF 的 C# 库
- 使用 清洁剂 类以多种方式对 PDF 文件进行消毒
- 使用
扫描PDF
方法 - 提供符合要求的定制 YARA 文件
- 获取新的经过消毒的 PDF 文档
开始在您的项目中使用IronPDF,并立即获取免费试用。
查看 IronPDF 上 Nuget 用于快速安装和部署。它有超过800万次下载,正在使用C#改变PDF。
Install-Package IronPdf
考虑安装 IronPDF DLL 直接。下载并手动安装到您的项目或GAC表单中: IronPdf.zip
手动安装到你的项目中
下载DLL消毒 PDF 示例
净化 PDF 背后的诀窍是将 PDF 文档转换为一种图像类型,去除 JavaScript 代码、嵌入式对象和按钮,然后再将其转换回 PDF 文档。我们提供位图和 SVG 两种图像类型。SVG 与位图的主要区别在于
- 比使用位图进行消毒更快
生成可搜索的 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 文件上传到该方法的第二个参数中。
PDF 文档的 YARA 文件包含用于识别恶意 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)