Microsoft Word vous offre la possibilité d’ajouter des commentaires aux documents Word. Les commentaires peuvent être utiles dans des cas tels que la suggestion d’améliorations dans des documents ou le partage d’idées sur le texte. Il peut y avoir des situations où vous devez gérer les commentaires par programmation. À cette fin, cet article vous apprendra à utiliser des commentaires dans des documents Word à l’aide de C++.
- API C++ pour travailler avec des commentaires dans des documents Word
- Ajouter des commentaires aux documents Word à l’aide de C++
- Lire les commentaires d’un document Word
- Modifier les commentaires dans un document Word à l’aide de C++
- Supprimer les commentaires d’un document Word à l’aide de C++
API C++ pour travailler avec des commentaires dans des documents Word
Aspose.Words for C++ est une bibliothèque C++ native qui vous permet de créer, lire, modifier et convertir des documents Microsoft Word. En outre, il prend également en charge le travail avec des commentaires dans les fichiers DOCX et DOC. Vous pouvez soit installer l’API via NuGet ou la télécharger directement à partir de la section Téléchargements.
PM> Install-Package Aspose.Words.Cpp
Ajouter des commentaires aux documents Word à l’aide de C++
L’API Aspose.Words for C++ offre la possibilité d’ajouter des commentaires avec le nom de l’auteur, les initiales et la date/heure. Voici les étapes pour ajouter des commentaires aux documents Word.
- Tout d’abord, chargez le document Word à l’aide de la classe Document.
- Créez une instance de la classe DocumentBuilder en transmettant l’objet Document créé à l’étape précédente.
- Créez le commentaire à l’aide de la classe Comment.
- Ajoutez le commentaire au document en utilisant DocumentBuilder->getCurrentParagraph()->AppendChild(System::SharedPtrAspose::Words::Node newChild) méthode.
- Enfin, enregistrez le document en utilisant la méthode Document->Save(System::String fileName).
L’exemple de code suivant montre comment ajouter des commentaires à des documents Word à l’aide de C++.
// Chemins de répertoire.
System::String sourceDataDir = u"SourceDirectory\\";
System::String outputDataDir = u"OutputDirectory\\";
// Charger le fichier Word
System::SharedPtr<Document> doc = System::MakeObject<Document>(sourceDataDir + u"Sample 1.docx");
// Créer une instance de la classe DocumentBuilder
System::SharedPtr<DocumentBuilder> builder = System::MakeObject<DocumentBuilder>(doc);
// Ajouter un commentaire
System::SharedPtr<Comment> comment = System::MakeObject<Comment>(doc, u"Aspose", u"AFFA", System::DateTime::get_Today());
builder->get_CurrentParagraph()->AppendChild(comment);
comment->get_Paragraphs()->Add(System::MakeObject<Paragraph>(doc));
comment->get_FirstParagraph()->get_Runs()->Add(System::MakeObject<Run>(doc, u"Comment text."));
// Enregistrez le document.
doc->Save(outputDataDir + u"AddCommentsToExistingDoc.docx");
Voici l’image de la sortie générée par l’exemple de code.
Lire les commentaires d’un document Word
Voici les étapes pour lire les commentaires des documents Word.
- Chargez le document Word à l’aide de la classe Document.
- Récupérez les commentaires à l’aide de la méthode Document->GetChildNodes(Aspose::Words::NodeType nodeType, bool isDeep).
- Parcourez les commentaires et récupérez les informations des commentaires individuels.
Voici l’exemple de code permettant de lire les commentaires d’un document Word à l’aide de C++.
// Chemins de répertoire.
System::String sourceDataDir = u"SourceDirectory\\";
System::String outputDataDir = u"OutputDirectory\\";
// Charger le fichier Word
System::SharedPtr<Document> doc = System::MakeObject<Document>(sourceDataDir + u"SampleComments.docx");
// Récupérer les commentaires
System::SharedPtr<NodeCollection> comments = doc->GetChildNodes(NodeType::Comment, true);
// Parcourez tous les commentaires
for (System::SharedPtr<Comment> comment : System::IterateOver<System::SharedPtr<Comment>>(comments))
{
// Imprimer les informations sur les commentaires
std::cout << comment->get_Author() + u" " + comment->get_DateTime() + u" " + System::StaticCast<Node>(comment)->ToString(SaveFormat::Text);
}
Modifier les commentaires dans un document Word à l’aide de C++
Pour modifier un commentaire, récupérez-le à l’aide de la méthode NodeCollection->idxget(int32t index) et modifiez-le selon vos besoins. Voici les étapes pour modifier les commentaires dans un document Word.
- Tout d’abord, chargez le document Word à l’aide de la classe Document.
- Récupérez les commentaires à l’aide de la méthode Document->GetChildNodes(Aspose::Words::NodeType nodeType, bool isDeep).
- Obtenez le commentaire souhaité à l’aide de la méthode NodeCollection->idxget(int32t index) et transmettez le résultat à Comment.
- Mettez à jour le commentaire.
- Enfin, enregistrez le document en utilisant la méthode Document->Save(System::String fileName).
L’exemple de code suivant montre comment modifier des commentaires dans un document Word à l’aide de C++.
// Chemins de répertoire.
System::String sourceDataDir = u"SourceDirectory\\";
System::String outputDataDir = u"OutputDirectory\\";
// Charger le fichier Word
System::SharedPtr<Document> doc = System::MakeObject<Document>(sourceDataDir + u"SampleComments.docx");
// Récupérer les commentaires
System::SharedPtr<NodeCollection> comments = doc->GetChildNodes(NodeType::Comment, true);
// Obtenir un commentaire
System::SharedPtr<Comment> comment = System::DynamicCast<Comment>(comments->idx_get(0));
// Mettre à jour le texte du commentaire
comment->SetText(u"Updated Text");
// Enregistrez le document.
doc->Save(outputDataDir + u"UpdatedComment.docx");
Supprimer les commentaires d’un document Word à l’aide de C++
L’API Aspose.Words for C++ offre plusieurs façons de supprimer des commentaires de documents Word. Dans cette section, vous apprendrez à supprimer un commentaire spécifique, les commentaires par auteur et tous les commentaires à l’aide de C++.
- Supprimer un commentaire spécifique
- Suppression de commentaires par auteur
- Supprimer tous les commentaires
Supprimer un commentaire spécifique
Voici les étapes pour supprimer un commentaire spécifique.
- Chargez le document Word à l’aide de la classe Document.
- Récupérez les commentaires à l’aide de la méthode Document->GetChildNodes(Aspose::Words::NodeType nodeType, bool isDeep).
- Obtenez le commentaire que vous souhaitez supprimer à l’aide de la méthode NodeCollection->idxget(int32t index) et transmettez le résultat à Comment.
- Supprimez le commentaire à l’aide de la méthode Comment->Remove().
- Enregistrez le document en utilisant la méthode Document->Save(System::String fileName).
L’exemple de code suivant montre comment supprimer un commentaire spécifique d’un document Word à l’aide de C++.
// Chemins de répertoire.
System::String sourceDataDir = u"D:\\Work\\Aspose\\01_SourceDirectory\\";
System::String outputDataDir = u"D:\\Work\\Aspose\\02_OutputDirectory\\";
// Charger le fichier Word
System::SharedPtr<Document> doc = System::MakeObject<Document>(sourceDataDir + u"SampleComments.docx");
// Récupérer les commentaires
System::SharedPtr<NodeCollection> comments = doc->GetChildNodes(NodeType::Comment, true);
// Obtenir un commentaire
System::SharedPtr<Comment> comment = System::DynamicCast<Comment>(comments->idx_get(2));
// Supprimer le commentaire
comment->Remove();
// Enregistrez le document.
doc->Save(outputDataDir + u"DeleteSpecificComments.docx");
Suppression de commentaires par auteur
Voici les étapes pour supprimer les commentaires par auteur.
- Tout d’abord, chargez le document Word à l’aide de la classe Document.
- Récupérez les commentaires à l’aide de la méthode Document->GetChildNodes(Aspose::Words::NodeType nodeType, bool isDeep).
- Parcourez les commentaires.
- Dans la boucle, récupérez le commentaire et comparez son auteur. Si l’auteur correspond, supprimez le commentaire.
- Enfin, enregistrez le document en utilisant la méthode Document->Save(System::String fileName).
Voici un exemple de code pour supprimer les commentaires par auteur à l’aide de C++.
// Chemins de répertoire.
System::String sourceDataDir = u"SourceDirectory\\";
System::String outputDataDir = u"OutputDirectory\\";
// Charger le fichier Word
System::SharedPtr<Document> doc = System::MakeObject<Document>(sourceDataDir + u"SampleComments.docx");
// Récupérer les commentaires
System::SharedPtr<NodeCollection> comments = doc->GetChildNodes(NodeType::Comment, true);
// Parcourez tous les commentaires et supprimez ceux écrits par l'auteur "Aspose".
for (int32_t i = comments->get_Count() - 1; i >= 0; i--)
{
System::SharedPtr<Comment> comment = System::DynamicCast<Comment>(comments->idx_get(i));
if (comment->get_Author() == u"Aspose")
{
comment->Remove();
}
}
// Enregistrez le document.
doc->Save(outputDataDir + u"DeleteCommentsByAuthor.docx");
Supprimer tous les commentaires
Au lieu de supprimer des commentaires individuels, vous pouvez supprimer tous les commentaires à la fois en utilisant la méthode NodeCollection->Clear(). Voici les étapes pour supprimer tous les commentaires d’un document Word.
- Chargez le document Word à l’aide de la classe Document.
- Récupérez les commentaires à l’aide de la méthode Document->GetChildNodes(Aspose::Words::NodeType nodeType, bool isDeep).
- Supprimez tous les commentaires à l’aide de la méthode NodeCollection->Clear().
- Enfin, enregistrez le document en utilisant la méthode Document->Save(System::String fileName).
L’exemple de code suivant montre comment supprimer tous les commentaires d’un document Word à l’aide de C++.
// Chemins de répertoire.
System::String sourceDataDir = u"SourceDirectory\\";
System::String outputDataDir = u"OutputDirectory\\";
// Charger le fichier Word
System::SharedPtr<Document> doc = System::MakeObject<Document>(sourceDataDir + u"SampleComments.docx");
// Récupérer les commentaires
System::SharedPtr<NodeCollection> comments = doc->GetChildNodes(NodeType::Comment, true);
// Supprimer tous les commentaires.
comments->Clear();
// Enregistrez le document.
doc->Save(outputDataDir + u"DeleteAllComments.docx");
Obtenez une licence gratuite
Vous pouvez essayer l’API sans limites d’évaluation en demandant une licence temporaire gratuite.
Conclusion
Dans cet article, vous avez appris à utiliser des commentaires dans des documents Word à l’aide de C++. Plus précisément, vous avez appris à ajouter, lire, modifier et supprimer des commentaires. De plus, vous avez vu comment supprimer un commentaire spécifique, les commentaires par auteur et tous les commentaires à l’aide de Aspose.Words for C++. L’API fournit un grand nombre de fonctionnalités supplémentaires pour automatiser vos tâches liées à Word. Vous pouvez explorer l’API en détail en visitant la documentation officielle. En cas de questions, n’hésitez pas à nous contacter sur notre forum d’assistance gratuit.