如何在 .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 的数据提取,使调查、登记或遵守数据处理更快、更可靠。

 中文