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
- Konfigurera din PDF-tabellläsarapplikation för att lägga till Aspose.PDF från Maven-förvaret
- Ladda exempel-PDF-filen som innehåller en tabell med hjälp av klassobjektet Document
- Instantiera och initiera TableAbsorber-objektet för att hämta alla PDF-tabeller från den valda PDF-sidan
- Iterera genom alla rader i den önskade tabellen
- Iterera genom alla celler i önskad rad och hämta alla textfragment från varje cell
- 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.