既存のPDFからテーブルを削除する
Contents
[
Hide
]
Aspose.PDF for NETでは、PDFドキュメントをゼロから生成する際にテーブルを挿入/作成する機能を提供しています。また、既存のPDFドキュメントにテーブルオブジェクトを追加することもできます。しかし、既存のPDFでテーブルを操作する必要があるかもしれません。ここでは、既存のテーブルセルの内容を更新できます。さらに、既存のPDFドキュメントからテーブルオブジェクトを削除する必要が生じることがあります。
テーブルを削除するためには、既存のPDF内のテーブルを掴むためにTableAbsorberクラスを使用してから、Removeを呼び出す必要があります。
以下のコードスニペットは、Aspose.PDF.Drawingライブラリとも動作します。
PDF文書からテーブルを削除する
新しい関数を追加しました。 新しい関数を追加しました。
// 完全な例とデータファイルについては、https://github.com/aspose-pdf/Aspose.PDF-for-.NET をご覧ください。
// ドキュメントディレクトリへのパスです。
string dataDir = RunExamples.GetDataDir_AsposePdf_Tables();
// 既存のPDFドキュメントを読み込みます
Document pdfDocument = new Document(dataDir + "Table_input.pdf");
// テーブルを見つけるためのTableAbsorberオブジェクトを作成します
TableAbsorber absorber = new TableAbsorber();
// absorberで最初のページを訪れます
absorber.Visit(pdfDocument.Pages[1]);
// ページ上の最初のテーブルを取得します
AbsorbedTable table = absorber.TableList[0];
// テーブルを削除します
absorber.Remove(table);
// PDFを保存します
pdfDocument.Save(dataDir + "Table_out.pdf");
PDFドキュメントから複数のテーブルを削除する
時々、PDFドキュメントには複数のテーブルが含まれている場合があり、それらを削除する必要が生じるかもしれません。PDFドキュメントから複数のテーブルを削除するには、以下のコードスニペットを使用してください:
// 完全な例とデータファイルについては、https://github.com/aspose-pdf/Aspose.PDF-for-.NET をご覧ください。
// ドキュメントディレクトリへのパスです。
string dataDir = RunExamples.GetDataDir_AsposePdf_Tables();
// 既存のPDFドキュメントを読み込みます
Document pdfDocument = new Document(dataDir + "Table_input2.pdf");
// テーブルを見つけるためのTableAbsorberオブジェクトを作成します
TableAbsorber absorber = new TableAbsorber();
// absorberで2ページ目を訪れます
absorber.Visit(pdfDocument.Pages[1]);
// テーブルコレクションのコピーを取得します
AbsorbedTable[] tables = new AbsorbedTable[absorber.TableList.Count];
absorber.TableList.CopyTo(tables, 0);
// コレクションのコピーをループしてテーブルを削除します
foreach (AbsorbedTable table in tables)
absorber.Remove(table);
// ドキュメントを保存します
pdfDocument.Save(dataDir + "Table2_out.pdf");
テーブルの削除や置換はTableListコレクションに影響を与えることを考慮してください。したがって、ループ内でテーブルを削除/置換する場合は、TableListコレクションのコピーが不可欠です。