Comment automatiser l'extraction de données à partir de PDF multi-page avec Aspose.OCR
Les PDF multi-page des scanners, des archives ou des flux de travail des entreprises contiennent souvent de vastes quantités de textes et de tables non recherchables. l’extraction manuelle est lente et non scalable. Aspose.OCR pour .NET automatisera la extraction de texte, de tableaux et d’une structure à partir de PDFs longs et complexes avec un code minimum.
Problème du monde réel
Les archives juridiques, financières et académiques traitent régulièrement des PDF scannés à plusieurs pages contenant des centaines de pages.
Vue de la solution
Aspose.OCR pour .NET peut combiner le processus et extraire des textes / tables de chaque page dans un PDF multi-page. Vous pouvez spécifier les rangs de page, les formats d’exportation et l’intégration automatique avec les applications commerciales ou les archives numériques.
Principaux
- Visual Studio 2019 ou ultérieur
- .NET 6.0 ou ultérieur (ou .Net Framework 4.6.2+)
- Aspose.OCR pour .NET de NuGet
- Les compétences de programmation C#
PM> Install-Package Aspose.OCR
La mise en œuvre étape par étape
Étape 1 : Installer et configurer Aspose.OCR
using Aspose.OCR;
Étape 2 : Ajouter des fichiers PDF multi-page
OcrInput input = new OcrInput(InputType.PDF);
input.Add("archive.pdf"); // all pages
input.Add("report.pdf", 5, 10); // pages 5-14
Étape 3 : Configurer les paramètres de reconnaissance et les rangs de page
RecognitionSettings settings = new RecognitionSettings();
settings.Language = Language.English;
settings.DetectAreasMode = DetectAreasMode.AUTO;
Étape 4 : extraire le texte et les tables de chaque page
AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);
Étape 5: Résultats d’exportation pour chaque page
int page = 1;
foreach (RecognitionResult result in results)
{
result.Save($"output_page_{page}.txt", SaveFormat.Text);
result.Save($"output_page_{page}.xlsx", SaveFormat.Xlsx);
result.Save($"output_page_{page}.json", SaveFormat.Json);
page++;
}
Étape 6 : Traiter les erreurs et valider les données
try
{
AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
Étape 7 : Optimiser pour les grands fichiers et les emplois de batch
- Traiter les PDF dans les dossiers par catégorie
- Utiliser un traitement de page sélectif pour la vitesse
- L’utilisation de la mémoire/CPU
foreach (string file in Directory.GetFiles("./pdfs", "*.pdf"))
{
input.Add(file);
}
Étape 8 : Exemple complet
using Aspose.OCR;
using System;
using System.Collections.Generic;
using System.IO;
class Program
{
static void Main(string[] args)
{
try
{
OcrInput input = new OcrInput(InputType.PDF);
input.Add("archive.pdf");
input.Add("report.pdf", 5, 10);
RecognitionSettings settings = new RecognitionSettings();
settings.Language = Language.English;
settings.DetectAreasMode = DetectAreasMode.AUTO;
AsposeOcr ocr = new AsposeOcr();
List<RecognitionResult> results = ocr.Recognize(input, settings);
int page = 1;
foreach (RecognitionResult result in results)
{
result.Save($"output_page_{page}.txt", SaveFormat.Text);
result.Save($"output_page_{page}.xlsx", SaveFormat.Xlsx);
result.Save($"output_page_{page}.json", SaveFormat.Json);
page++;
}
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
}
}
Utiliser les cas et les applications
Légale et conformité archivant
Extrait du contenu complet des contrats, des demandes judiciaires, ou des dossiers gouvernementaux pour la recherche et le respect.
Archives académiques et de recherche
Digitaliser et diviser des journaux, des thèses ou des tables de données pour l’analyse ou le e-learning.
flux de travail financier et d’audit
Extraction automatique des grands archives de déclarations, rapports et brochures.
Défis communs et solutions
Défi 1 : Layouts de page incohérents
Solution: Utilisez la détection AUTO ou définissez différents modes par gamme de page.
Défi 2 : PDFs très grands
Solution: Processus en batches; fichiers divisés pour une meilleure performance de la mémoire.
Défi 3 : contenu mélangé (texte, tableaux, images)
Solution: Validation et sorties post-proces; mode de détection de tonne.
Considérations de performance
- Les grands PDF nécessitent plus de mémoire/CPU
- Travaux off-hours pour les meilleures performances
- Valider les échantillons de sortie avant l’intégration
Migliori pratiche
- Utilisez des conventions de nom pour un suivi facile
- Répartissez les PDF multi-page si les fichiers sont très grands
- Sécuriser les documents source et de sortie
- Valider et vérifier les résultats dans les flux de travail critiques
Scénarios avancés
Scénario 1: Exportation vers les PDF recherchables par page
foreach (RecognitionResult result in results)
{
result.Save($"output_page_{page}.pdf", SaveFormat.Pdf);
page++;
}
Scénario 2: Intégrer avec une base de données ou un nuage
foreach (RecognitionResult result in results)
{
string json = File.ReadAllText($"output_page_{page}.json");
// Upload json or send to a cloud endpoint
}
Conclusion
Aspose.OCR pour .NET permet une extraction robuste, scalable du texte et des données structurées à partir de PDF de plusieurs pages, ce qui économise des heures d’efforts manuels et améliore l’automatisation du flux de travail.
Voir plus d’exemples de traitement de PDF et de batch dans le Aspose.OCR pour la référence API .NET .