从现有 PDF 文档中移除表格

当需要从现有 PDF 中删除一个或多个检测到的表格时,使用 TableAbsorber。

删除一个检测到的表格

仅在页面上应删除第一个匹配的表格时使用此示例。

  1. 打开源 PDF Document。
  2. 使用以下方式访问目标页面 TableAbsorber。
  3. 删除检测到的第一个表格并保存文档。
public static void removeOneTable(Path inputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString())) {
        TableAbsorber absorber = new TableAbsorber();
        absorber.visit(document.getPages().get_Item(1));
        absorber.remove(absorber.getTableList().get(0));
        document.save(outputFile.toString());
    }
}

从页面中删除所有检测到的表格

当页面上的每个匹配的表格都应被删除时使用此示例。

  1. 打开源 PDF Document。
  2. 使用以下方式访问目标页面 TableAbsorber 并将检测到的表格复制到列表中。
  3. 删除每个检测到的表格并保存更新后的 PDF。
public static void removeAllTables(Path inputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString())) {
        TableAbsorber absorber = new TableAbsorber();
        absorber.visit(document.getPages().get_Item(1));
        List<AbsorbedTable> tables = new ArrayList<>(absorber.getTableList());
        for (AbsorbedTable table : tables) {
            absorber.remove(table);
        }
        document.save(outputFile.toString());
    }
}