Làm việc với Bình luận và Ghi chú Diễn giả — Aspose.Slides FOSS cho .NET

Aspose.Slides FOSS for .NET hỗ trợ hai loại chú thích: bình luận slide dạng chuỗi (hiển thị trong chế độ xem xét) và ghi chú người thuyết trình (hiển thị trong Presenter View và bảng Ghi chú).


Bình luận dạng chuỗi

Bình luận được gắn vào một slide và liên kết với một tác giả. Bộ sưu tập prs.CommentAuthors quản lý tất cả các tác giả; mỗi tác giả có một bộ sưu tập Comments để thêm và đọc bình luận.

Thêm bình luận

using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Drawing;
using Aspose.Slides.Foss.Export;

using var prs = new Presentation();
// Create a comment author with initials
var author = prs.CommentAuthors.AddAuthor("Jane Smith", "JS");

var slide = prs.Slides[0];

// Add a comment at position (2.0, 2.0) inches from the slide top-left
author.Comments.AddComment(
    "Please review the figures on this slide",
    slide,
    new PointF(2.0f, 2.0f),
    DateTime.Now
);

prs.Save("commented.pptx", SaveFormat.Pptx);

Vị trí PointF được tính bằng inch từ góc trên‑trái của slide. Có thể thêm nhiều bình luận vào cùng một slide bằng cách gọi AddComment() lại.

Nhiều tác giả và bình luận

using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Drawing;
using Aspose.Slides.Foss.Export;

using var prs = new Presentation();
var author1 = prs.CommentAuthors.AddAuthor("Alice Brown", "AB");
var author2 = prs.CommentAuthors.AddAuthor("Bob Davis", "BD");

var slide = prs.Slides[0];

author1.Comments.AddComment("Initial draft", slide, new PointF(1.0f, 1.0f), DateTime.Now);
author2.Comments.AddComment("Approved", slide, new PointF(3.0f, 1.0f), DateTime.Now);

prs.Save("multi-author.pptx", SaveFormat.Pptx);

Đọc bình luận từ tệp hiện có

using Aspose.Slides.Foss;

using var prs = new Presentation("commented.pptx");
foreach (var author in prs.CommentAuthors)
{
    Console.WriteLine($"Author: {author.Name} ({author.Initials})");
    foreach (var comment in author.Comments)
    {
        Console.WriteLine($"  [{comment.Slide.SlideNumber}] {comment.Text}");
    }
}

Ghi chú người nói

Ghi chú người nói được lưu trữ trên từng slide thông qua một đối tượng NotesSlide. Truy cập nó qua slide.NotesSlideManager.

Thêm ghi chú người nói vào Slide

using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;

using var prs = new Presentation();
var slide = prs.Slides[0];
slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 400, 200);

// Create the notes slide and set text
var notes = slide.NotesSlideManager.AddNotesSlide();
notes.NotesTextFrame.Text = "Mention the Q3 revenue increase on this slide. Emphasize the 24% growth.";

prs.Save("with-notes.pptx", SaveFormat.Pptx);

Ví dụ Ghi chú Đơn giản

using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;

using var prs = new Presentation();
var slide = prs.Slides[0];
slide.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 500, 250).AddTextFrame("Main Content");

var notes = slide.NotesSlideManager.AddNotesSlide();
notes.NotesTextFrame.Text = "These are the speaker notes for this slide.";

prs.Save("notes.pptx", SaveFormat.Pptx);

Kiểm tra xem một slide ghi chú đã tồn tại chưa

NotesSlideManager.NotesSlide trả về null nếu chưa tạo slide ghi chú nào:

using Aspose.Slides.Foss;

using var prs = new Presentation("existing.pptx");
for (int i = 0; i < prs.Slides.Count; i++)
{
    var existingNotes = prs.Slides[i].NotesSlideManager.NotesSlide;
    if (existingNotes != null)
    {
        var text = existingNotes.NotesTextFrame.Text;
        Console.WriteLine($"Slide {i + 1} notes: {text[..Math.Min(60, text.Length)]}...");
    }
    else
    {
        Console.WriteLine($"Slide {i + 1}: no notes");
    }
}

Thêm Ghi chú vào Nhiều Slide

using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;

var noteTexts = new[]
{
    "Opening remarks: introduce the agenda.",
    "Key metrics: emphasize Q4 results.",
    "Closing: call to action.",
};

using var prs = new Presentation();
// Add slides 2 and 3
var layout = prs.Slides[0].LayoutSlide;
prs.Slides.AddEmptySlide(layout);
prs.Slides.AddEmptySlide(layout);

for (int i = 0; i < prs.Slides.Count; i++)
{
    prs.Slides[i].Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 600, 300)
        .AddTextFrame($"Slide {i + 1}");
    var n = prs.Slides[i].NotesSlideManager.AddNotesSlide();
    n.NotesTextFrame.Text = noteTexts[i];
}

prs.Save("all-notes.pptx", SaveFormat.Pptx);

Xem thêm

 Tiếng Việt