既存のPDFからテーブルを削除

Aspose.PDF for C++を使用すると、ゼロから生成されているPDFドキュメント内にテーブルを挿入および作成することができます。また、既存のPDFドキュメントにもテーブルオブジェクトを追加することができます。しかし、既存のPDFでテーブルを操作する必要がある場合、既存のテーブルセルの内容を更新できます。また、既存のPDFドキュメントからテーブルオブジェクトを削除する必要があるかもしれません。

テーブルを削除するために、既存のPDF内のテーブルを取得するためにTableAbsorberクラスを使用し、その後に’Remove’メソッドを呼び出す必要があります。

PDFドキュメントからテーブルを削除

新しい関数を追加しました。すなわち、 Remove 既存のTableAbsorberクラスに、PDFドキュメントからテーブルを削除するために追加します。吸収器がページ上のテーブルを正常に見つけると、それらを削除することが可能になります。以下のコードスニペットを確認して、PDFドキュメントからテーブルを削除する方法を示しています:

Headers:

#include <Aspose.PDF.Cpp/Document.h>
#include <Aspose.PDF.Cpp/Page.h>
#include <Aspose.PDF.Cpp/PageCollection.h>
#include <Aspose.PDF.Cpp/Text/TableAbsorber/TableAbsorber.h>

Samples:

using namespace System;
using namespace Aspose::Pdf;

void RemoveTable() {

    String _dataDir("C:\\Samples\\");

    // ソースPDFドキュメントをロード
    auto document = MakeObject<Document>(_dataDir + u"Table_input.pdf");

    // テーブルを見つけるためにTableAbsorberオブジェクトを作成
    auto absorber = MakeObject<Aspose::Pdf::Text::TableAbsorber>();

    // 吸収器で最初のページを訪問
    absorber->Visit(document->get_Pages()->idx_get(1));

    // ページ上の最初のテーブルを取得
    auto table = absorber->get_TableList()->idx_get(0);

    // テーブルを削除
    absorber->Remove(table);

    // PDFを保存
    document->Save(_dataDir + u"Table_out.pdf");
}

PDFドキュメントから複数のテーブルを削除する

いくつかのタスクは、1つのPDFドキュメントに複数のテーブルを含む作業に関連します。 そして、そこからいくつかのテーブルを削除する必要があります。PDFドキュメントから複数のテーブルを削除するには、次のコードスニペットを使用します:

void RemoveMultipleTables() {

    String _dataDir("C:\\Samples\\");

    // 既存のPDFドキュメントをロード
    auto document = MakeObject<Document>(_dataDir + u"Table_input2.pdf");

    // テーブルを見つけるためのTableAbsorberオブジェクトを作成
    auto absorber = MakeObject<Aspose::Pdf::Text::TableAbsorber>();

    // アブソーバーで最初のページを訪問
    absorber->Visit(document->get_Pages()->idx_get(1));

    // テーブルコレクションのコピーを取得
    auto tables = absorber->get_TableList();


    // コレクションのコピーをループし、テーブルを削除
    for(auto table : tables)
    absorber->Remove(table);

    // ドキュメントを保存
    document->Save(_dataDir + u"Table2_out.pdf");
}