PDFをサニタイズする方法

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

によって チャクニット・ビン

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

IronPDFを始めましょう

今日から無料トライアルでIronPDFをあなたのプロジェクトで使い始めましょう。

最初のステップ:
green arrow pointer



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")
VB   C#

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)
VB   C#
Chaknith related to PDFスキャンの例

チャクニット・ビン

ソフトウェアエンジニア

チャクニットは開発者のシャーロック・ホームズです。彼がソフトウェアエンジニアリングの将来性に気付いたのは、楽しみでコーディングチャレンジをしていたときでした。彼のフォーカスはIronXLとIronBarcodeにありますが、すべての製品でお客様を助けることに誇りを持っています。チャクニットは顧客と直接話すことで得た知識を活用して、製品自体のさらなる改善に貢献しています。彼の逸話的なフィードバックは、単なるJiraチケットを超えて、製品開発、ドキュメントおよびマーケティングをサポートし、顧客の全体的な体験を向上させます。オフィスにいないときは、機械学習やコーディングについて学んだり、ハイキングを楽しんだりしています。