Tabel uit PDF extraheren in Java

Tabel uit PDF extraheren in Java

In het recente verleden hebben we een [artikel][1] gepubliceerd dat gaat over het programmatisch extraheren van tekst uit een [PDF][2]-bestand in Java. In deze blogpost leren we hoe je een tabel kunt extraheren uit een PDF in Java met behulp van deze Java [API][3] voor PDF. Deze bibliotheek biedt krachtige functies om PDF-documenten te ontleden en te manipuleren. Bovendien kunt u de gegevensextractie automatiseren door een PDF-tabelextractor te bouwen met behulp van deze bibliotheek. Zorg er echter voor dat u Java op uw lokale computer hebt geïnstalleerd voordat u verder gaat. In deze gids komen de volgende punten aan bod:

  • [PDF-tabelextractor - API-installatie][4]
  • [Tabel uit PDF in Java extraheren][5]

PDF-tabelextractor - API-installatie

Het installatieproces van deze bibliotheek is duidelijk en eenvoudig. U kunt de API zelfs [downloaden][6] of installeren met behulp van de volgende Maven-configuraties.

 <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>

Tabel uit PDF extraheren in Java

Zodra API is geïnstalleerd, kunt u beginnen met het schrijven van code om programmatisch een PDF-tabelextractor te bouwen. U kunt de onderstaande stappen en het onderstaande codefragment volgen:

  1. Maak een object van de klasse [Document][7] en laad het PDF-bronbestand.
  2. Instantiseer een instantie van de klasse [TableAbsorber][8] die een zoekopdracht uitvoert en toegang geeft tot de zoekresultaten.
  3. Blader door de PDF-documentpagina’s door de methode [getPages][9] aan te roepen.
  4. Roep de methode [visit][10] aan om de tabel uit de pagina te extraheren.
  5. Roep de methode [getTableList][11] aan die alleen-lezen ILijst retourneert die tabellen bevat die zijn gevonden.
  6. Haal de rijen op door de methode [getRowList][12] aan te roepen Door de lijst met rijen te bladeren.
  7. Doorloop de lijst met cellen door de methode [getCellList][13] aan te roepen.
  8. Roep de methode [getTextFragments][14] aan om een verzameling TextFragment-objecten op te halen die de tekst in de cel beschrijven.
  9. Roep de methode [getSegments][15] aan die tekstsegmenten ophaalt voor het huidige tekstfragment.
  10. Druk de resultaten af. Kopieer en plak de volgende code in uw hoofdbestand:
    String filePath = "table.pdf";
    // Create an object of the Document class and load the source PDF file
    Document pdfDocument = new Document(filePath);
    // Instantiate an instance of the TableAbsorber class that performs search and provides access to search results
    TableAbsorber absorber = new TableAbsorber();
    // Loop through the PDF document pages by calling the getPages method
    for (Page page : pdfDocument.getPages()) {
    // Invoke the visit method to extract table from the page
    absorber.visit(page);
    // Call the getTableList method that returns readonly IList containing tables that were found
    for (AbsorbedTable table : absorber.getTableList()) {
    System.out.println("Table");
    // Get the rows by calling the getRowList method Iterate through list of rows
    for (AbsorbedRow row : table.getRowList()) {
    // Iterate through list of cell by invoking the getCellList method
    for (AbsorbedCell cell : row.getCellList()) {
    // Invoke the getTextFragments method to get collection of TextFragment objects that describes text containing in the cell
    for (TextFragment fragment : cell.getTextFragments()) {
    StringBuilder sb = new StringBuilder();
    // Invoke the getSegments method that gets text segments for current TextFragment.
    for (TextSegment seg : fragment.getSegments())
    sb.append(seg.getText());
    System.out.print(sb.toString() + "|");
    }
    }
    System.out.println();
    }
    }
    }

Ontvang een gratis licentie

U kunt gebruikmaken van een [gratis tijdelijke licentie][16] om de API zonder evaluatiebeperkingen uit te proberen.

Opsommen

Hiermee zijn we aan het einde van deze blogpost gekomen. U hebt geleerd hoe u tabel uit PDF in Java programmatisch kunt extraheren. Deze gids zal u echt helpen als u een PDF-tabelextractor wilt bouwen voor uw bedrijfstoepassing. Verder kunt u de [documentatie][17] bezoeken om de andere functies te leren kennen. Bovendien raden we u aan onze [Aan de slag-gids][18] te volgen. Ten slotte schrijft [conholdate.com][19] nieuwe blogposts. Blijf daarom op de hoogte voor de laatste updates.

Een vraag stellen

U kunt uw vragen of vragen aan ons stellen op ons [forum][20].

Veelgestelde vragen

Kan ik tabellen uit PDF halen? Ga naar deze [link][5] voor de stappen en het codefragment waarmee een tabel programmatisch uit een PDF-document wordt geëxtraheerd

Zie ook