كيفية إضافة تعليقات إلى 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.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);
}

انظر أيضًا

 العربية