Tento tutoriál poskytuje podrobnosti o tom, jak číst tabulku PDF v Javě a získat přístup k textu, který patří do každé buňky v požadované tabulce. Budete mít plnou kontrolu nad odkazem na konkrétní tabulku na cílové stránce PDF a analýzou všech řádků a buněk, abyste získali data. K napsání této čtečky tabulek PDF v Javě není potřeba žádný jiný nástroj nebo software třetí strany.
Kroky ke čtení tabulky PDF v Javě
- Nakonfigurujte svou aplikaci pro čtení tabulek PDF tak, aby přidala Aspose.PDF z úložiště Maven
- Načtěte ukázkový soubor PDF obsahující tabulku pomocí objektu třídy Document
- Vytvořte instanci a inicializujte objekt TableAbsorber, abyste načetli všechny tabulky PDF z vybrané stránky PDF
- Iterujte všechny řádky v požadované tabulce
- Iterujte všechny buňky v požadovaném řádku a načtěte všechny textové fragmenty z každé buňky
- Zobrazí text načtený z buňky
Tyto kroky vysvětlují, jak používat tabulku Java extraktu z PDF spolu s informacemi o požadovaných knihovnách, které mají být přidány do projektu. Uvádí také pořadí operací k dokončení úkolu, jako je první načtení PDF, poté přístup na konkrétní stránku a načtení požadované tabulky. Nakonec analyzujte všechny řádky a buňky, abyste získali informace.
Kód pro čtení tabulky PDF v Javě
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"); | |
} | |
} |
Pro extrahování tabulky z PDF je zde poskytnut Java kód, který používá třídy TableAbsorber a AbsorbedTable pro práci s tabulkami v PDF. Používá také třídy AbsorbedRow a AbsorbedCell pro správu řádků a sloupců před použitím třídy TextFragment pro načítání dat buňky. Existuje také mnoho dalších tříd absorbérů dostupných pro různé prvky v dokumentu, jako jsou písma, odstavce, text a textové fragmenty.
Tento článek popisuje, že pomocí Java PDF lze extrakci tabulky provést v několika krocích. Pokud se chcete naučit číst text a obrázky ze souboru PDF, přečtěte si článek na jak číst soubor PDF v Javě.