Как парсить таблицы в Java с помощью GroupDocs.Parser

В этом руководстве вы узнаете как парсить таблицы в Java, используя GroupDocs.Parser — мощную библиотеку для извлечения структурированных данных из PDF, Word‑файлов и электронных таблиц. Эффективное извлечение таблиц может значительно ускорить обработку счетов, миграцию данных и задачи по составлению отчетов. Пройдем весь процесс — от настройки библиотеки до определения шаблона таблицы и окончательного извлечения нужных данных.

Введение

Эффективный парсинг документов необходим бизнесу, которому требуется извлекать структурированные данные из различных форматов, таких как PDF, Word‑документы или электронные таблицы. Автоматизация этого процесса экономит время и снижает количество ошибок. Это всестороннее руководство научит вас использовать GroupDocs.Parser для Java для определения и парсинга таблиц в ваших документах — важный навык для оптимизации рабочих процессов обработки документов.

Быстрые ответы

  • Какова основная цель? Извлекать структурированные данные таблиц из документов с помощью Java.
  • Какая библиотека требуется? GroupDocs.Parser для Java (v25.5+).
  • Нужна ли лицензия? Доступна бесплатная пробная версия; для продакшн‑использования требуется коммерческая лицензия.
  • Можно ли обрабатывать PDF и Word? Да, библиотека поддерживает PDF, DOCX, XLSX и многие другие форматы.
  • Поддерживается ли пакетная обработка? Абсолютно — можно обрабатывать несколько файлов в циклах или с помощью параллельных потоков.

Что вы узнаете

  • Настройка GroupDocs.Parser для Java
  • Создание шаблонов таблиц с конкретными макетами
  • Парсинг документов с использованием предопределённых шаблонов
  • Практические применения этих возможностей

К концу этого руководства вы сможете реализовать и оптимизировать собственные решения по парсингу документов. Приступим!

Что означает «как парсить таблицы» в контексте GroupDocs.Parser?

Парсинг таблиц — это поиск табличных областей внутри документа, сопоставление строк и столбцов и извлечение текстового содержимого каждой ячейки. GroupDocs.Parser предоставляет шаблон‑ориентированный подход, позволяющий описать точный макет таблицы (ширины столбцов, высоты строк), чтобы движок надёжно извлекал нужные данные, даже если исходные файлы различаются по размеру или стилю.

Почему стоит использовать GroupDocs.Parser для извлечения таблиц?

  • Точность: Шаблоны, основанные на макете, снижают количество ложных срабатываний.
  • Скорость: Парсинг по шаблону быстрее, чем универсальное извлечение текста.
  • Гибкость: Работает с PDF, DOCX, XLSX и многими другими форматами без дополнительных конвертеров.
  • Масштабируемость: Идеально подходит для пакетной обработки счетов, отчетов и конвейеров миграции данных.

Предварительные требования

Прежде чем приступить к коду, убедитесь, что у вас есть следующее:

Необходимые библиотеки и зависимости

  • GroupDocs.Parser для Java (версия 25.5 или новее)
  • Maven, установленный на вашем компьютере
  • Базовые знания программирования на Java

Требования к окружению

  • Java Development Kit (JDK) версии 8 или выше
  • IDE, например IntelliJ IDEA, Eclipse или NetBeans

Настройка GroupDocs.Parser для Java

Чтобы использовать GroupDocs.Parser в проектах, добавьте его как зависимость. Делается это так:

Конфигурация Maven

Добавьте следующий репозиторий и зависимость в ваш файл pom.xml:

<repositories>
   <repository>
      <id>repository.groupdocs.com</id>
      <name>GroupDocs Repository</name>
      <url>https://releases.groupdocs.com/parser/java/</url>
   </repository>
</repositories>

<dependencies>
   <dependency>
      <groupId>com.groupdocs</groupId>
      <artifactId>groupdocs-parser</artifactId>
      <version>25.5</version>
   </dependency>
</dependencies>

Прямое скачивание

Либо загрузите последнюю версию с GroupDocs.Parser for Java releases.

Получение лицензии

GroupDocs предлагает бесплатную пробную версию для ознакомления с функциями. Для длительного использования рассмотрите покупку лицензии или получение временной лицензии.

Руководство по реализации

Теперь, когда всё настроено, давайте разберём, как определить и парсить таблицы с помощью GroupDocs.Parser.

Определение шаблона таблицы с макетом

Эта возможность позволяет создать шаблон таблицы с конкретными ширинами столбцов и высотами строк. Как это делается:

