Wie man Kommentare zu PowerPoint in Java hinzufügt

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);
}

Siehe auch

 Deutsch