Як читати таблицю PDF на Java

У цьому підручнику описано, як читати PDF-таблицю в Java і отримувати доступ до тексту, що належить кожній клітинці в потрібній таблиці. Ви матимете повний контроль, щоб посилатися на певну таблицю на цільовій сторінці PDF і аналізувати всі рядки та клітинки, щоб отримати дані. Щоб написати цей зчитувач таблиць PDF на Java, не потрібні сторонні інструменти чи програмне забезпечення.

Кроки для читання таблиці PDF у Java

  1. Налаштуйте програму читання таблиць PDF, щоб додати Aspose.PDF зі сховища Maven
  2. Завантажте зразок PDF-файлу, що містить таблицю, за допомогою об’єкта класу Document
  3. Створіть екземпляр та ініціалізуйте об’єкт TableAbsorber, щоб отримати всі PDF-таблиці з вибраної сторінки PDF
  4. Перейдіть по всіх рядках потрібної таблиці
  5. Перейдіть по всіх клітинках у потрібному рядку та витягніть усі фрагменти тексту з кожної клітинки
  6. Відображення тексту, отриманого з клітинки

Ці кроки пояснюють, як за допомогою Java видобути таблицю з PDF разом із інформацією про необхідні бібліотеки, які потрібно додати до проекту. У ньому також указано порядок дій для виконання завдання, як-от спочатку завантаження PDF-файлу, потім доступ до певної сторінки та отримання потрібної таблиці. Нарешті, проаналізуйте всі рядки та клітинки, щоб отримати інформацію.

Код для читання таблиці PDF у Java

import com.aspose.pdf.License;
import com.aspose.pdf.AbsorbedCell;
import com.aspose.pdf.AbsorbedRow;
import com.aspose.pdf.AbsorbedTable;
import com.aspose.pdf.Document;
import com.aspose.pdf.TableAbsorber;
import com.aspose.pdf.TextFragmentCollection;
public class ReadPDFTableInJava {
public static void main(String[] args) throws Exception { // main function for reading PDF table data in ReadPDFTableInJava
// For avoiding the trial version limitation, load the Aspose.PDF license prior to reading table data
License licenseForHtmlToPdf = new License();
licenseForHtmlToPdf.setLicense("Aspose.Pdf.lic");
// Load a source PDF document which contains a table in it
Document pdfDocument = new Document("PdfWithTable.pdf");
// Instantiate the TableAbsorber object for PDF tables extraction
TableAbsorber tableAbsorber = new TableAbsorber();
// visit the table collection in the input PDF
tableAbsorber.visit(pdfDocument.getPages().get_Item(1));
// Access the desired table from the tables collection
AbsorbedTable absorbedTable = tableAbsorber.getTableList().get(0);
// Parse all the rows and get each row using the AbsorbedRow
for (AbsorbedRow pdfTableRow : absorbedTable.getRowList())
{
// Access each cell in the cells collection using AbsorbedCell
for (AbsorbedCell pdfTableCell : pdfTableRow.getCellList())
{
// Access each text fragment from the cell
TextFragmentCollection textFragmentCollection = pdfTableCell.getTextFragments();
// Access each text fragment from the fragments collection
for (com.aspose.pdf.TextFragment textFragment : textFragmentCollection)
{
// Display the table cell text
System.out.println(textFragment.getText());
}
}
}
System.out.println("Done");
}
}

Для вилучення таблиці з PDF-файлу тут надається код Java, який використовує класи TableAbsorber і AbsorbedTable для обробки таблиць у PDF-файлі. Він також використовує класи AbsorbedRow і AbsorbedCell для керування рядками та стовпцями перед використанням класу TextFragment для отримання даних комірки. Крім того, існує багато інших класів поглиначів, доступних для різних елементів у документі, таких як шрифти, абзаци, текст і фрагменти тексту.

У цій статті описано, що за допомогою Java PDF вилучення таблиць можна виконати за кілька кроків. Якщо ви хочете навчитися читати текст і зображення з PDF-файлу, зверніться до статті як читати файл PDF на Java.

 Українська