Шаг 1: Создайте макет шаблона таблицы

Определите макет, указав ширины столбцов и высоты строк.

TemplateTableLayout layout = new TemplateTableLayout(
        Arrays.asList(new Double[]{30.0, 100.0, 320.0, 400.0, 480.0, 550.0}),
        Arrays.asList(new Double[]{320.0, 345.0, 375.0}));

Шаг 2: Создайте шаблон таблицы

Используйте макет для создания экземпляра шаблона таблицы.

TemplateTable table = new TemplateTable(layout, "Details", null);

Шаг 3: Создайте шаблон, содержащий элемент таблицы

Соберите ваши шаблоны в один объект Template.

Template template = new Template(Arrays.asList(new TemplateItem[]{table}));

Парсинг документа по шаблону

Теперь, когда шаблон определён, парсим документ с его помощью.

Шаг 1: Создайте экземпляр класса Parser

Инициализируйте парсер, указав целевой документ.

try (Parser parser = new Parser("YOUR_DOCUMENT_DIRECTORY/SampleInvoicePdf.pdf")) {
    // Assume 'template' is already defined as in the DefineTemplateTable feature
    Template template;
    
    // Step 2: Parse the Document by Predefined Template
    DocumentData data = parser.parseByTemplate(template);

Шаг 2: Переберите извлечённые элементы данных

Пройдите в цикле по извлечённым данным и выведите значение каждой ячейки.

for (int i = 0; i < data.getCount(); i++) {
    PageTableArea area = data.get(i).getPageArea() instanceof PageTableArea 
            ? (PageTableArea) data.get(i).getPageArea()
            : null;

    if (area != null) {
        for (int row = 0; row < area.getRowCount(); row++) {
            for (int column = 0; column < area.getColumnCount(); column++) {
                PageTextArea cellValue = area.getCell(row, column).getPageArea() instanceof PageTextArea
                        ? (PageTextArea) area.getCell(row, column).getPageArea()
                        : null;

                System.out.print(cellValue == null ? "" : cellValue.getText());
            }
            System.out.println();
        }
    }
}

Советы по устранению неполадок

  • Распространённые проблемы: Убедитесь, что путь к документу указан правильно и доступен.
  • Соображения по производительности: При возможности используйте более небольшие шаблоны для ускорения обработки.

Практические применения

Ниже приведены реальные сценарии, где определение и парсинг таблиц могут быть полезны:

  1. Обработка счетов: Автоматизировать извлечение данных из счетов для упрощения бухгалтерских процессов.
  2. Миграция данных: Эффективно переносить структурированные данные между различными системами или форматами.
  3. Инструменты отчётности: Генерировать отчёты, извлекая ключевые метрики непосредственно из документов.

Соображения по производительности

Для оптимальной работы учитывайте следующие рекомендации:

  • Оптимизируйте макеты таблиц: Делайте макеты как можно более конкретными, чтобы сократить время парсинга.
  • Управление памятью: Следите за использованием памяти при обработке больших документов, чтобы избежать утечек.
  • Пакетная обработка: При работе с множеством файлов обрабатывайте их пакетами, чтобы эффективно распределять ресурсы.

Заключение

В этом руководстве вы узнали как парсить таблицы с помощью GroupDocs.Parser для Java. Эта мощная библиотека может значительно расширить возможности обработки документов, делая извлечение данных быстрым и эффективным. Чтобы дальше изучать потенциал GroupDocs.Parser, обратитесь к его documentation или экспериментируйте с различными шаблонами и типами файлов.

Раздел FAQ

  1. Что такое GroupDocs.Parser?
    Это библиотека для извлечения текста, метаданных, изображений и структурированных данных из различных форматов документов в Java.

  2. Можно ли использовать GroupDocs.Parser с другими языками программирования?
    Да, поддерживается несколько языков, включая C#, .NET, Python, PHP и др.

  3. Как эффективно обрабатывать большие документы?
    Оптимизируйте макеты таблиц и рассматривайте пакетную обработку для повышения производительности.

  4. Есть ли поддержка извлечения данных, не относящихся к таблицам?
    Конечно, GroupDocs.Parser может извлекать текст, изображения и метаданные.

  5. Где найти больше примеров использования GroupDocs.Parser?
    См. GitHub repository или documentation.

Ресурсы

Исследуйте эти ресурсы для получения более подробной информации и поддержки сообщества. Приятного кодинга!


Последнее обновление: 2026-02-09
Тестировано с: GroupDocs.Parser 25.5 for Java
Автор: GroupDocs