PDFをサニタイズする方法
PDFのサニタイズは、多くの利点がある重要なプロセスです。 主に、埋め込みスクリプトやメタデータのような潜在的に有害な要素を削除することによって、ドキュメントのセキュリティを強化し、悪意のあるエンティティによる悪用のリスクを低減します。 さらに、複雑または専有要素を取り除くことで、異なるプラットフォーム間の互換性が向上し、アクセス性が強化されます。 データ漏洩のリスクを軽減し、文書の整合性を保証することにより、PDFのサニタイズは文書管理における全体的なセキュリティと信頼性に大きく貢献します。
IronPDFを始めましょう
今日から無料トライアルでIronPDFをあなたのプロジェクトで使い始めましょう。
C#でPDFをサニタイズする方法
- NuGetからIronPDFライブラリをダウンロードする
- 以下を使用 クリーナー 複数の方法でPDFをクリーンアップするクラス
- PDFをスキャンするための
ScanPdf
メソッド - 次の要件を満たすカスタムYARAファイルを提供してください。
- サニタイズされた新しいPDFドキュメントを受け取る
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)