Commentaires de Présentation
Dans PowerPoint, un commentaire apparaît comme une note ou une annotation sur une diapositive. Lorsqu’un commentaire est cliqué, son contenu ou ses messages sont révélés.
Pourquoi Ajouter des Commentaires aux Présentations?
Vous pouvez utiliser des commentaires pour fournir des retours d’information ou communiquer avec vos collègues lorsque vous examinez des présentations.
Pour vous permettre d’utiliser des commentaires dans les présentations PowerPoint, Aspose.Slides pour Python via .NET fournit
- La classe Presentation , qui contient les collections d’auteurs (propriété CommentAuthorCollection). Les auteurs ajoutent des commentaires aux diapositives.
- L’interface ICommentCollection, qui contient la collection de commentaires pour des auteurs individuels.
- La classe IComment, qui contient des informations sur les auteurs et leurs commentaires : qui a ajouté le commentaire, le moment où le commentaire a été ajouté, la position du commentaire, etc.
- La classe CommentAuthor, qui contient des informations sur des auteurs individuels : le nom de l’auteur, ses initiales, les commentaires associés au nom de l’auteur, etc.
Ajouter un Commentaire de Diapositive
Ce code Python vous montre comment ajouter un commentaire à une diapositive dans une présentation PowerPoint :
import aspose.slides as slides
import aspose.pydrawing as draw
import datetime
# Instantiates the Presentation class
with slides.Presentation() as presentation:
# Adds an empty slide
presentation.slides.add_empty_slide(presentation.layout_slides[0])
# Adds an author
author = presentation.comment_authors.add_author("Jawad", "MF")
# Sets the position for comments
point = draw.PointF(0.2, 0.2)
# Adds slide comment for an author on slide 1
author.comments.add_comment("Bonjour Jawad, ceci est un commentaire de diapositive", presentation.slides[0], point, datetime.date.today())
# Adds slide comment for an author on slide 2
author.comments.add_comment("Bonjour Jawad, ceci est le deuxième commentaire de diapositive", presentation.slides[1], point, datetime.date.today())
# Accessing ISlide 1
slide = presentation.slides[0]
# When null is passed as an argument, comments from all authors are brought to the selected slide
comments = slide.get_slide_comments(author)
# Accesses the comment at index 0 for slide 1
str = comments[0].text
presentation.save("Comments_out.pptx", slides.export.SaveFormat.PPTX)
if comments.length > 0:
# Selects the Author's comments collection at index 0
commentCollection = comments[0].author.comments
print(commentCollection[0].text)
Accéder aux Commentaires de Diapositive
Ce code Python vous montre comment accéder à un commentaire existant sur une diapositive dans une présentation PowerPoint :
import aspose.slides as slides
# Instantiates the Presentation class
with slides.Presentation("Comments1.pptx") as presentation:
for author in presentation.comment_authors:
for comment in author.comments:
print("ISlide :" + str(comment.slide.slide_number) +
" a un commentaire : " + comment.text +
" avec l'Auteur : " + comment.author.name +
" publié à : " + str(comment.created_time) + "\n")
Répondre aux Commentaires
Un commentaire parent est le commentaire supérieur ou original dans une hiérarchie de commentaires ou de réponses. En utilisant la propriété parent_comment
(de l’interface IComment), vous pouvez définir ou obtenir un commentaire parent.
Ce code Python vous montre comment ajouter des commentaires et obtenir leurs réponses :
import aspose.slides as slides
import aspose.pydrawing as draw
import datetime
with slides.Presentation() as pres:
# Adds a comment
author1 = pres.comment_authors.add_author("Author_1", "A.A.")
comment1 = author1.comments.add_comment("commentaire1", pres.slides[0], draw.PointF(10, 10), datetime.date.today())
# Adds a reply to comment1
author2 = pres.comment_authors.add_author("Autror_2", "B.B.")
reply1 = author2.comments.add_comment("réponse 1 pour le commentaire 1", pres.slides[0], draw.PointF(10, 10), datetime.date.today())
reply1.parent_comment = comment1
# Adds another reply to comment1
reply2 = author2.comments.add_comment("réponse 2 pour le commentaire 1", pres.slides[0], draw.PointF(10, 10), datetime.date.today())
reply2.parent_comment = comment1
# Adds a reply to existing reply
subReply = author1.comments.add_comment("sous-réponse 3 pour la réponse 2", pres.slides[0], draw.PointF(10, 10), datetime.date.today())
subReply.parent_comment = reply2
comment2 = author2.comments.add_comment("commentaire 2", pres.slides[0], draw.PointF(10, 10), datetime.date.today())
comment3 = author2.comments.add_comment("commentaire 3", pres.slides[0], draw.PointF(10, 10), datetime.date.today())
reply3 = author1.comments.add_comment("réponse 4 pour le commentaire 3", pres.slides[0], draw.PointF(10, 10), datetime.date.today())
reply3.parent_comment = comment3
# Displays the comments hierarchy on console
slide = pres.slides[0]
comments = slide.get_slide_comments(None)
for i in range(comments.length):
comment = comments[i]
while comment.parent_comment is not None:
print("\t")
comment = comment.parent_comment
print(comments[i].author.name + " : " + comments[i].text)
print("\r\n")
pres.save("parent_comment.pptx", slides.export.SaveFormat.PPTX)
# Removes comment1 and all replies to it
comment1.remove()
pres.save("remove_comment.pptx", slides.export.SaveFormat.PPTX)
Attention
- Lorsque la méthode
Remove
(de l’interface IComment) est utilisée pour supprimer un commentaire, les réponses au commentaire sont également supprimées. - Si le paramètre
parent_comment
aboutit à une référence circulaire, unePptxEditException
sera lancée.
Ajouter un Commentaire Moderne
En 2021, Microsoft a introduit des commentaires modernes dans PowerPoint. La fonctionnalité des commentaires modernes améliore considérablement la collaboration dans PowerPoint. Grâce aux commentaires modernes, les utilisateurs de PowerPoint peuvent résoudre des commentaires, ancrer des commentaires à des objets et des textes, et engager des interactions de manière beaucoup plus facile qu’auparavant.
Nous avons implémenté la prise en charge des commentaires modernes en ajoutant la classe ModernComment. Les méthodes add_modern_comment
et insert_modern_comment
ont été ajoutées à la classe CommentCollection.
Ce code Python vous montre comment ajouter un commentaire moderne à une diapositive dans une présentation PowerPoint :
import aspose.pydrawing as draw
import aspose.slides as slides
from datetime import date
with slides.Presentation() as pres:
newAuthor = pres.comment_authors.add_author("Un Auteur", "SA")
modernComment = newAuthor.comments.add_modern_comment("Ceci est un commentaire moderne", pres.slides[0], None, draw.PointF(100, 100), date.today())
pres.save("example.pptx", slides.export.SaveFormat.PPTX)
Supprimer un Commentaire
Supprimer Tous les Commentaires et Auteurs
Ce code Python vous montre comment supprimer tous les commentaires et auteurs dans une présentation :
import aspose.slides as slides
with slides.Presentation("example.pptx") as presentation:
# Deletes all comments from the presentation
for author in presentation.comment_authors:
author.comments.clear()
# Deletes all authors
presentation.comment_authors.clear()
presentation.save("example_out.pptx", slides.export.SaveFormat.PPTX)
Supprimer des Commentaires Spécifiques
Ce code Python vous montre comment supprimer des commentaires spécifiques sur une diapositive :
import aspose.pydrawing as draw
import aspose.slides as slides
from datetime import date
with slides.Presentation() as presentation:
slide = presentation.slides[0]
# add comments...
author = presentation.comment_authors.add_author("Auteur", "A")
author.comments.add_comment("commentaire 1", slide, draw.PointF(0.2, 0.2), date.today())
author.comments.add_comment("commentaire 2", slide, draw.PointF(0.3, 0.2), date.today())
# remove all comments that contain "comment 1" text
for commentAuthor in presentation.comment_authors:
toRemove = []
for comment in slide.get_slide_comments(commentAuthor):
if comment.text == "commentaire 1":
toRemove.append(comment)
for comment in toRemove:
commentAuthor.comments.remove(comment)
presentation.save("pres.pptx", slides.export.SaveFormat.PPTX)