从现有PDF中移除表格

为了移除表格,我们需要使用TableAbsorber类来获取现有PDF中的表格,然后调用Remove方法。

从 PDF 文档中移除表格

我们在现有的 TableAbsorber 类中添加了新的函数,即 Remove(),以便从 PDF 文档中移除表格。一旦吸收器成功地在页面上找到表格,它就能够移除它们。请查看以下代码片段,展示如何从 PDF 文档中移除表格:

package com.aspose.pdf.examples;

import com.aspose.pdf.*;

public class ExampleRemoveTable {
    
    private static String _dataDir = "/home/admin1/pdf-examples/Samples/";

    public static void RemoveTable() {
        // 加载现有的 PDF 文档
        Document pdfDocument = new Document(_dataDir + "Table_input.pdf");

        // 创建 TableAbsorber 对象以查找表格
        TableAbsorber absorber = new TableAbsorber();

        // 使用吸收器访问第一页
        absorber.visit(pdfDocument.getPages().get_Item(1));

        // 获取页面上的第一个表格
        AbsorbedTable table = absorber.getTableList().get(0);

        // 移除表格
        absorber.remove(table);

        // 保存 PDF
        pdfDocument.save(_dataDir + "Table_out.pdf");
    }  

从 PDF 文档中移除多个表格

有时候,一个 PDF 文档可能包含多个表格,您可能需要从中移除多个表格。为了从 PDF 文档中移除多个表格,请使用以下代码片段:

    public static void RemoveMultipleTable() {
        // 加载现有的 PDF 文档
        Document pdfDocument = new Document(_dataDir + "Table_input2.pdf");

        // 创建 TableAbsorber 对象以查找表格
        TableAbsorber absorber = new TableAbsorber();

        // 使用吸收器访问第二页
        absorber.visit(pdfDocument.getPages().get_Item(2));

        // 循环遍历集合的副本并移除表格
        for (AbsorbedTable table : absorber.getTableList())
            absorber.remove(table);

        // 保存文档
        pdfDocument.save(_dataDir + "Table2_out.pdf");
    }
}