Извлечь таблицу из PDF на C#

Извлечение таблиц из файлов PDF может быть распространенной задачей при извлечении или анализе данных. Независимо от того, пытаетесь ли вы извлечь таблицы для обработки или экспортировать их для дальнейшего использования, автоматизация этого процесса может сэкономить время и усилия. В этой записи блога мы покажем вам, как извлекать таблицы из PDF на C# или экспортировать извлеченные данные в файл CSV.

В этой статье мы рассмотрим следующие разделы:

Зачем извлекать таблицы из PDF?

Файлы PDF широко используются для обмена информацией в портативном формате. Однако извлечение структурированных данных, таких как таблицы, может быть сложным, поскольку файлы PDF не предназначены для простого редактирования или манипуляции. Извлекая данные таблиц программным способом на C#, вы можете сделать данные более доступными, что позволит вам анализировать, изменять или хранить данные в различных форматах, таких как CSV, который широко используется для обмена данными между различными приложениями.

Извлечение таблицы PDF — конфигурация API C#

Вы можете извлечь данные из таблиц PDF, настроив Conholdate.Total for .NET с помощью команды установки NuGet ниже:

PM> NuGet\Install-Package Conholdate.Total

Извлечь таблицу из PDF на C#

В этом разделе мы рассмотрим извлечение таблиц из PDF-документа с помощью C#.

  • Загрузка PDF-документа: код начинается с загрузки PDF-файла в объект класса Document.
  • Table Absorber: класс TableAbsorber используется для обнаружения и поглощения таблиц на каждой странице PDF-файла.
  • Извлечение данных таблицы: код проходит по каждой найденной таблице, извлекая содержимое каждой ячейки таблицы и печатая его в структурированном формате.

Этот метод обеспечивает эффективный способ доступа к табличным данным из PDF-документов, позволяя вам работать с информацией программно. Фрагмент кода ниже демонстрирует извлечение таблицы в C#:

// Загрузить исходный PDF-документ
var filePath = "input.pdf";
Aspose.Pdf.Document pdfDocument = new Aspose.Pdf.Document(filePath);
foreach (var page in pdfDocument.Pages)
{
    Aspose.Pdf.Text.TableAbsorber absorber = new Aspose.Pdf.Text.TableAbsorber();
    absorber.Visit(page);
    foreach (AbsorbedTable table in absorber.TableList)
    {
        Console.WriteLine("Table");
        foreach (AbsorbedRow row in table.RowList)
        {
            foreach (AbsorbedCell cell in row.CellList)
            {
                foreach (TextFragment fragment in cell.TextFragments)
                {
                    var sb = new StringBuilder();
                    foreach (TextSegment seg in fragment.Segments)
                        sb.Append(seg.Text);
                    Console.Write("{sb.ToString()}|");
                }
            }
            Console.WriteLine();
        }
    }
}

Преобразование данных таблицы PDF в CSV на языке C#

После извлечения табличных данных из PDF-файла вы можете захотеть сохранить их в более доступном формате, например CSV. CSV (Comma Separated Values) широко поддерживается такими приложениями, как Microsoft Excel, Google Sheets и многими системами обработки данных. В этом разделе мы преобразуем табличные данные PDF в CSV на языке C#:

Следующие шаги показывают, как экспортировать данные из таблиц PDF в формат CSV в C#:

  • Загрузка PDF-документа: PDF-документ загружается в объект «Документ", как и раньше.
  • ExcelSaveOptions: создается экземпляр ExcelSaveOptions с форматом CSV. Это гарантирует, что данные таблицы из PDF экспортируются напрямую как файл CSV.
  • Сохранение CSV-файла: метод Save вызывается для экспорта данных таблицы PDF в CSV-файл.

В примере кода ниже показано, как преобразовать таблицу PDF в формат CSV на языке C#:

// Загрузить PDF-документ
Document pdfDocument = new Document("input.pdf");

// Создать экземпляр объекта ExcelSave Option
ExcelSaveOptions excelSave = new ExcelSaveOptions { Format = ExcelSaveOptions.ExcelFormat.CSV };

// Сохраните вывод в формате XLS.
pdfDocument.Save("PDFToXLS_out.xlsx", excelSave);

Получить бесплатную лицензию

Вы можете получить бесплатную временную лицензию для тестирования различных функций API без каких-либо ограничений по оценке.

Подводя итоги

Извлечение таблиц из PDF-файла и экспорт данных в формат CSV в C# можно сделать простым и эффективным в C#. Возможность автоматизировать извлечение таблиц помогает в сценариях, где вам нужно анализировать или делиться табличными данными из PDF-файлов в более гибком формате, таком как CSV. Выполняя шаги, описанные в этой записи блога, вы можете легко извлекать и сохранять табличные данные из ваших PDF-файлов. Этот процесс особенно полезен при анализе данных, составлении отчетов или любой другой задаче, требующей структурированных данных из жестких PDF-документов. В случае возникновения каких-либо вопросов свяжитесь с нами на форуме.

Смотрите также