Як витягти структуровані дані з PDF за допомогою ChatGPT і .NET

Як витягти структуровані дані з PDF за допомогою ChatGPT і .NET

Вимкніть передові автоматизації та робочі потоки з інтелектуальною інтелектом у ваших додатках .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».

  • Для великих ПДФ витягніть і відправляйте текст в логічних сегментах (наприклад, одна таблиця одночасно).

Крок 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 або системі зниження потоку обробки.
  • Оптимічно використовуйте Aspose.PDF.Plugin’s TableGenerator для введення структурованих даних назад в резюме PDF або доповіді.

Прогресивні сценарії та вирішення проблем

  • Екстракція батареї:

  • Перейти через кілька PDF-файлів і зібрати структуровані дані з усіх документів.

  • Співвідношення ОКР:

  • Для сканованих PDF-файлів використовуйте плагіни OCR перш за все перед вилученням тексту.

  • Використання помилок:

  • Знайдіть і записуйте помилки API, недійсні відповіді JSON та неструктуровані фрагменти.

Найкращі практики для точності та відповідності

  • Заздалегідь очистити PDF-текст перед відправленням до ChatGPT, щоб видалити заголовки / ноги.
  • Уникайте відправлення чутливих документів, якщо не використовуєте безпечні/авторизовані кінцеві пункти AI.
  • Для критичного видобутку даних використовуйте післяпроцесуючий етап валідації.

FAQ: Структурне видобуток даних з ChatGPT

**Q: Які типи структурованих даних я можу витягти з PDF-файлів?**А: таблиці, списки, названі поля та регулярні шаблони (наприклад, дати, суми, ідентифікатори).

**Q: Чи може цей метод обробляти кілька PDF-файлів одночасно?**Відповідь: Так. Бач екстракція підтримується — проходить через ваш набір PDF і об’єднує результати.

**Q: Чи завжди ChatGPT точний з таблицями і цифрами?**Відповідь: Для кращих результатів використовуйте точні терміни і підтверджуйте всі виходи в коді.

 Українська