Comment extraire des données structurées de PDF en utilisant ChatGPT et .NET
Déblocez l’automatisation avancée et les flux de travail AI dans vos applications .NET en extraisant des données structurées (telles que les tables, les formulaires ou les entités) des PDF et en les convertisant en formats lisibles par machine. Ce guide détaillé passe par tous les étapes — de l’extraction de texte à la partage intelligente de données en utilisant ChatGPT.
Introduction
L’extraction structurée de données à partir de documents PDF est une exigence critique pour les scénarios d’intelligence, de reporting et d’automatisation des entreprises. Alors que Aspose.PDF.Plugin permet une extraction de texte robuste dans .NET, l’association avec ChatGPT vous permet de parse, catégorisez et formatez les informations en tant que JSON, CSV ou objets de domaine.
Cas d’utilisation courants :
- Extraction de données de facture pour l’automatisation comptable
- Des tables partagées à partir de documents de recherche
- Transformer les formulaires scannés en enregistrements structurés
Étape 1 : extraire le texte ou le contenu de tableau du PDF
Commencez par l’utilisation de TextExtractor
ou, pour les données tabulaires, des options spécialisées dans Aspose.PDF.Plugin.
using Aspose.Pdf.Plugins;
var inputPath = @"C:\Docs\invoice.pdf";
var extractor = new TextExtractor();
var options = new TextExtractorOptions();
options.AddInput(new FileDataSource(inputPath));
var resultContainer = extractor.Process(options);
string rawText = resultContainer.ResultCollection[0].ToString();
Étape 2 : Préparer et envoyer des prompts à ChatGPT
Vous pouvez commander à ChatGPT de parser et de retourner les données dans un format structuré comme JSON ou CSV.
string apiKey = "YOUR_OPENAI_API_KEY";
string prompt = $"Extract the following invoice data as JSON: {rawText}";
// Use HttpClient as in previous examples
Conseils pour des résultats meilleurs :
Utilisez des promptes claires et explicites : « Extrait d’une table des descriptions des articles, des prix et des totalités en tant que JSON ».
Pour les grands PDF, extraire et envoyer le texte dans des segments logiques (par exemple, une table à la fois).
Étape 3 : Parse et Validate AI Output
Après avoir reçu la réponse de ChatGPT, parsez les données structurées en utilisant un parser JSON (ou CSV):
// Assume jsonData is a JSON string received from ChatGPT
var structuredData = JsonConvert.DeserializeObject<List<InvoiceItem>>(jsonData);
public class InvoiceItem
{
public string Description { get; set; }
public decimal Price { get; set; }
public int Quantity { get; set; }
public decimal Total { get; set; }
}
Les étapes de validation :
- Vérifier les types de données valides (numéric, date, etc.)
- Log ou drapeau des données incomplètes/ambigues pour l’examen
Étape 4 : Enregistrer ou utiliser les données extraites
- Enregistrez les résultats structurés dans une base de données, un fichier Excel ou un système de traitement en dessous.
- Optionnellement, utilisez Aspose.PDF.Plugin’s TableGenerator pour injecter les données structurées dans un résumé PDF ou un rapport.
Scénarios avancés et résolution des problèmes
L’extraction de batch :
Passez à travers plusieurs PDF et agrégez les données structurées de tous les documents.
Combinaison de l’OCR :
Pour les PDF scannés, utilisez les plugins OCR avant l’extraction de texte.
Traitement d’erreur :
Atteindre et enregistrer les erreurs API, les réponses JSON invalides et les fragments non structurés.
Meilleures pratiques pour l’exactitude et la conformité
- Pré-pure le texte PDF avant d’envoyer à ChatGPT pour supprimer les heads/footers.
- Évitez d’envoyer des documents sensibles sauf en utilisant des endpoints AI sécurisés/autorisées.
- Pour l’extraction de données critiques, utilisez une étape de validation post-traitement.
FAQ: Extraction structurée de données avec ChatGPT
**Q: Quels types de données structurées puis-je extraire des PDF?**A : tables, listes, champs nommés, et modèles réguliers (comme les dates, les montants, ID).
**Q: Cette méthode peut-elle traiter plusieurs PDF à la fois?**A: Oui. l’extraction de batch est soutenue – vous parcourez votre ensemble PDF et agrégez les résultats.
**Q: Est-ce que ChatGPT est toujours précis avec les tables et les chiffres?**A: Pour les meilleurs résultats, utilisez des promptes précises et validez toutes les sorties dans le code.