Java에서 PDF의 테이블 추출
Contents
[
Hide
]
기존 PDF에서 테이블 구조를 감지하고 해당 내용을 읽어야 하는 경우 TableAbsorber를 사용하세요.
감지된 테이블에서 텍스트 추출
각 페이지에서 테이블을 찾고 해당 셀 텍스트를 수집해야 할 때 이 예를 사용하세요.
- 원본 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);
}
}
}
}
}