如何在 .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 然后使用文本提取插件.
**问:如何有效处理数百个或数千个文件?**答:将文件集成组,如果可能的话使用平行处理,并始终记录未出口的文件的错误.