GetTables

GetTables(PageTableAreaOptions)

从文档中提取表格。

public IEnumerable<PageTableArea> GetTables(PageTableAreaOptions options)
范围 类型 描述
options PageTableAreaOptions 表提取的选项。

返回值

的集合PageTableArea对象; 无效的如果不支持表提取.

例子

以下示例显示如何从整个文档中提取表格:

// 创建解析器类的实例
using (Parser parser = new Parser(filePath))
{
    // 检查文档是否支持表格提取
    if (!parser.Features.Tables)
    {
        Console.WriteLine("Document isn't supports tables extraction.");
        return;
    }
    // 创建表的布局
    TemplateTableLayout layout = new TemplateTableLayout(
        new double[] { 50, 95, 275, 415, 485, 545 },
        new double[] { 325, 340, 365, 395 });
    // 创建用于表提取的选项
    PageTableAreaOptions options = new PageTableAreaOptions(layout);
    // 从文档中提取表格
    IEnumerable<PageTableArea> tables = parser.GetTables(options);
    // 遍历表
    foreach (PageTableArea t in tables)
    {
        // 遍历行
        for (int row = 0; row < t.RowCount; row++)
        {
            // 遍历列
            for (int column = 0; column < t.ColumnCount; column++)
            {
                // 获取表格单元格
                PageTableAreaCell cell = t[row, column];
                if (cell != null)
                {
                    // 打印表格单元格文本
                    Console.Write(cell.Text);
                    Console.Write(" | ");
                }
            }
            Console.WriteLine();
        }
        Console.WriteLine();
    }
}

也可以看看


GetTables(int, PageTableAreaOptions)

从文档页面中提取表格。

public IEnumerable<PageTableArea> GetTables(int pageIndex, PageTableAreaOptions options)
范围 类型 描述
pageIndex Int32 从零开始的页面索引。
options PageTableAreaOptions 表提取的选项。

返回值

的集合PageTableArea对象; 无效的如果不支持表提取.

例子

以下示例显示如何从文档页面中提取表格:

// 创建解析器类的实例
using (Parser parser = new Parser(filePath))
{
    // 检查文档是否支持表格提取
    if (!parser.Features.Tables)
    {
        Console.WriteLine("Document isn't supports tables extraction.");
        return;
    }
    // 创建表的布局
    TemplateTableLayout layout = new TemplateTableLayout(
        new double[] { 50, 95, 275, 415, 485, 545 },
        new double[] { 325, 340, 365, 395 });
    // 创建用于表提取的选项
    PageTableAreaOptions options = new PageTableAreaOptions(layout);
    // 获取文档信息
    IDocumentInfo documentInfo = parser.GetDocumentInfo();
    // 检查文档是否有页面
    if (documentInfo.PageCount == 0)
    {
        Console.WriteLine("Document hasn't pages.");
        return;
    }
    // 遍历页面
    for (int pageIndex = 0; pageIndex < documentInfo.PageCount; pageIndex++)
    {
        // 打印页码 
        Console.WriteLine(string.Format("Page {0}/{1}", pageIndex + 1, documentInfo.PageCount));
        // 从文档页面中提取表格
        IEnumerable<PageTableArea> tables = parser.GetTables(pageIndex, options);
        // 遍历表
        foreach (PageTableArea t in tables)
        {
            // 遍历行
            for (int row = 0; row < t.RowCount; row++)
            {
                // 遍历列
                for (int column = 0; column < t.ColumnCount; column++)
                {
                    // 获取表格单元格
                    PageTableAreaCell cell = t[row, column];
                    if (cell != null)
                    {
                        // 打印表格单元格文本
                        Console.Write(cell.Text);
                        Console.Write(" | ");
                    }
                }
                Console.WriteLine();
            }
            Console.WriteLine();
        }
    }
}

也可以看看