Як витягти структуровані дані з 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 точний з таблицями і цифрами?**Відповідь: Для кращих результатів використовуйте точні терміни і підтверджуйте всі виходи в коді.