Wie man Kommentare zu PowerPoint in Java hinzufügt
Aspose.Slides FOSS for Java unterstützt Threaded‑Kommentare, die an einer Folie an einer bestimmten Position angehängt sind und im Review‑Bereich von PowerPoint sichtbar sind.
Voraussetzungen
<dependency>
<groupId>org.aspose.slides.foss</groupId>
<artifactId>aspose-slides-foss</artifactId>
<version>1.0.0</version>
</dependency>Kommentar hinzufügen
Kommentare gehören zu einem Autor‑Objekt. Erstellen Sie zuerst einen Autor und fügen Sie dann Kommentare über author.getComments() hinzu:
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.ICommentAuthor;
import org.aspose.slides.foss.ICommentCollection;
import org.aspose.slides.foss.IComment;
import org.aspose.slides.foss.export.SaveFormat;
import org.aspose.slides.foss.drawing.PointF;
import java.time.LocalDateTime;
try (Presentation prs = new Presentation()) {
// Create a comment author with name and initials
ICommentAuthor author = prs.getCommentAuthors().addAuthor("Jane Smith", "JS");
ISlide slide = prs.getSlides().get(0);
// Add a comment at position (2.0, 2.0) from the slide top-left corner
author.getComments().addComment(
"Please review the figures on this slide",
slide,
new PointF(2.0f, 2.0f),
LocalDateTime.now()
);
prs.save("commented.pptx", SaveFormat.PPTX);
}Die PointF Koordinaten geben die Position des Kommentarankers an. Mehrfache Aufrufe von addComment() erzeugen eine verschachtelte Kommentar‑Kette unter demselben Autor.
Mehrere Autoren und Kommentare
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.ICommentAuthor;
import org.aspose.slides.foss.ICommentCollection;
import org.aspose.slides.foss.IComment;
import org.aspose.slides.foss.export.SaveFormat;
import org.aspose.slides.foss.drawing.PointF;
import java.time.LocalDateTime;
try (Presentation prs = new Presentation()) {
ICommentAuthor author1 = prs.getCommentAuthors().addAuthor("Alice Brown", "AB");
ICommentAuthor author2 = prs.getCommentAuthors().addAuthor("Bob Davis", "BD");
ISlide slide = prs.getSlides().get(0);
author1.getComments().addComment(
"Initial draft: needs revision",
slide, new PointF(1.0f, 1.0f), LocalDateTime.now()
);
author2.getComments().addComment(
"Approved after changes",
slide, new PointF(3.0f, 1.0f), LocalDateTime.now()
);
prs.save("multi-author.pptx", SaveFormat.PPTX);
}Kommentare aus einer bestehenden Datei lesen
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.ICommentAuthor;
import org.aspose.slides.foss.ICommentCollection;
import org.aspose.slides.foss.IComment;
import org.aspose.slides.foss.export.SaveFormat;
import org.aspose.slides.foss.drawing.PointF;
try (Presentation prs = new Presentation("commented.pptx")) {
for (int i = 0; i < prs.getCommentAuthors().size(); i++) {
ICommentAuthor author = prs.getCommentAuthors().get(i);
System.out.println("Author: " + author.getName()
+ " (" + author.getInitials() + ")");
ICommentCollection comments = author.getComments();
for (int j = 0; j < comments.size(); j++) {
IComment comment = comments.get(j);
System.out.println(" Slide " + comment.getSlide().getSlideNumber()
+ ": " + comment.getText());
}
}
}Kommentar entfernen
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.ICommentAuthor;
import org.aspose.slides.foss.ICommentCollection;
import org.aspose.slides.foss.IComment;
import org.aspose.slides.foss.export.SaveFormat;
import org.aspose.slides.foss.drawing.PointF;
try (Presentation prs = new Presentation("commented.pptx")) {
ICommentAuthor author = prs.getCommentAuthors().get(0);
if (author.getComments().size() > 0) {
author.getComments().removeAt(0);
}
prs.save("cleaned.pptx", SaveFormat.PPTX);
}