如何使用 ChatGPT 和 .NET 从 PDF 中提取结构数据
如何使用 ChatGPT 和 .NET 从 PDF 中提取结构数据
在您的 .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:Parse and Validate AI Output
接收 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 的 TableGenerator 将结构化数据注入到 PDF 总结或报告中。
先进的场景和解决问题
◎Batch 提取:
通过多个PDF,并从所有文件中集成结构化数据。
合并 OCR:
对于扫描的 PDF,首先在文本提取之前使用 OCR 插件。
错误处理:
捕获和登录 API 错误、无效的 JSON 响应和未结构化的碎片。
最佳准确性和遵守的做法
- 在向 ChatGPT 发送之前预清 PDF 文本,以删除头条/脚条。
- 避免发送敏感文件,除非使用安全/授权的AI终点。
- 对于关键数据提取,使用后处理验证步骤。
FAQ:通过ChatGPT进行结构化数据提取
**Q:我可以从PDF中提取哪些类型的结构化数据?**A:表,列表、名称字段和常规模式(如日期、数量、ID)。
**Q:这个方法可以同时处理多个PDF吗?**答:是的,Batch Extraction 支持 - 通过您的 PDF 设置并集成结果。
**Q:ChatGPT是否总是与表和数字准确?**答:为了获得最佳结果,使用准确的步骤,并验证代码中的所有输出。