
Извлечь таблицу из PDF в Java
Недавно мы опубликовали статью о том, как программно извлечь текст из файла PDF на Java. В этом сообщении блога мы узнаем, как извлечь таблицу из PDF на Java, используя этот Java API для PDF. Эта библиотека предоставляет мощные функции для анализа документов PDF и управления ими. Кроме того, вы можете автоматизировать извлечение данных, создав экстрактор таблиц PDF с помощью этой библиотеки. Однако перед продолжением убедитесь, что на вашем локальном компьютере установлена Java.
В этом руководстве должны быть освещены следующие моменты:
Экстрактор таблиц PDF — установка API
Процесс установки этой библиотеки прост и понятен. На самом деле вы можете либо скачать API, либо установить его, используя следующие конфигурации Maven.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<classifier>jdk17</classifier>
</dependency>
Извлечь таблицу из PDF в Java
После установки API вы можете приступить к написанию кода для программного создания экстрактора таблиц PDF.
Вы можете выполнить шаги и фрагмент кода, указанные ниже:
- Создайте объект класса Document и загрузите исходный файл PDF.
- Создайте экземпляр класса TableAbsorber, который выполняет поиск и предоставляет доступ к результатам поиска.
- Пролистайте страницы документа PDF, вызвав метод getPages.
- Вызовите метод visit, чтобы извлечь таблицу со страницы.
- Вызовите метод getTableList, который возвращает доступный только для чтения IList, содержащий найденные таблицы.
- Получите строки, вызвав метод getRowList. Выполните итерацию по списку строк.
- Пройдитесь по списку ячеек, вызвав метод getCellList.
- Вызовите метод getTextFragments, чтобы получить коллекцию объектов TextFragment, описывающих текст, содержащийся в ячейке.
- Вызовите метод getSegments, который получает текстовые сегменты для текущего TextFragment.
- Распечатайте результаты.
Скопируйте и вставьте следующий код в основной файл:
String filePath = "table.pdf";
// Создайте объект класса Document и загрузите исходный файл PDF.
Document pdfDocument = new Document(filePath);
// Создайте экземпляр класса TableAbsorber, который выполняет поиск и предоставляет доступ к результатам поиска.
TableAbsorber absorber = new TableAbsorber();
// Пролистайте страницы документа PDF, вызвав метод getPages.
for (Page page : pdfDocument.getPages()) {
// Вызовите метод посещения, чтобы извлечь таблицу со страницы.
absorber.visit(page);
// Вызвать метод getTableList, который возвращает IList только для чтения, содержащий найденные таблицы.
for (AbsorbedTable table : absorber.getTableList()) {
System.out.println("Table");
// Получить строки, вызвав метод getRowList. Перебрать список строк.
for (AbsorbedRow row : table.getRowList()) {
// Перебрать список ячеек, вызвав метод getCellList
for (AbsorbedCell cell : row.getCellList()) {
// Вызовите метод getTextFragments, чтобы получить коллекцию объектов TextFragment, описывающих текст, содержащийся в ячейке.
for (TextFragment fragment : cell.getTextFragments()) {
StringBuilder sb = new StringBuilder();
// Вызовите метод getSegments, который получает текстовые сегменты для текущего TextFragment.
for (TextSegment seg : fragment.getSegments())
sb.append(seg.getText());
System.out.print(sb.toString() + "|");
}
}
System.out.println();
}
}
}
Получить бесплатную лицензию
Вы можете воспользоваться бесплатной временной лицензией, чтобы опробовать API без ограничений пробной версии.
Подведение итогов
Это подводит нас к концу этого сообщения в блоге. Вы узнали, как программно извлечь таблицу из PDF на Java. Это руководство действительно поможет вам, если вы хотите создать экстрактор таблиц PDF для своего бизнес-приложения. Кроме того, вы можете посетить документацию, чтобы узнать о других функциях.
Кроме того, мы рекомендуем вам следовать нашему Руководству по началу работы.
Наконец, conholdate.com пишет новые сообщения в блоге. Поэтому, пожалуйста, оставайтесь на связи для получения последних обновлений.
Задайте вопрос
Вы можете сообщить нам о своих вопросах или запросах на нашем форуме.
Часто задаваемые вопросы
Могу ли я извлечь таблицы из PDF?
Пожалуйста, посетите эту ссылка, чтобы узнать шаги и фрагмент кода, который программно извлекает таблицу из PDF-документа.