Découvrez les meilleures alternatives pour le filigrane QuestPDF dans .NET
Un utilisateur télécharge un PDF sur votre portail, et vous n'avez aucune idée de ce qu'il contient. IronPDF assainit ce fichier en le convertissant en image et en retour, en supprimant les scripts JavaScript intégrés, les objets actifs, les boutons, et les métadonnées, puis reconstruit un document propre. La classe Cleaner expose SanitizeWithBitmap et SanitizeWithSvg pour nettoyer, et ScanPdf pour détecter les menaces. Un compromis guide le choix : le bitmap est plus approfondi mais perd la capacité de recherche de texte, tandis que le SVG reste consultable mais la mise en page peut déraper. Vous échangez la fidélité pour la sécurité, et décidez combien.
Désamorcer les PDF de sources non fiables
Toute application acceptant des PDF téléchargés (un portail, un suivi de candidatures, un système de réclamations) peut nettoyer les fichiers entrants pour que les scripts intégrés et le contenu actif n'atteignent jamais un visualiseur :
using IronPdf;
var pdf = PdfDocument.FromFile("upload.pdf");
Cleaner.SanitizeWithSvg(pdf).SaveAs("upload-clean.pdf");Imports IronPdf
Dim pdf = PdfDocument.FromFile("upload.pdf")
Cleaner.SanitizeWithSvg(pdf).SaveAs("upload-clean.pdf")Scan avant traitement
ScanPdf vérifie un fichier par rapport à un jeu de règles YARA par défaut (ou un personnalisé) et signale si quelque chose de dangereux a été trouvé, afin qu'un pipeline puisse mettre en quarantaine ou rejeter avant de stocker ou d'ouvrir :
var pdf = PdfDocument.FromFile("upload.pdf");
CleanerScanResult result = Cleaner.ScanPdf(pdf);
if (result.IsDetected)
{
// quarantine: result.Risks holds the detections
}Imports System
Dim pdf = PdfDocument.FromFile("upload.pdf")
Dim result As CleanerScanResult = Cleaner.ScanPdf(pdf)
If result.IsDetected Then
' quarantine: result.Risks holds the detections
End IfIl détecte les exploits JavaScript intégrés, les actions de formulaires suspectes, le contenu caché, les modèles de vulnérabilité connus, et les fichiers intégrés non autorisés. Notez que ScanPdf ne détecte que ; le nettoyage est effectué par les méthodes SanitizeWith.
Renforcer les documents pour le déploiement dans le cloud
Supprimer le contenu actif avant qu'un fichier n'entre dans un environnement sans serveur ou partagé (Azure, AWS Lambda) réduit la surface d'attaque là-bas. Assainissez lors de l'entrée, pas après que le fichier ait déjà été exécuté quelque part sensible.
Suppression des métadonnées avant partage
Puisque le document est reconstruit à partir d'une image, les noms d'auteurs cachés, les traces de révision, et d'autres métadonnées ne survivent pas. Utile avant publication ou envoi d'un fichier en dehors de l'organisation.
Produire une base propre à signer ou archiver
L'assainissement avant une signature numérique ou l'archivage PDF/A vous donne un point de départ sans script. Vous ne souhaitez rarement attester ou conserver pendant des décennies un document contenant du contenu actif.
Conserver le texte lorsque vous en avez besoin
Lorsque les étapes en aval ont besoin des mots (recherche, indexation, accessibilité, extraction), utilisez SVG : il enlève la couche active tout en gardant le PDF consultable, acceptant un possible dérapage de la mise en page.
Ce que l'assainissement ne fera pas
L'assainissement n'est pas une censure. Il supprime les menaces cachées et actives, pas les informations visibles. Les noms, numéros de comptes, et tout ce qu'un humain lit survivent en intégralité. Pour supprimer des contenus sensibles, c'est le mauvais outil ; utilisez la censure.
Et la sortie bitmap est une image. Elle est inrecherchable et inaccessible : un lecteur d'écran n'en retire rien, ce qui entre en conflit avec les objectifs d'accessibilité comme le PDF/UA. Utilisez le bitmap uniquement lorsque la sécurité maximale l'emporte sur la possibilité de recherche, et utilisez SVG lorsque le texte doit survivre.
Considérez-la comme une étape de sécurité
L'assainissement appartient à votre couche de sécurité, pas à votre formatage. Exécutez-le sur tout ce que vous n'avez pas généré vous-même, scannez d'abord, gardez l'original, et choisissez bitmap ou SVG si le texte doit vivre.

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes et créer des manuels bien structurés et visuellement attrayants.