PDF 如何清理
清理 PDF 文件是一個非常重要的過程,具有許多好處。 首要的是,它通過移除可能有害的元素,如嵌入式腳本或元數據,增強了文檔的安全性,從而降低了被惡意實體利用的風險。 此外,它通過移除複雜或專有元素,增強了不同平台之間的兼容性,提高了可訪問性。 通過減少數據洩露的風險並確保文件的完整性,對PDF進行清理在文件管理實踐中顯著提高了整體的安全性和可信度。
開始使用 IronPDF
立即在您的專案中使用IronPDF,並享受免費試用。
在C#中如何清理PDF
- 從 NuGet 下載 IronPDF 庫
- 使用 清潔器 用多種方式清理 PDF 的 Class
- 使用此工具掃描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文件上傳至方法的第二個參數。
一個針對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)