Как да добавим коментари към PowerPoint в Java
Aspose.Slides FOSS for Java поддържа нишкови коментари, прикрепени към слайд на конкретна позиция, видими в панела за преглед на PowerPoint.
Предварителни условия
<dependency>
<groupId>org.aspose.slides.foss</groupId>
<artifactId>aspose-slides-foss</artifactId>
<version>1.0.0</version>
</dependency>Добавете коментар
Коментарите принадлежат на обект author. Създайте author първо, след това добавете коментари чрез author.getComments():
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);
}PointF координатите определят позицията на котвата на коментара. Многократни извиквания на addComment() създават нишков коментарен низ под същия автор.
Множество автори и коментари
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);
}Прочетете коментари от съществуващ файл
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());
}
}
}Премахване на коментар
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);
}