通过 Java 从 PDF 中提取表格

从 PDF 文档中提取表格。使用 Aspose.PDF for Java 以编程方式修改 PDF 文件

如何使用 Java 庫從PDF文檔中提取表格

為了提取表,我們將使用[Aspose.PDF用於Java](https://products.aspose.com/pdf/java)API,這是一個功能豐富,功能強大且易於使用的Java轉換API平臺。您可以直接從 [Maven](https://repository.aspose.com/webapp/#/artifacts/browse/tree/General/repo/com/aspose/aspose-pdf)下載其最新版本,並通過將以下配置添加到 pom.xml 來將其安裝在基於 Maven 的專案中。

Repository

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java AP</name>
    <url>https://releases.aspose.com/java/repo/</url>
</repository>

Dependency

<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>version of aspose-pdf API</version>
</dependency>

通過Java從PDF中提取表格


您需要 [Aspose.PDF for Java](https://releases.aspose.com/pdf/java)來嘗試環境中的代碼。

  1. 載入包含文件實例的 PDF。
  2. 建立表吸收器物件以查找表。
  3. 使用吸收器訪問第一頁。
  4. 取得頁面上的第一個表。
  5. 刪除表。保存檔案。

從 PDF 中提取表格 - Java


    Document pdfDocument = new Document(_dataDir + "the_worlds_cities_in_2018_data_booklet 7.pdf");
    for(Page page : pdfDocument.getPages())
    {
        TableAbsorber absorber = new TableAbsorber();
        absorber.visit(page);
        for (AbsorbedTable table : absorber.getTableList())
        {
            for (AbsorbedRow row : table.getRowList())
            {
                for (AbsorbedCell cell : row.getCellList())
                {
                    TextFragmentCollection textFragmentCollection = cell.getTextFragments();
                    for (TextFragment fragment : textFragmentCollection)
                    {
                        String txt = "";
                        for (TextSegment seg : fragment.getSegments())
                            txt += seg.getText();
                        System.out.println(txt);
                    }
                }
            }
        }
    }