Comment
Contents
[
Hide
]
This article demonstrates how to add, read, remove, and reply to modern comments using Aspose.Slides for Python via Java.
Install the package as described in Installation. Each example imports asposeslides before starting the JVM, then imports the API and required Java types after the JVM is running. The access and removal examples use modern_comment.pptx, created by the first example.
Add a Modern Comment
Create a comment authored by a user and save the presentation.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, SaveFormat
from java.awt.geom import Point2D
from java.util import Date
presentation = Presentation()
try:
slide = presentation.getSlides().get_Item(0)
author = presentation.getCommentAuthors().addAuthor("User", "U1")
position = Point2D.Float(100, 100)
author.getComments().addModernComment("This is a modern comment", slide, None, position, Date())
presentation.save("modern_comment.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
Access a Modern Comment
Read the first modern comment from an existing presentation.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation
presentation = Presentation("modern_comment.pptx")
try:
if presentation.getCommentAuthors().size() > 0:
author = presentation.getCommentAuthors().get_Item(0)
if author.getComments().size() > 0:
comment = author.getComments().get_Item(0)
print("Author:", author.getName())
print("Comment:", comment.getText())
print("Position:", comment.getPosition())
else:
print("The first author has no comments.")
else:
print("The presentation has no comment authors.")
finally:
presentation.dispose()
Remove a Modern Comment
Remove the first comment and save the updated presentation.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, SaveFormat
presentation = Presentation("modern_comment.pptx")
try:
if presentation.getCommentAuthors().size() > 0:
author = presentation.getCommentAuthors().get_Item(0)
if author.getComments().size() > 0:
comment = author.getComments().get_Item(0)
comment.remove()
else:
print("The first author has no comments.")
else:
print("The presentation has no comment authors.")
presentation.save("modern_comment_removed.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
Reply to a Modern Comment
Create a parent comment, add two replies, and save the presentation.
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import Presentation, SaveFormat
from java.awt.geom import Point2D
from java.util import Date
presentation = Presentation()
try:
slide = presentation.getSlides().get_Item(0)
author = presentation.getCommentAuthors().addAuthor("User", "U1")
created_time = Date()
parent_position = Point2D.Float(100, 100)
parent_comment = author.getComments().addModernComment("Parent comment", slide, None, parent_position, created_time)
reply1_position = Point2D.Float(110, 100)
reply1 = author.getComments().addModernComment("Reply 1", slide, None, reply1_position, created_time)
reply2_position = Point2D.Float(120, 100)
reply2 = author.getComments().addModernComment("Reply 2", slide, None, reply2_position, created_time)
reply1.setParentComment(parent_comment)
reply2.setParentComment(parent_comment)
presentation.save("modern_comment_replies.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()