Hur man extraherar strukturerade data från PDF med ChatGPT och .NET
Låsa upp avancerad automatisering och AI-driven arbetsflöden i dina .NET-applikationer genom att extrahera strukturerade data (t.ex. tabeller, formulär eller enheter) från PDF-filer och konvertera det till maskinläsbara format.
Introduktion
Strukturerad datautvinning från PDF-dokument är ett kritiskt krav för företagsintelligens, rapportering och automatiseringsscenarier. Medan Aspose.PDF.Plugin möjliggör robust texträning i .NET, kombinerar den med ChatGPT gör det möjligt att parsa, kategorisera och formatera information som JSON, CSV, eller domänobjekt.
Vanliga fall av användning:
- Faktura datautvinning för redovisningsautomation
- Parsing tabeller från forskningsdokument
- Omvandla skannade formulär till strukturerade register
Steg 1: Extrahera text eller tabellinnehåll från PDF
Börja med att använda den TextExtractor
eller, för tabelldata, specialiserade alternativ i 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();
Steg 2: Förbereda och skicka Prompts till ChatGPT
Du kan instruera ChatGPT att parsa och returnera data i ett strukturerat format som JSON eller CSV.
string apiKey = "YOUR_OPENAI_API_KEY";
string prompt = $"Extract the following invoice data as JSON: {rawText}";
// Use HttpClient as in previous examples
Tips för bättre resultat:
Använd tydliga, uttryckliga anmärkningar: “Utlägga en tabell med beskrivningar av objekt, priser och totaler som JSON.”
För stora PDF-filer, extrahera och skicka text i logiska segment (t.ex. en tabell på en gång).
Step 3: Parse och Validate AI Output
Efter att ha fått ChatGPTs svar, parsa strukturerade data med en JSON (eller CSV) parser:
// 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; }
}
Validering Steg:
- Kontrollera giltiga datatyper (numrer, datum etc.)
- Log eller flagga ofullständiga/ambiguösa data för granskning
Steg 4: Spara eller använda extraherade data
- Spara de strukturerade resultaten i en databas, Excel-fil eller nedströmsbehandlingssystem.
- Alternativt, använd Aspose.PDF.Plugins TableGenerator för att injicera strukturerade data tillbaka i en sammanfattning PDF eller rapport.
Avancerade scenarier och problemlösning
Batch extraktion :
Gå igenom flera PDF-filer och aggregera strukturerade data från alla dokument.
Kombinera OCR:
För skannade PDF-filer, använd OCR-plugins först före textutvinning.
misstag att hantera:
Fånga och logga API-fel, ogiltiga JSON-responser och okstrukturerade fragment.
Bästa metoder för noggrannhet och överensstämmelse
- Pre-clean PDF text innan du skickar till ChatGPT för att ta bort headers/footers.
- Undvik att skicka känsliga dokument om du inte använder säkra / auktoriserade AI-ändpunkter.
- För kritisk datautvinning, använd ett valideringssteg efter bearbetning.
FAQ: Strukturerad datautvinning med ChatGPT
**Q: Vilka typer av strukturerade data kan jag extrahera från PDF-filer?**A: Tabeller, listor, namngivna fält och vanliga mönster (som datum, belopp, ID).
**Q: Kan denna metod bearbeta flera PDF-filer på en gång?**A: Ja. Batch extraction stöds – gå igenom din PDF-inställning och aggregera resultat.
**Q: Är ChatGPT alltid korrekt med tabeller och siffror?**A: För bästa resultat, använd exakta prompts och validera alla utgångar i kod.