IRONSOFTWAREHOME

C#でPDFをサニタイズする方法 with IronPDF

Curtis Chau
Curtis Chau
Updated: 2026年6月1日

IronPDFはPDFを画像に変換し、埋め込みスクリプト、JavaScript、メタデータを削除します。 このプロセスにより、セキュリティが強化され、クロスプラットフォームの互換性が向上し、悪意のあるエクスプロイトから保護されます。 電子署名を必要とする機密文書を扱っている場合でも、PDF/A準拠の長期アーカイブのために文書の完全性を確保する必要がある場合でも、サニタイズは重要なセキュリティ ステップです。

クイックスタート: IronPDFでのPDFサニタイズ

IronPDFのCleanerクラスを使用して、PDFドキュメントのセキュリティを強化します。 このクイックスタートガイドは、C# .NETで最小限のコードでPDFをサニタイズする方法を示します。 ScanPdfメソッドを活用することで、埋め込みスクリプトやメタデータのような脆弱性を取り除き、PDFの完全性とセキュリティを確保できます。 コードスニペットに従ってPDFをクリーンアップし、潜在的な脅威から保護してください。

  1. 1Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. 2このコード スニペットをコピーして実行します。

    IronPdf.Cleaner.SanitizeWithSvg(PdfDocument.FromFile("input.pdf")).SaveAs("sanitized.pdf");
    C#
  3. 3実際の環境でテストするためにデプロイする

    今日プロジェクトで IronPDF を使い始めましょう無料トライアル
    arrow pointer

PDFをサニタイズするにはどうすればよいですか?

PDFのサニタイズは、PDFドキュメントを画像形式に変換し、JavaScriptコード、埋め込みオブジェクト、ボタンを削除した後、PDFドキュメントに戻すことで機能します。 当社では、SVG画像タイプを提供しています。これは、信頼できないソースからのPDFを扱う場合や、Azureのようなクラウドプラットフォームでの安全なデプロイメントAWS Lambda用のドキュメントを準備する場合に特に有用です。 SVGとBitmapの主な違いは以下の通りです:

  • ビットマップでの洗浄より速い
  • 検索可能なPDFを生成
  • レイアウトが不一致になる可能性あり
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");

ビットマップとSVGのサニタイズのどちらかを選択する場合は、特定の要件を考慮してください。 SVGのサニタイズはテキストの検索性を維持するため、サニタイズ後も検索性を維持する必要があるドキュメントに最適です。 これは、PDFから抽出したテキストを扱う場合や、PDF/UAのようなPDFアクセシビリティ機能を実装する場合に特に重要です。

サニタイズ オプションはどのようにカスタマイズできますか?

PDFのサニタイズに加えて、IronPDFはChromeRenderOptionsとともにPDFをサニタイズすることができ、余白、紙のサイズ、紙の向きなどのパラメータの変更を可能にします。 この柔軟性は、異なるドキュメントタイプ間で一貫した書式を維持する必要がある場合や、特定の印刷要件のためにPDFを準備する場合に特に価値があります。

ChromeRenderOptionsオブジェクトを受け取ることができます。 PDFの下部ターゲットマージンを50 pxに設定する簡単な例として、MarginBottomプロパティを50 pxに設定します。

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

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");

これらのレンダーオプションは、HTMLをPDFに変換するときに利用できるオプションと同様に、サニタイズ出力を細かく制御することができます。 用紙サイズ、向き、余白を調整し、サニタイズ処理中にカスタムヘッダーとフッターを追加することもできます。

私のお気に入りのこの種のライブラリはIronPDFです。PDFファイルの迅速で効率的な操作が可能です。また、PDF/A形式へのエクスポートやPDF文書へのデジタル署名といった多くの貴重な機能も備えています。

Milan Jovanovic

Microsoft MVP

ケーススタディを見る

IronOCRのおかげで私たちは年間$40,000を手作業の処理から節約し、生産性を向上させ、高影響のタスクにリソースを充てることができます。非常にお勧めします。

Brent Matzelle

最高技術責任者, OPYN

