Classer les documents PDF à l'aide de C#

Vous pouvez classer des documents à l’aide de balises ou de catégories prédéfinies dans les taxonomies IAB-2, Documents et Sentiment par programmation. La classification des documents facilite la recherche de l’information pertinente au bon moment. Il aide également à gérer et à trier les documents pour rechercher et récupérer les informations importantes. Dans cet article, vous apprendrez comment classer des documents PDF à l’aide de C#.

Les sujets suivants sont abordés/couverts dans cet article:

API C# pour la classification PDF

J’utiliserai l’API GroupDocs.Classification for .NET pour la classification des fichiers PDF. Il offre une classification avancée des documents et des textes dans des catégories prédéfinies. L’API prend en charge différents types de taxonomies telles que la taxonomie IAB-2, Documents et Sentiment. Il analyse le texte et affiche les informations de classification, y compris la meilleure classe avec son score de probabilité. Vous pouvez classer une variété de formats de documents standard tels que PDF, Word, OpenDocument, RTF et TXT. L’API propose également une analyse des sentiments avec détection automatique de la langue et prend en charge les langues anglaise, chinoise, espagnole et allemande. Il peut être utilisé pour développer des applications dans n’importe quel environnement de développement qui cible la plate-forme .NET.

Vous pouvez soit télécharger la DLL de l’API, soit l’installer à l’aide de NuGet.

Install-Package GroupDocs.Classification

Classer les documents PDF avec la taxonomie IAB-2 à l’aide de C#

Vous pouvez facilement classer des documents PDF avec la taxonomie IAB-2 par programmation en suivant les étapes simples indiquées ci-dessous:

L’exemple de code suivant montre comment classer un PDF avec la taxonomie IAB-2 à l’aide de C#.

// créer un classificateur
var classifier = new Classifier();

// classer le document avec IAB-2
var response = classifier.Classify("sample.pdf", @"C:\Files\", 3, Taxonomy.Iab2);

// afficher les informations de classification
foreach (var r in response.BestResults)
{
    Console.WriteLine("ClassName: " + r.Name);
    Console.WriteLine("ClassProbability: " + r.Probability);
    Console.WriteLine("--------------------------------");
}
Classer les documents PDF avec la taxonomie IAB-2 à l'aide de C#

Classer les documents PDF avec la taxonomie IAB-2 à l’aide de C#

La classe Classifier est la classe principale qui fournit diverses méthodes pour classer les documents. La méthode Classify() de cette classe classe les documents par nom de fichier et nom de répertoire. Le paramètre bestClassesCount définit le nombre de meilleures classes correspondantes à renvoyer. Dans l’exemple de code ci-dessus, j’ai utilisé la taxonomie Taxonomy.IAB2 pour la classification.

La classe ClassificationResponse fournit des propriétés et des méthodes pour afficher les informations de classification récupérées.

Classification PDF avec taxonomie de documents à l’aide de C

Vous pouvez classer les documents PDF avec la taxonomie des documents par programme en suivant les étapes simples indiquées ci-dessous:

L’exemple de code suivant montre comment classer un PDF avec la taxonomie Documents à l’aide de C#.

// créer un classificateur
var classifier = new Classifier();

// classer le document avec la taxonomie des documents
var response = classifier.Classify("sample.pdf", @"C:\Files\", 4, Taxonomy.Documents, PrecisionRecallBalance.Precision);
                
// afficher les informations de classification
foreach (var r in response.BestResults)
{
    Console.WriteLine("ClassName: " + r.Name);
    Console.WriteLine("ClassProbability: " + r.Probability);
    Console.WriteLine("--------------------------------");
}
Classifier un PDF avec la taxonomie des documents à l'aide de C#

Classifier un PDF avec la taxonomie des documents à l’aide de C#

Classification de documents PDF à partir d’un flux à l’aide de C#

Vous pouvez classer les documents PDF à partir du flux de fichiers par programme en suivant les quelques étapes ci-dessous:

  • Lire un fichier dans l’instance FileStream
  • Créez une instance de la classe Classifier
  • Appelez la méthode Classifier.Classify() avec l’instance FileStream
  • Définissez bestClassesCount et Taxonomy comme entrée
  • Obtenir des résultats dans l’objet de classe ClassificationResponse

L’exemple de code suivant montre comment classer un PDF à partir d’un flux de documents à l’aide de C#.

using (var fs = File.OpenRead(Path.Combine(@"C:\Files\", "sample.pdf")))
{
    // create classifier
    var classifier = new Classifier();
    
    // classify document
    var response = classifier.Classify(fs, "sample.pdf", 2, Taxonomy.Documents);
    
    // show classification information
    Console.WriteLine($"{"sample.pdf"}: {response.BestClassName}, {response.BestClassProbability}");
}

Classer les fichiers PDF protégés par mot de passe à l’aide de C#

Vous pouvez facilement classer par programmation des documents PDF protégés par mot de passe en suivant les étapes simples ci-dessous:

L’exemple de code suivant montre comment classer un fichier PDF protégé par mot de passe à l’aide de C#.

// créer un classificateur
var classifier = new Classifier();

// classer un document protégé par mot de passe
var response = classifier.Classify("password-protected.pdf", @"C:\Files\", password: "password");

// afficher les informations de classification
Console.WriteLine(response.BestClassName, response.BestClassProbability);

Obtenez une licence gratuite

Vous pouvez essayer l’API sans limitation d’évaluation en demandant une licence temporaire gratuite.

Conclusion

Dans cet article, vous avez appris comment classer des documents PDF à l’aide de C#. Vous avez également appris à classer des documents avec la taxonomie IAB-2 et la taxonomie Documents. De plus, vous avez appris à classer les documents lors de leur chargement en utilisant le flux de fichiers au lieu du chemin de fichier en C#. Vous pouvez en savoir plus sur l’API GroupDocs.Classification pour .NET à l’aide de la documentation. En cas d’ambiguïté, n’hésitez pas à nous contacter sur le forum.

Voir également