LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

【C#】使用aspose.pdf.dll从PDF文件中提取表格代码示例

admin
2025年2月20日 10:56 本文热度 216

以下是使用 Aspose.PDF 库从 PDF 中提取表格的 C# 代码示例:

using Aspose.Pdf;

using Aspose.Pdf.Text;

using System;

namespace PdfTableExtractor

{

    class Program

    {

        static void Main(string[] args)

        {

            // 加载 PDF 文档

            Document pdfDocument = new Document("input.pdf");

            // 初始化 TableAbsorber 对象

            TableAbsorber absorber = new TableAbsorber();

            // 遍历所有页面

            foreach (Page page in pdfDocument.Pages)

            {

                // 在页面上查找表格

                absorber.Visit(page);

                // 遍历所有找到的表格

                foreach (AbsorbedTable table in absorber.TableList)

                {

                    Console.WriteLine($"发现表格,包含 {table.RowList.Count} 行");

                    // 遍历行

                    foreach (AbsorbedRow row in table.RowList)

                    {

                        // 遍历列

                        foreach (AbsorbedCell cell in row.CellList)

                        {

                            // 提取单元格文本

                            TextFragmentCollection textFragments = cell.TextFragments;

                            string cellText = "";

                            foreach (TextFragment textFragment in textFragments)

                            {

                                cellText += textFragment.Text;

                            }

                            Console.Write(cellText + "\t");

                        }

                        Console.WriteLine();

                    }

                    Console.WriteLine(new string('-', 50));

                }

            }

            Console.WriteLine("表格提取完成!");

            Console.ReadLine();

        }

    }

}

​使用步骤:

安装 Aspose.PDF NuGet 包

Install-Package Aspose.PDF
  1. 代码说明

    • 使用 Document 类加载 PDF 文件

    • 通过 TableAbsorber 识别页面中的表格结构

    • 嵌套循环遍历表格(Table → Row → Cell)

    • 使用 TextFragment 提取单元格文本内容

  2. 输出结果

    • 表格数据会按行列格式输出到控制台

    • 单元格内容用制表符分隔

注意事项:

  • 处理复杂表格时可能需要额外处理合并单元格

  • 实际使用时建议添加异常处理

  • 需要有效的 Aspose.PDF 许可证用于生产环境

  • 支持从扫描的 PDF 中提取表格(需要 OCR 扩展)

如果需要将结果导出为 Excel 或其他格式,可以结合使用 Aspose.Cells 库进行二次处理。

 

实际测试输出结果不理想,最后放弃了这个方法。

原始PDF文件:

输出结果:


我用上面的代码提示错误:命名空间"Aspose.Pdf.Text”中不存在类型或命名空间名"TableAbsorber"(是否缺少程序集引用?),如何解决?

这个是当前所用aspose.pdf.dll的版本太低造成的,改用18以上版本即可。

aspose.pdf.dll版本查看方法如下:


该文章在 2025/2/20 17:37:06 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved