Jak czytać tabelę PDF w Javie

Ten samouczek zawiera szczegółowe informacje na temat czytania tabeli PDF w Javie i uzyskiwania dostępu do tekstu należącego do każdej komórki w żądanej tabeli. Będziesz mieć pełną kontrolę nad odwoływaniem się do określonej tabeli na stronie docelowej PDF i analizowaniem wszystkich wierszy i komórek w celu pobrania danych. Do napisania tego czytnika tabel PDF w Javie nie jest wymagane żadne inne narzędzie ani oprogramowanie innej firmy.

Kroki, aby przeczytać tabelę PDF w Javie

  1. Skonfiguruj aplikację czytnika tabel PDF, aby dodać Aspose.PDF z repozytorium Maven
  2. Załaduj przykładowy plik PDF zawierający tabelę, używając obiektu klasy Document
  3. Utwórz instancję i zainicjuj obiekt TableAbsorber, aby pobrać wszystkie tabele PDF z wybranej strony PDF
  4. Iteruj przez wszystkie wiersze w żądanej tabeli
  5. Przejrzyj wszystkie komórki w żądanym wierszu i pobierz wszystkie fragmenty tekstu z każdej komórki
  6. Wyświetl tekst pobrany z komórki

Te kroki wyjaśniają, jak korzystać z Java wyodrębniania tabeli z PDF wraz z informacjami o wymaganych bibliotekach, które mają zostać dodane do projektu. Określa również kolejność operacji, aby wykonać zadanie, takie jak najpierw załadowanie pliku PDF, następnie uzyskanie dostępu do określonej strony i pobranie żądanej tabeli. Na koniec przeanalizuj wszystkie wiersze i komórki, aby uzyskać informacje.

Kod do odczytu tabeli PDF w Javie

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");
}
}

Aby wyodrębnić tabelę z PDF, kod Java jest tutaj, który używa klas TableAbsorber i AbsorbedTable do obsługi tabel w PDF. Używa również klas AbsorbedRow i AbsorbedCell do zarządzania wierszami i kolumnami przed użyciem klasy TextFragment do pobierania danych komórki. Ponadto istnieje wiele innych klas pochłaniaczy dostępnych dla różnych elementów w dokumencie, takich jak czcionki, akapity, tekst i fragmenty tekstu.

W tym artykule opisano, że za pomocą języka Java wyodrębnianie tabeli PDF można wykonać w kilku krokach. Jeśli chcesz dowiedzieć się, jak czytać tekst i obrazy z pliku PDF, zapoznaj się z artykułem na jak czytać plik PDF w Javie.

 Polski