Как да извлечем структурирани данни от PDF с помощта на ChatGPT и .NET

Как да извлечем структурирани данни от PDF с помощта на ChatGPT и .NET

Отключете усъвършенстваната автоматизация и работните потоци с AI в приложенията .NET, като извличате структурирани данни (като таблици, формуляри или субекти) от PDF файлове и ги конвертирате в машинно-читаеми формати.

Въведение

Структурното извличане на данни от PDF документи е критично изискване за бизнес интелигентност, докладване и автоматизиране на сценарии. докато Aspose.PDF.Plugin позволява солидно текстово извлечение в .NET, комбинирането му с ChatGPT ви дава възможност да разпределяте, категоризирате и форматирате информация като JSON, CSV или домейн обекти.

Обикновени случаи на употреба:

  • Извличане на данни за счетоводна автоматизация
  • Изтегляне на таблици от изследователски документи
  • Преобразуване на скенираните форми в структурирани записи

стъпка 1: Извличане на текст или таблица съдържание от PDF

Започнете с използването на TextExtractor или, за таблични данни, специализирани опции в 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();

Стъпка 2: Подгответе и изпратете препратки към ChatGPT

Можете да накарате ChatGPT да разширява и връща данните в структуриран формат като JSON или CSV.

string apiKey = "YOUR_OPENAI_API_KEY";
string prompt = $"Extract the following invoice data as JSON: {rawText}";
// Use HttpClient as in previous examples
  • Съвети за по-добри резултати:

  • Използвайте ясни, експлицитни фрази: “Извлечете таблица от описанията на елементите, цените и общите като JSON.”

  • За големи PDF файлове, извлечете и изпратете текст в логически сегменти (например, една таблица наведнъж).

Стъпка 3: Проверете и валидирайте изхода на AI

След като получите отговора на ChatGPT, разделите структурираните данни с помощта на JSON (или 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; }
}

Валидиране на стъпки:

  • Проверете за валидни видове данни (цифрови, дата и т.н.)
  • Лог или флаг непълни/двусмислени данни за преглед

Стъпка 4: Съхраняване или използване на извлечени данни

  • Съхранявайте структурираните резултати в база данни, файл на Excel или система за обработка.
  • Опционално, използвайте TableGenerator на Aspose.PDF.Plugin, за да инжектирате структурирани данни обратно в резюме PDF или доклад.

Разширени сценарии и решаване на проблеми

  • Извличане на батерии:

  • Преминавайте през няколко PDF файла и събирайте структурирани данни от всички документи.

  • Комбиниране на OCR:

  • За скенираните PDF файлове, използвайте OCR плагини първо преди извличане на текст.

  • Използване на грешки:

  • Вземете и регистрирайте грешки в API, невалидни JSON отговори и неструктурирани фрагменти.

Най-добрите практики за точност и съответствие

  • Пречистете PDF текст, преди да го изпратите на ChatGPT, за да премахнете заглавията / стъпките.
  • Избягвайте изпращането на чувствителни документи, освен ако не използвате сигурни / упълномощени AI крайни точки.
  • За критично извличане на данни, използвайте следпроцесуван валидационен етап.

FAQ: Структурно извличане на данни с ChatGPT

**П: Какви видове структурирани данни мога да извличам от PDF?**A: Табели, списъци, именовани полета и редовни шаблони (като дати, суми, ИД).

**П: Може ли този метод да обработва няколко PDF файла наведнъж?**A: Да. Бач екстракция е поддържан — ходи през вашия PDF набор и агрегиране на резултатите.

**П: Дали ChatGPT винаги е точен с таблици и цифри?**А: За най-добри резултати, използвайте точни скорости и валидиране на всички изходи в кода.

 Български