Hur man extraherar strukturerade data från PDF med ChatGPT och .NET

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.

 Svenska