如何在 .NET 中自动从 PDF 中提取大规模表格数据
如何在 .NET 中自动从 PDF 中提取大规模表格数据
从一个PDF中提取数据是简单的,但如果你需要出口成千上万的表格填写的PDF进行分析、遵守或操作吗? Aspose.PDF.FormExporter Plugin 允许 .NET 开发人员和分析师自动大规模提交表单,将数据导出到 CSV 或 Excel 下流使用。
為什麼自動輸出 PDF 表格?
- ** 节省无数小时:** 手动数据重新输入是错误的,缓慢的。
- ** 可实时分析:** 即时集成客户、人力资源或金融数据。
- ** 功率工作流:** 在 Excel 中与 BI 工具、报告或进一步处理集成。
Batch Input Setup: 为高容量提取做好准备
- ** 直接输入:** 将所有 PDF 表格放在一个单一文件夹中(例如,
/Forms/Input/
). - ** 输出文件:** 决定目的地文件 - 通常
.csv
或.xlsx
(Excel ) - Plugin Initialization: 设置
FormExporter
以及行行操作的选项。
using Aspose.Pdf.Plugins;
using System.IO;
// Folder containing input PDF forms
dir string inputDir = @"C:\Forms\Input";
string[] pdfFiles = Directory.GetFiles(inputDir, "*.pdf");
// Output file path (CSV)
string outputCsv = @"C:\Forms\exported-data.csv";
// Create the exporter plugin and options
var exporter = new FormExporter();
var exportOptions = new FormExporterValuesToCsvOptions();
exportOptions.AddOutput(new FileDataSource(outputCsv));
Export Loop:从每个PDF中提取数据
处理每个 PDF 并将字段值集成到 CSV(或 Excel):
foreach (var file in pdfFiles)
{
exportOptions.AddInput(new FileDataSource(file));
}
// Batch export all at once
dynamic resultContainer = exporter.Process(exportOptions);
Console.WriteLine($"Exported data from {pdfFiles.Length} PDFs to {outputCsv}");
提示: 出口的 CSV 将包含每个 PDF 的一个行,每个表格字段的列。
错误处理与自动化技巧
- 错误的字段: 如果 PDF 具有不一致的表格、审查和预验证结构。
- ** 破坏文件:** 添加例外处理到登录并错过无法阅读的 PDF。
- 性能: 对于成千上万的PDF文件,将工作分成组件(例如,每次100个),然后将CSV合并起来。
- 文件名称: 登录 PDF 文件名的每个出口行可追踪。
先进的场景
- ** 出口到 Excel:** 使用
FormExporterValuesToExcelOptions
為.xlsx
出口。 - 从多个文件夹的过程: 重复扫描子,并将结果结合起来。
- ** 将数据与其他来源相结合:** 出口后,将 CSV 数据连接到 SQL 或分析管道。
使用案例和最佳实践
- 数据分析: 用于调查、登机或反馈表格的自动提取。
- ** 操作:** 集体出口发票、人力资源表格或遵守报告。
- 档案: 输出存储数据格式,然后将 PDF 编辑/优化为 优化者 .
FAQ
**Q:我可以从扫描的PDF中提取表格数据吗?**答:仅支持具有互动(AcroForm/XFA)字段的PDF。 对于扫描图像,首先运行 OCR 然后使用文本提取插件。
问:如何有效处理数百个或数千个文件?答:将文件集成组,如果可能的话使用平行处理,并始终记录未出口的文件的错误。