Supprimer les tableaux d'un PDF existant
Aspose.PDF pour C++ vous permet d’insérer et de créer un tableau à l’intérieur d’un document PDF pendant sa création à partir de zéro, ou vous pouvez également ajouter l’objet tableau dans un document PDF existant. Mais vous pouvez avoir besoin de manipuler les tableaux dans un PDF existant où vous pouvez mettre à jour le contenu des cellules de tableau existantes. De plus, vous pouvez être confronté à une exigence de suppression des objets tableau des documents PDF existants.
Pour supprimer les tableaux, nous devons utiliser la classe TableAbsorber pour identifier les tableaux dans le PDF existant, puis appeler la méthode ‘Remove’.
Supprimer un tableau d’un document PDF
Nous avons ajouté une nouvelle fonction, c’est-à-dire. Remove à la classe existante TableAbsorber afin de supprimer une table du document PDF. Une fois que l’absorbeur trouve avec succès les tables sur la page, il devient capable de les supprimer. Veuillez vérifier l’extrait de code suivant montrant comment supprimer une table d’un document PDF :
En-têtes :
#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>
Exemples :
using namespace System;
using namespace Aspose::Pdf;
void RemoveTable() {
String _dataDir("C:\\Samples\\");
// Charger le document PDF source
auto document = MakeObject<Document>(_dataDir + u"Table_input.pdf");
// Créer un objet TableAbsorber pour trouver les tables
auto absorber = MakeObject<Aspose::Pdf::Text::TableAbsorber>();
// Visiter la première page avec l'absorbeur
absorber->Visit(document->get_Pages()->idx_get(1));
// Obtenir la première table sur la page
auto table = absorber->get_TableList()->idx_get(0);
// Supprimer la table
absorber->Remove(table);
// Enregistrer le PDF
document->Save(_dataDir + u"Table_out.pdf");
}
Supprimer plusieurs tableaux d’un document PDF
Certaines tâches seront associées au travail avec plusieurs tableaux dans un document pdf. Et vous aurez besoin de supprimer plusieurs tableaux de celui-ci. Pour supprimer plusieurs tableaux d’un document PDF, utilisez l’extrait de code suivant :
void RemoveMultipleTables() {
String _dataDir("C:\\Samples\\");
// Charger le document PDF existant
auto document = MakeObject<Document>(_dataDir + u"Table_input2.pdf");
// Créer un objet TableAbsorber pour trouver les tableaux
auto absorber = MakeObject<Aspose::Pdf::Text::TableAbsorber>();
// Visiter la première page avec l'absorbeur
absorber->Visit(document->get_Pages()->idx_get(1));
// Obtenir une copie de la collection de tableaux
auto tables = absorber->get_TableList();
// Boucler à travers la copie de la collection et supprimer les tableaux
for(auto table : tables)
absorber->Remove(table);
// Enregistrer le document
document->Save(_dataDir + u"Table2_out.pdf");
}
Par conséquent, en cas de suppression/remplacement des tables dans une boucle, la copie de la collection TableList est essentielle.