Trabalhar com comentários e notas do orador Aspose.Slides FOSS para .NET
Este guia mostra como adicionar e ler comentários com thread e notas de orador em apresentações PPTX usando Aspose.Slides FOSS para .NET. Dois tipos de anotação são suportados: comentários de diapositivas com rosca (visível no modo de revisão) e notas do orador (visível na Vista do apresentador e no painel Notas).
Comentários com tópicos
Os comentários estão anexados a um diapositivo e associados com o autor. prs.CommentAuthors A colecção gerencia todos os autores; cada autor tem um Comments coleção para adicionar e ler comentários.
Adicionar um Comentário
Chama-me . prs.CommentAuthors.AddAuthor() para criar um autor, em seguida, chamar author.Comments.AddComment() com o diapositivo, texto, posição e marca de hora:
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);A Comissão PointF A posição é em polegadas a partir do canto superior esquerdo da slide. Vários comentários podem ser adicionados ao mesmo slides chamando AddComment() - Mais uma vez.
Vários autores e comentários
Crie autores separados para cada revisor e adicione comentários independentes de diferentes autores ao mesmo slide:
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);Leia comentários de um arquivo existente
Iteração prs.CommentAuthors para acessar cada autor, e depois iterar author.Comments para ler o texto do comentário e a referência de diapositivas:
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}");
}
}Notas do orador
As notas do orador são armazenadas por diapositiva através de um NotesSlide Objeto. Acessá-lo através de slide.NotesSlideManager.
Adicionar notas de orador a um slide
Chama-me . slide.NotesSlideManager.AddNotesSlide() para criar um slide de notas, em seguida, configurar o texto no notes.NotesTextFrame:
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);Exemplo de notas mais simples
A chamada para a AddNotesSlide() funciona da mesma forma, independentemente de quais formas estão no slide adicionar uma forma e criar as notas:
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);Verifique se um slide de notas já existe
NotesSlideManager.NotesSlide Renda de rendimentos null se ainda não tiver sido criado nenhum diapositivo de notas:
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");
}
}Adicionar notas a vários slides
Iteração prs.Slides E chama-me. AddNotesSlide() Em cada diapositiva, anexar uma nota do orador a partir de um conjunto de linhas de texto preparadas:
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);