如何在 .NET 中将 PDF 表格字段值导入 CSV
如何在 .NET 中将 PDF 表格字段值导入 CSV
本文展示了如何从 PDF 表格字段(AcroForms)到 CSV 的值,使用 Aspose.PDF Form Exporter 在 .NET. 您将学习如何收集填写的表单数据并将其编写为标准的 CSV 文件,准备好进口或分析。
现实世界问题
手动从填写的 PDF 表格中提取数据到分布表是无聊和错误的. 企业经常需要将来自多个表单的字段数据集成到一个结构化的 CSV 文件进行报告、进口或自动化。
解决方案概述
Aspose.PDF Form Exporter for .NET 允许从任何 PDF 到可自定义的 CSV 文件自动出口表格字段值,简化调查、登记或遵守工作流的数据收集。
原則
- Visual Studio 2019 或以后
- .NET 6.0 或更高
- Aspose.PDF for .NET 通过 NuGet 安装
PM> Install-Package Aspose.PDF
步骤实施
步骤 1: 安装和设置 Aspose.PDF
添加所需名称空间:
using Aspose.Pdf.Plugins;
using System.IO;
步骤2:准备 PDF 表格
指定您填写的 PDF 和所需的 CSV 输出路径:
string inputPdfPath = @"C:\Samples\filled_form.pdf";
string outputCsvPath = @"C:\Samples\form_data.csv";
步骤3:设置出口选项(选择字段、分数)
您可以出口所有字段或指定字域名称 SelectField
如果需要,设置定制分数(默认是 comma):
// Export all form fields:
var selectAllFields = new SelectField(); // (leave empty for all fields)
char delimiter = ',';
var exportOptions = new FormExporterValuesToCsvOptions(selectAllFields, delimiter);
exportOptions.AddInput(new FileDataSource(inputPdfPath));
exportOptions.AddOutput(new FileDataSource(outputCsvPath));
// To export only certain fields:
var selectFields = new SelectField { PartialName = "Field1" };
var exportOptions = new FormExporterValuesToCsvOptions(selectFields, delimiter);
步骤4:运行出口过程
使用 The FormExporter
Plugin 处理出口:
var plugin = new FormExporter();
ResultContainer result = plugin.Process(exportOptions);
步骤5:验证出口的CSV
阅读 CSV 并验证其内容:
string[] csvLines = File.ReadAllLines(outputCsvPath);
foreach (var line in csvLines)
{
Console.WriteLine(line);
}
步骤6:错误处理
try
{
ResultContainer result = plugin.Process(exportOptions);
Console.WriteLine("Form data exported to CSV successfully.");
}
catch (Exception ex)
{
Console.WriteLine($"Export failed: {ex.Message}");
}
完整实施例子
using Aspose.Pdf.Plugins;
using System;
using System.IO;
class Program
{
static void Main()
{
string inputPdfPath = @"C:\Samples\filled_form.pdf";
string outputCsvPath = @"C:\Samples\form_data.csv";
var selectAllFields = new SelectField();
char delimiter = ',';
var exportOptions = new FormExporterValuesToCsvOptions(selectAllFields, delimiter);
exportOptions.AddInput(new FileDataSource(inputPdfPath));
exportOptions.AddOutput(new FileDataSource(outputCsvPath));
var plugin = new FormExporter();
try
{
ResultContainer result = plugin.Process(exportOptions);
Console.WriteLine("Exported form data to CSV.");
string[] csvLines = File.ReadAllLines(outputCsvPath);
foreach (var line in csvLines)
{
Console.WriteLine(line);
}
}
catch (Exception ex)
{
Console.WriteLine($"Export failed: {ex.Message}");
}
}
}
使用案例和应用程序
- 查询数百个填写表格的数据集合
- 注册或订单数据出口进口到CRM/ERP
- 符合或审计报告
共同挑战与解决方案
挑战: 混合字段类型或缺少值解决方案: 在下流处理中提前验证和处理零/空案例。
挑战: 与表格数据的分数冲突解决方案: 如果您的字段值包含 commas,则设置一个不同的分数(例如,选项卡或管)。
性能与最佳实践
- 集成大规模出口的路径中的PDF
- 使用明确的字段选择为标准化数据集
- 清洁出口的CSV以确保安全处理
结论
Aspose.PDF Form Exporter for .NET 简化了从 PDF 表格到 CSV 的数据提取,使调查、登记或遵守数据处理更快、更可靠。