Com extreure dades estructurades de PDF amb ChatGPT i .NET
Desbloquejar les automatitzacions avançades i els fluxos de treball d’intel·ligència artificial en les seves aplicacions .NET per extreure dades estructurades (com taules, formularis o entitats) de PDFs i convertir-les en formats que es poden llegir per màquina.
Introducció
L’extracció de dades estructurades dels documents PDF és un requisit crític per a la intel·ligència empresarial, el reportatge i els escenaris d’automatització. Mentre que Aspose.PDF.Plugin permet una robusta extracción de text en .NET, la combinació amb ChatGPT li permet parsejar, categoritzar i formatar informació com a objectes JSON, CSV, o domini.
Casos d’ús comuns:
- Extracció de dades de facturació per a l’automatització de la comptabilitat
- Descarregar taules de documents d’investigació
- Transformació de formularis escanats en registres estructurats
Pas 1: Extreure text o contingut de taula de PDF
Comencem utilitzant el TextExtractor
o, per a dades de taula, opcions especialitzades a 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();
Pas 2: Preparació i enviament de fonts a ChatGPT
Podeu instruir ChatGPT a parsejar i retornar les dades en un format estructurat com JSON o CSV.
string apiKey = "YOUR_OPENAI_API_KEY";
string prompt = $"Extract the following invoice data as JSON: {rawText}";
// Use HttpClient as in previous examples
Tips per a millors resultats:
Utilitzeu promptes clares i explícites: “Extractar una taula de descripcions d’objectes, preus i totals com a JSON”.
Per a PDFs grans, extreure i enviar text en segments lògics (per exemple, una taula alhora).
Pas 3: Parseu i valideu la sortida AI
Després d’obtenir la resposta de ChatGPT, parseu les dades estructurades utilitzant un parser JSON (o 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; }
}
Pasos de validació:
- Verificar els tipus de dades vàlids (numèric, data, etc.)
- Registre o bandera de dades incompletes/ambigues per a la revisió
Pas 4: Salvar o utilitzar les dades extraïdes
- Emmagatzema els resultats estructurats en una base de dades, un arxiu d’Excel o un sistema de processament baix.
- Opcionalment, utilitzeu Aspose.PDF.Plugin’s TableGenerator per injectar dades estructurades en un resum PDF o informe.
Scenaris avançats i solució de problemes
Extracció de batxillerat:
Passar a través de múltiples PDFs i agregar dades estructurades de tots els documents.
Combinació de l’OCR:
Per a PDFs escanats, utilitzeu els plugins OCR primer abans de l’extracció de text.
Actuació d’errors:
Capturar i registrar errors API, respostes JSON invalidades i fragments no estructurats.
Les millors pràctiques per a la precisió i la conformitat
- Pre- neteja el text PDF abans d’enviar a ChatGPT per eliminar els titulars/fots.
- Eviteu l’enviament de documents sensibles llevat que utilitzeu punts finals segurs / autoritzats d’IA.
- Per a l’extracció de dades crítiques, utilitzeu un pas de validació post-processament.
FAQ: Extracció de dades estructurada amb ChatGPT
**Q: Quins tipus de dades estructurades puc extreure dels PDF?**A: Taules, llistes, camps anomenats i patrons regulars (com ara dates, quantitats, IDs).
**Q: Pot aquest mètode processar múltiples PDFs alhora?**A: Sí, s’està donant suport a l’extracció de batxillerat - passeu a través del vostre conjunt de PDF i agregeu els resultats.
**Q: És el ChatGPT sempre precís amb taules i números?**A: Per obtenir els millors resultats, utilitzeu promptes exactes i valideu totes les sortides en codi.