У цьому підручнику описано, як читати PDF-таблицю в Java і отримувати доступ до тексту, що належить кожній клітинці в потрібній таблиці. Ви матимете повний контроль, щоб посилатися на певну таблицю на цільовій сторінці PDF і аналізувати всі рядки та клітинки, щоб отримати дані. Щоб написати цей зчитувач таблиць PDF на Java, не потрібні сторонні інструменти чи програмне забезпечення.
Кроки для читання таблиці PDF у Java
- Налаштуйте програму читання таблиць PDF, щоб додати Aspose.PDF зі сховища Maven
- Завантажте зразок PDF-файлу, що містить таблицю, за допомогою об’єкта класу Document
- Створіть екземпляр та ініціалізуйте об’єкт TableAbsorber, щоб отримати всі PDF-таблиці з вибраної сторінки PDF
- Перейдіть по всіх рядках потрібної таблиці
- Перейдіть по всіх клітинках у потрібному рядку та витягніть усі фрагменти тексту з кожної клітинки
- Відображення тексту, отриманого з клітинки
Ці кроки пояснюють, як за допомогою 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.