ケーススタディを見る

IronSuiteは私たちの業務において重要な役割を果たしています。これらは、フロアプランの作成や在庫管理の改善を含め、ビジネス全体の効率を向上させるツールです。

David Jones

リードソフトウェアエンジニア、Agorus Build

ケーススタディを見る

脆弱性のためにPDFをスキャンするにはどうすればよいですか?

PDFに潜在的な脆弱性があるかどうかを確認するには、ScanPdfメソッドを使用します。 この方法では、デフォルトのYARAファイルでチェックします。しかし、要件を満たすカスタムYARAファイルをメソッドの2番目のパラメータにアップロードすることができます。 このスキャン機能は、特に埋め込み添付ファイルフォームフィールドを含む可能性のあるPDFを扱う場合、ドキュメントのセキュリティを維持するために不可欠です。

PDF文書用のYARAファイルには、悪意のあるPDFファイルに関連する特徴を識別するためのルールやパターンが含まれています。 これらのルールは、潜在的な脅威の検出を自動化し、リスクを軽減するための適切な行動を取るためにセキュリティアナリストを支援します。 YARAは特に効果的に検出します:

  • 埋め込みJavaScriptのエクスプロイト
  • 疑わしいフォームアクション
  • 隠れた悪意のあるコンテンツ
  • 既知の脆弱性パターン
  • 未許可の埋め込みファイルまたはストリーム
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);

カスタムYARAルールの使用

特定の要件に合わせたセキュリティスキャンを強化するために、カスタムYARAルールを提供することができます:

// source file not found: /static-assets/pdf/content-code-examples/how-to/sanitize-pdf-custom-yara.cs
C#

PDFのサニタイズのベストプラクティス

アプリケーションにPDFのサニタイズを実装する際には、以下のベストプラクティスを考慮してください:

1.処理の前に必ずスキャンする:特に外部ソースやユーザーがアップロードしたものなど、すべての受信PDFに対して脆弱性スキャンを実行してください。

  1. 適切なサニタイズ方法の選択: テキストの検索性が重要な場合は、SVGサニタイズを使用します; 非常に機密性の高い文書を扱う場合は、最大のセキュリティのためにbitmapサニタイズを使用します。

3.元のファイルを保存する:監査証跡やリカバリの目的で、サニタイズ前の元のPDFのコピーを保管してください。

4.ロギングの実装: セキュリティ監査とコンプライアンス要件のために、すべてのサニタイズ操作を追跡します。

5.定期的な更新: 最新のPDFベースの脅威と脆弱性を検出するために、YARAルールを常に更新してください。

PDFのサニタイズは、包括的なPDFセキュリティの一側面に過ぎません。 さらなるセキュリティ対策として、PDFのパスワードとアクセス許可を設定する、または電子署名を実装して、文書の真正性と完全性を確保することを検討してください。

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

よくある質問

PDFのサニタイズとは何ですか?

PDFのサニタイゼーションは、埋め込まれたスクリプト、JavaScript、メタデータを含むPDF文書から悪意のある可能性のあるコンテンツを削除するプロセスです。IronPDFはPDFを画像に変換することでこれを実現し、ドキュメントの内容を維持しながら効果的にセキュリティの脆弱性を排除します。これは、特に機密文書や信頼できないソースからのPDFを扱う場合に、悪意のある悪用から保護し、文書の完全性を確保するために極めて重要です。

PDFのサニタイズプロセスはどのように行われますか?

IronPDFのサニタイズプロセスはPDFドキュメントを画像フォーマット(BitmapまたはSVG)に変換し、JavaScriptコード、埋め込みオブジェクト、ボタンを取り除きます。その後、画像はクリーンなPDFドキュメントに変換されます。このアプローチにより、元の文書の視覚的な内容を維持しながら、潜在的に有害な要素を完全に除去することができます。

ビットマップとSVGのサニタイズ方法の違いは何ですか?

