How to Sanitize PDF

This article was translated from English: Does it need improvement?
Translated
View the article in English

PDFをサニタイズすることは多くのメリットがある重要なプロセスです。 主に、潜在的に有害な要素(埋め込まれたスクリプトやメタデータなど)を削除することで、文書のセキュリティを強化し、悪意のあるエンティティによる悪用のリスクを軽減します。 さらに、複雑な要素や独自の要素を削除することで異なるプラットフォーム間での互換性が向上し、アクセス性が強化されます。 データ漏洩のリスクを軽減し、文書の整合性を確保することで、PDFのサニタイズは文書管理における全体的なセキュリティと信頼性に大きく貢献します。

クイックスタート: IronPDFによる手間いらずのPDFサニタイズ

IronPDFのCleanerクラスを使用して、PDF文書のセキュリティを簡単に強化できます。 このクイックスタートガイドは、C# .NETで最小限のコードでPDFをサニタイズする方法を示します。 ScanPdfメソッドを利用することで、埋め込まれたスクリプトやメタデータのような脆弱性を迅速に排除し、PDFの整合性とセキュリティを確保できます。 コードスニペットに従い、PDFを素早くクリーンにして潜在的な脅威から保護してください。

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. Copy and run this code snippet.

    IronPdf.Cleaner.SanitizeWithSvg(PdfDocument.FromFile("input.pdf")).SaveAs("sanitized.pdf");
  3. Deploy to test on your live environment

    Start using IronPDF in your project today with a free trial
    arrow pointer
class="hsg-featured-snippet">

最小限のワークフロー(5ステップ)

  1. NuGetからIronPDFライブラリをダウンロード
  2. Cleanerクラスを使用して複数の方法でPDFをサニタイズ
  3. ScanPdfメソッドを使用してPDFをスキャン
  4. 要件を満たすカスタムYARAファイルを提供
  5. 新しいサニタイズされたPDF文書を受け取ります


PDFサニタイズ例

PDFをサニタイズするトリックは、JavaScriptコードや埋め込みオブジェクト、ボタンを削除するためにPDF文書を画像タイプに変換し、それを再び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")
$vbLabelText   $csharpLabel

オプション付きサニタイズ

PDFをサニタイズすることに加えて、IronPDFはChromeRenderOptionsを使用してPDFをサニタイズすることも可能で、マージンや用紙サイズ、用紙の向きなどのパラメータを変更できます。

SanitizeWithBitmapおよびSanitizeWithSvgの両方で、第二のオプショナルなパラメータとしてChromeRenderOptionsオブジェクトを指定できます。 PDFの下部ターゲットマージンを50pxに設定する例として、MarginBottomプロパティを50pxに設定する方法を示します。

利用可能なオプションの完全なリストについてはこちらを参照してください。

: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");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

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)
$vbLabelText   $csharpLabel

次に何ができるのかを見てみましょうか? こちらのチュートリアルページをご覧ください: PDFの署名とセキュリティの確保

よくある質問

C#でPDFを消毒する方法は?

C#でPDFを消毒するには、IronPDFライブラリのクリーナークラスを使用します。これは、有害な要素を取り除くためにPDFをSVGやビットマップなどの画像形式に変換し、その後にPDFに再変換することを含みます。

IronPDFでPDFを消毒するために利用可能なメソッドは何ですか?

IronPDFは、PDFを消毒するためにクリーナークラス内で SanitizeWithBitmapSanitizeWithSvg などのメソッドを提供します。これらのメソッドは、PDFを画像に変換してから戻すことでスクリプトや埋め込まれたオブジェクトを取り除くのに役立ちます。

PDF消毒のためにSVGをビットマップよりも使用することの利点は何ですか?

PDF消毒のためにSVGを使用すると、高速で検索可能なPDFになります。ただし、ビットマップを使用する場合と比較してレイアウトの不整合が生じる可能性があります。

PDFをスキャンするためにカスタムYARAファイルを使用するにはどうすればよいですか?

IronPDFでカスタムYARAファイルを使用するには、ScanPdf メソッドに2番目のパラメータとしてファイルを渡します。これにより、カスタムセキュリティルールに基づいて特定の脆弱性をチェックすることができます。

PDF消毒におけるクリーナークラスの役割は何ですか?

IronPDFのクリーナークラスは、PDFの潜在的に有害な要素を取り除くために設計されています。PDFを画像に変換するメソッドを提供し、これによりスクリプトや埋め込まれたオブジェクトを取り除くことができます。

PDF消毒中にドキュメントパラメータを変更できますか?

はい、IronPDFのChromeRenderOptionsを使用して、PDF消毒中にドキュメントパラメータを変更できます。これにより、余白、用紙サイズ、および向きを変更することができます。

ScanPdfメソッドはPDFのセキュリティをどのように強化しますか?

IronPDFのScanPdfメソッドは、YARAルールを使用してPDFの脆弱性をチェックすることでセキュリティを強化します。これは潜在的な脅威を特定し、悪意のあるPDFに関連するリスクを軽減するのに役立ちます。

なぜPDFの消毒が重要なのですか?

PDFの消毒は、スクリプトやメタデータのような有害な要素を取り除くことで、ドキュメントセキュリティを強化するために重要です。エクスプロイトのリスクを減少させ、互換性を改善し、ドキュメントの完全性を確保します。

Chaknith Bin
ソフトウェアエンジニア
ChaknithはIronXLとIronBarcodeに取り組んでいます。彼はC#と.NETの深い専門知識を持ち、ソフトウェアの改善や顧客サポートに貢献しています。ユーザーとの対話から得られる洞察が、より良い製品、ドキュメント、および全体的な経験に寄与しています。
準備はいいですか?
Nuget ダウンロード 16,154,058 | バージョン: 2025.11 ただ今リリースされました