Comment extraire du texte de PDF en .NET
Cet article montre comment extraire du texte des documents PDF en utilisant l’extracteur de texte Aspose.PDF pour .NET. Vous apprendrez à utiliser tous les modes d’extrusion soutenus - Pure, Raw et Plain - et à automatiser les flux de travail pour les PDF individuels ou multiples.
Problème du monde réel
La copie manuelle du texte à partir de PDF est inefficace et sans erreur. Pour les applications dans l’analyse des données, la migration des documents, ou le stockage, l’extraction de texte automatisée assure la cohérence, vitesse et précision.
Vue de la solution
Aspose.PDF Text Extractor for .NET fournit une interface propre et programmable pour l’extraction du texte dans divers formats. Choisissez entre les modes Pure, Raw et Plain pour correspondre à votre cas d’utilisation - que vous avez besoin de sortie formatée, de données crudes ou de contenu plain.
Principaux
- Visual Studio 2019 ou ultérieur
- .NET 6.0 ou ultérieur
- Aspose.PDF pour .NET installé via NuGet
PM> Install-Package Aspose.PDF
La mise en œuvre étape par étape
Étape 1 : Installer et configurer Aspose.PDF
using Aspose.Pdf.Plugins;
using System.IO;
Étape 2 : Extrait du texte en utilisant le mode RAW (defaut)
using (var extractor = new TextExtractor())
{
var options = new TextExtractorOptions(); // Raw mode by default
options.AddInput(new FileDataSource("input.pdf"));
var resultContainer = extractor.Process(options);
string textExtracted = resultContainer.ResultCollection[0].ToString();
Console.WriteLine(textExtracted);
}
Étape 3 : Extrait du texte en mode pur ou plain
- Pure Mode: Conserve les positions relatives et ajoute des espaces d’alignement.
- **Mode de planification: ** Stripes de formatage, output texte avec un espace minimum.
using (var extractor = new TextExtractor())
{
var options = new TextExtractorOptions(TextExtractorOptions.TextFormattingMode.Pure); // Or .Plain
options.AddInput(new FileDataSource("input.pdf"));
var resultContainer = extractor.Process(options);
string textExtracted = resultContainer.ResultCollection[0].ToString();
Console.WriteLine(textExtracted);
}
Utilisation de cas et d’applications (avec variations de code)
1. Batch Extrait de texte à partir de PDF multiples
string[] files = Directory.GetFiles(@"C:\PDFs", "*.pdf");
using (var extractor = new TextExtractor())
{
var options = new TextExtractorOptions(TextExtractorOptions.TextFormattingMode.Pure);
foreach (var file in files)
options.AddInput(new FileDataSource(file));
var resultContainer = extractor.Process(options);
for (int i = 0; i < resultContainer.ResultCollection.Count; i++)
{
string extracted = resultContainer.ResultCollection[i].ToString();
// Save to disk, process, or analyze as needed
File.WriteAllText($@"C:\PDFs\out\{Path.GetFileNameWithoutExtension(files[i])}.txt", extracted);
}
}
2. Choisissez le mode d’extraction basé sur l’utilisation du cas
- Utilisez Pure pour des layouts similaires à la table ou le formatage spatial.
- Utilisez Plain pour une extraction ou une analyse de données propres.
- Utilisez Raw pour le texte non traité.
3. Procédure postale Texte extrait
Après l’extraction, appliquez le regex, le nettoyage du texte ou envoyez les résultats à d’autres services (search, pipelines ML, etc.).
4. Integrer l’extraction avec les pipelines de données
L’extraction automatique dans le cadre d’un flux de travail plus large ETL, de reporting ou de gestion de documents en utilisant des pratiques standard .NET.
Défis communs et solutions
Défi: Résultats incohérents en raison de la structure PDF complexeSolution: Essayez différents modes d’extraction (Pure, Plain, Raw) et comparez les résultats.
Défi : ** Vitesse d’extraction de batchSolution : ** Utilisez un seul TextExtractor
Exemple et traitement de plusieurs fichiers en une seule ronde pour la meilleure performance.
Défi : ** Caractères spéciaux ou problèmes de codageSolution:** Utilisez le mode Plain pour un minimum de formatage, puis appliquez le traitement de fil personnalisé selon le besoin.
Performance et meilleures pratiques
- Testez tous les trois modes d’extraction pour déterminer les résultats optimaux pour votre type de document
- Enregistrer les PDF d’origine avant les opérations de batch
- Travailler avec des noms et des organisations de production dans les emplois de batch
- Gestion et logement d’erreurs intégrées pour la robustesse
Exemple de mise en œuvre complète
using Aspose.Pdf.Plugins;
using System;
using System.IO;
class Program
{
static void Main()
{
using (var extractor = new TextExtractor())
{
var options = new TextExtractorOptions(TextExtractorOptions.TextFormattingMode.Plain);
options.AddInput(new FileDataSource(@"C:\PDFs\input.pdf"));
var resultContainer = extractor.Process(options);
string textExtracted = resultContainer.ResultCollection[0].ToString();
File.WriteAllText(@"C:\PDFs\output.txt", textExtracted);
}
}
}
Conclusion
Aspose.PDF Text Extractor pour .NET vous donne des outils puissants et flexibles pour extraire du texte en plusieurs formats – adapté pour le traitement de données, l’archivage ou l’analyse. Choisissez le mode d’extraction le mieux adapté à vos besoins et automatiquez la extraction pour une efficacité élevée dans les applications .Net.