IronPDFは明確な利点を持つ2つのサニタイズ方法を提供します。SVGサニタイズはビットマップサニタイズよりも速く、検索可能なPDFを生成するので、テキストの検索性を維持する必要がある場合に理想的です。しかし、SVGサニタイズはレイアウトの不一致を引き起こす可能性があります。ビットマップのサニタイズは、より一貫性のあるビジュアル出力を提供しますが、テキストの検索性は維持されません。検索性とレイアウトの一貫性についての特定の要件に基づいて選択してください。

C#を使用してPDFをすばやくサニタイズするにはどうすればよいですか?

IronPDFを使えば、Cleanerクラスを使って1行のコードでPDFをサニタイズすることができます。使い方は簡単です:IronPdf.Cleaner.SanitizeWithSvg(PdfDocument.FromFile("input.pdf")).SaveAs("sanitized.pdf");`このコマンドはPDFをロードし、スクリプトとメタデータを削除するためにSVGベースのサニタイズを実行し、クリーンなバージョンを保存します。

サニタイズプロセスをカスタマイズできますか?

はい、IronPDFではChromeRenderOptionsを使ってサニタイズ処理をカスタマイズできます。これにより、サニタイズ処理中に余白、用紙サイズ、用紙の向きなどのパラメータを変更することができます。この柔軟性は、異なるドキュメントタイプ間で一貫したフォーマットを維持したり、特定のレイアウト要件を満たす必要がある場合に特に有用です。

PDFのサニタイズはどのような場合に使用すべきですか?

IronPDFによるPDFのサニタイズは、信頼できないソースからのPDFを扱う場合、AzureやAWS Lambdaのようなプラットフォームでセキュアなクラウドデプロイメントを行うためのドキュメントを準備する場合、電子署名を必要とする機密ドキュメントを扱う場合、PDF/Aコンプライアンスで長期的なアーカイブを確保する場合、PDF/UAのようなPDFアクセシビリティ機能を実装する場合に推奨されます。これは、ドキュメントの完全性とセキュリティが最優先されるあらゆるシナリオに不可欠なセキュリティステップです。

Why is PDF sanitization important for cloud deployment?

PDF sanitization is crucial for cloud deployment as it removes potentially malicious content and ensures document security and integrity when deploying on platforms like Azure or AWS Lambda.

What are the best practices for implementing PDF sanitization?

Best practices include scanning PDFs for vulnerabilities before processing, choosing the right sanitization method based on document sensitivity, preserving originals, implementing logging, and keeping YARA rules updated.

Can IronPDF ensure text searchability after sanitization?

Yes, IronPDF can maintain text searchability by using the SVG sanitization method, which preserves the ability to search text within the sanitized document.

How can I download IronPDF for PDF sanitization tasks?

You can download the IronPDF library from NuGet, which provides the necessary tools and classes, such as Cleaner, for effective PDF sanitization in C# .NET.

Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

...
詳しく読む

準備はできましたか?

Nuget Downloads 20,878,335バージョン:2026.9リリースされたばかり

無料をゲット

30日間の試用キーをすぐに取得。

bullet_checkedクレジットカードやアカウントの作成は不要です。
bullet_test製品版でのテスト
透かしなし
bullet_calendar30日間
完全機能の製品
bullet_support試用期間中の
24/5テクニカルサポート
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。
PDF用C# NuGetライブラリ
NuGetでインストール

バージョン: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. ソリューションエクスプローラーで参照を右クリックし、NuGetパッケージを管理を選択
  2. ブラウズを選択し、"IronPDF"を検索
  3. パッケージを選択してインストール
C# PDF DLL
DLLをダウンロード

バージョン: 2026.9

またはここからWindowsインストーラーをダウンロードする。

  1. IronPDFを~/Libsなどの場所に解凍し、ソリューションディレクトリ内に配置する
  2. Visual Studioソリューションエクスプローラーで参照を右クリックし、"IronPDF.dll"をブラウズして選択

ライセンスは$999から

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

Your trial license will be sent to your email address

制限なし。100% ロック解除済み。クレジットカード不要。

bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
無料のライブデモを予約する
Booking Badge

世界中の数百万人のエンジニアから信頼されています。

ライセンスはより安く
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。