استخراج الجداول من PDF في Java
Contents
[
Hide
]
استخدام TableAbsorber عند الحاجة إلى اكتشاف هياكل الجداول في ملف PDF موجود وقراءة محتواها.
استخراج النص من الجداول المكتشفة
استخدم هذا المثال عندما تحتاج إلى تحديد مواقع الجداول في كل صفحة وجمع نص الخلايا الخاصة بها.
- افتح ملف PDF المصدر Document.
- زُر كل صفحة باستخدام TableAbsorber.
- تصفّح الجداول والصفوف والخلايا التي تم امتصاصها، ثم اعرض النص المستخرج.
public static void extract(Path inputFile) {
try (Document document = new Document(inputFile.toString())) {
for (Page page : document.getPages()) {
TableAbsorber absorber = new TableAbsorber();
absorber.visit(page);
for (AbsorbedTable table : absorber.getTableList()) {
System.out.println("Table ----");
for (AbsorbedRow row : table.getRowList()) {
System.out.println("Row:");
StringBuilder rowText = new StringBuilder();
for (AbsorbedCell cell : row.getCellList()) {
StringBuilder cellText = new StringBuilder();
for (TextFragment fragment : cell.getTextFragments()) {
for (TextSegment segment : fragment.getSegments()) {
cellText.append(segment.getText());
}
}
rowText.append(" | ").append(cellText);
}
System.out.println(rowText);
}
}
}
}
}