Hur man läser PDF-tabell i Java

Den här handledningen ger information om hur du läser PDF-tabeller i Java och får åtkomst till text som hör till varje cell i den önskade tabellen. Du kommer att ha full kontroll att referera till en viss tabell på målsidan för PDF och analysera alla rader och celler för att hämta data. För att skriva denna PDF-tabellläsare i Java krävs inget annat verktyg eller programvara från tredje part.

Steg för att läsa PDF-tabell i Java

  1. Konfigurera din PDF-tabellläsarapplikation för att lägga till Aspose.PDF från Maven-förvaret
  2. Ladda exempel-PDF-filen som innehåller en tabell med hjälp av klassobjektet Document
  3. Instantiera och initiera TableAbsorber-objektet för att hämta alla PDF-tabeller från den valda PDF-sidan
  4. Iterera genom alla rader i den önskade tabellen
  5. Iterera genom alla celler i önskad rad och hämta alla textfragment från varje cell
  6. Visa texten som hämtats från cellen

Dessa steg förklarar hur man använder Java extrahera tabell från PDF tillsammans med informationen om de nödvändiga biblioteken som ska läggas till projektet. Den anger också operationsordningen för att slutföra uppgiften som att först ladda PDF-filen, sedan komma åt en viss sida och hämta önskad tabell. Slutligen analyserar du alla rader och celler för att få informationen.

Kod för att läsa PDF-tabell i Java

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

För att extrahera tabell från PDF Java-kod tillhandahålls här som använder klasserna TableAbsorber och AbsorbedTable för att hantera tabellerna i PDF. Den använder också klasserna AbsorbedRow och AbsorbedCell för att hantera rader och kolumner innan klassen TextFragment används för att hämta celldata. Det finns också många andra absorberklasser tillgängliga för olika element i dokumentet som typsnitt, stycken, text och textfragment.

Den här artikeln har beskrivit att genom att använda Java kan PDF-tabellextraktion utföras i några få steg. Om du vill lära dig hur du läser text och bilder från en PDF-fil, se artikeln om hur man läser en pdf-fil i Java.

 Svenska