
Wyodrębnij tabelę z pliku PDF w Javie
Niedawno opublikowaliśmy [artykuł], który dotyczy programowego wyodrębniania tekstu z pliku PDF w Javie. W tym poście na blogu dowiemy się, jak wyodrębnić tabelę z pliku PDF w Javie przy użyciu tego Java API dla PDF. Ta biblioteka zapewnia zaawansowane funkcje do analizowania i manipulowania dokumentami PDF. Ponadto możesz zautomatyzować wyodrębnianie danych, budując ekstraktor tabel PDF przy użyciu tej biblioteki. Zanim jednak przejdziesz dalej, upewnij się, że zainstalowałeś Javę na swoim komputerze lokalnym.
W tym przewodniku omówione zostaną następujące punkty:
Ekstraktor tabel PDF — instalacja interfejsu API języka Java
Proces instalacji tej biblioteki jest prosty i prosty. Możesz pobrać interfejs API lub zainstalować go, korzystając z następujących konfiguracji Mavena.
<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>
Wyodrębnij tabelę z pliku PDF w Javie
Po zainstalowaniu interfejsu API możesz rozpocząć pisanie kodu w celu programowego zbudowania ekstraktora tabel PDF w Javie.
Możesz wykonać kroki wymienione poniżej:
- Utwórz obiekt klasy Document i załaduj źródłowy plik PDF.
- Utwórz instancję klasy TableAbsorber, która przeprowadza wyszukiwanie i zapewnia dostęp do wyników wyszukiwania.
- Przeglądaj strony dokumentu PDF, wywołując metodę getPages.
- Wywołaj metodę visit, aby wyodrębnić tabelę ze strony.
- Wywołaj metodę getTableList, która zwraca IList tylko do odczytu zawierającą znalezione tabele.
- Pobierz wiersze, wywołując metodę getRowList. Iteruj po liście wierszy.
- Iteruj po liście komórek, wywołując metodę getCellList.
- Wywołaj metodę getTextFragments, aby uzyskać kolekcję obiektów TextFragment opisujących tekst zawarty w komórce.
- Wywołaj metodę getSegments, która pobiera segmenty tekstu dla bieżącego TextFragment.
- Wydrukuj wyniki.
Skopiuj i wklej następujący kod do pliku głównego, aby wyodrębnić dane z tabeli w formacie PDF przy użyciu języka Java:
String filePath = "table.pdf";
// Utwórz obiekt klasy Document i załaduj źródłowy plik PDF
Document pdfDocument = new Document(filePath);
// Utwórz instancję klasy TableAbsorber, która przeprowadza wyszukiwanie i zapewnia dostęp do wyników wyszukiwania
TableAbsorber absorber = new TableAbsorber();
// Przeglądaj strony dokumentu PDF, wywołując metodę getPages
for (Page page : pdfDocument.getPages()) {
// Wywołaj metodę odwiedzenia, aby wyodrębnić tabelę ze strony
absorber.visit(page);
// Wywołaj metodę getTableList, która zwraca tylko do odczytu IList zawierającą znalezione tabele
for (AbsorbedTable table : absorber.getTableList()) {
System.out.println("Table");
// Pobierz wiersze, wywołując metodę getRowList. Iteruj po liście wierszy
for (AbsorbedRow row : table.getRowList()) {
// Iteruj po liście komórek, wywołując metodę getCellList
for (AbsorbedCell cell : row.getCellList()) {
// Wywołaj metodę getTextFragments, aby uzyskać kolekcję obiektów TextFragment opisujących tekst zawarty w komórce
for (TextFragment fragment : cell.getTextFragments()) {
StringBuilder sb = new StringBuilder();
// Wywołaj metodę getSegments, która pobiera segmenty tekstu dla bieżącego TextFragment.
for (TextSegment seg : fragment.getSegments())
sb.append(seg.getText());
System.out.print(sb.toString() + "|");
}
}
System.out.println();
}
}
}
Zdobądź bezpłatną licencję
Możesz uzyskać bezpłatną licencję tymczasową, aby wypróbować interfejs API bez ograniczeń ewaluacyjnych.
Podsumowując
W ten sposób dotarliśmy do końca tego wpisu na blogu. Nauczyłeś się programowo wyodrębniać tabelę z pliku PDF w Javie. Ten przewodnik pomoże Ci, jeśli chcesz zbudować ekstraktor tabel PDF dla swojej aplikacji biznesowej. Ponadto możesz odwiedzić dokumentację, aby poznać inne funkcje.
Ponadto sugerujemy skorzystanie z naszego Przewodnika wprowadzającego.
Wreszcie conholdate.com pisze nowe posty na blogu. Dlatego prosimy o kontakt w celu uzyskania najnowszych aktualizacji.
Zadać pytanie
Możesz dać nam znać o swoich pytaniach lub wątpliwościach na naszym forum.
Często zadawane pytania
Czy mogę wyodrębnić tabele z pliku PDF?
Odwiedź ten [link], aby poznać kroki i fragment kodu, który programowo wyodrębnia tabelę z dokumentu PDF w Javie.