Удаление таблиц из существующего PDF-документа

Чтобы удалить таблицы, нам нужно использовать класс TableAbsorber, чтобы получить таблицы в существующем PDF-файле, а затем вызвать Remove.

Следующий фрагмент кода также работает с библиотекой Aspose.PDF.Drawing.

Удаление таблицы из PDF-документа

Мы добавили новую функцию, то есть Remove(), к существующему классу TableAbsorber, чтобы удалить таблицу из PDF-документа. Как только поглотитель успешно находит таблицы на странице, он становится способным их удалить. Пожалуйста, ознакомьтесь со следующим фрагментом кода, показывающим, как удалить таблицу из PDF-документа:

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void RemoveTable()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_Tables();

    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "Table_input.pdf"))
    {
        // Create TableAbsorber object to find tables
        var absorber = new Aspose.Pdf.Text.TableAbsorber();

        // Visit first page with absorber
        absorber.Visit(document.Pages[1]);

        // Get first table on the page
        Aspose.Pdf.Text.AbsorbedTable table = absorber.TableList[0];

        // Remove the table
        absorber.Remove(table);

        // Save PDF document
        document.Save(dataDir + "RemoveTable_out.pdf");
    }
}

Удаление нескольких таблиц из PDF-документа

Иногда PDF-документ может содержать более одной таблицы, и у вас может возникнуть необходимость удалить несколько таблиц из него. Чтобы удалить несколько таблиц из PDF-документа, используйте следующий фрагмент кода:

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void RemoveMultipleTables()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_Tables();

    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "Table_input2.pdf"))
    {
        // Create TableAbsorber object to find tables
        var absorber = new Aspose.Pdf.Text.TableAbsorber();

        // Visit second page with absorber
        absorber.Visit(document.Pages[1]);

        // Get copy of table collection
        Aspose.Pdf.Text.AbsorbedTable[] tables = new Aspose.Pdf.Text.AbsorbedTable[absorber.TableList.Count];
        absorber.TableList.CopyTo(tables, 0);

        // Loop through the copy of collection and removing tables
        foreach (var table in tables)
        {
            absorber.Remove(table);
        }

        // Save PDF document
        document.Save(dataDir + "RemoveMultipleTables_out.pdf");
    }
}