Wyodrębnij tabelę z pliku PDF w Javie

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:

  1. Utwórz obiekt klasy Document i załaduj źródłowy plik PDF.
  2. Utwórz instancję klasy TableAbsorber, która przeprowadza wyszukiwanie i zapewnia dostęp do wyników wyszukiwania.
  3. Przeglądaj strony dokumentu PDF, wywołując metodę getPages.
  4. Wywołaj metodę visit, aby wyodrębnić tabelę ze strony.
  5. Wywołaj metodę getTableList, która zwraca IList tylko do odczytu zawierającą znalezione tabele.
  6. Pobierz wiersze, wywołując metodę getRowList. Iteruj po liście wierszy.
  7. Iteruj po liście komórek, wywołując metodę getCellList.
  8. Wywołaj metodę getTextFragments, aby uzyskać kolekcję obiektów TextFragment opisujących tekst zawarty w komórce.
  9. Wywołaj metodę getSegments, która pobiera segmenty tekstu dla bieżącego TextFragment.
  10. 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.

Zobacz też