Як додати коментарі до PowerPoint у Java

Як додати коментарі до 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.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);
}

Дивіться також

 Українська