Εργασία με σχόλια και σημειώσεις ομιλητών Aspose.Slides FOSS για το .NET
Aspose.Slides FOSS for .NET supports two types of annotations: Σκηνές Slide Comments (που είναι διαθέσιμο σε λειτουργία αναθεώρησης) και Μιλάμε για τα σημειώματα (Εμφάνιση στο Πίνακας και το Σημείωμα).
Κριτικές Comments
Οι σχολιασμοί είναι συνδεδεμένοι με ένα σάιτ και σχετίζονται με έναν συγγραφέα. prs.CommentAuthors Η συλλογή διαχειρίζεται όλους τους συγγραφείς, κάθε συγγραφή έχει ένα Comments Συλλογή για προσθήκη και ανάγνωση σχολίων.
Προσθέστε ένα σχόλιο
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);Η PointF θέση είναι σε δισκία από την κορυφή αριστερή γωνία του σκιού.Περισσότερα σχόλια μπορούν να προστιθέσουν στο ίδιο σκιαστή με το κάλεσμα AddComment() και πάλι.
Πολλοί συγγραφείς και σχόλια
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);Διαβάστε σχόλια από ένα υπάρχον αρχείο
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}");
}
}Ομιλητής σημειώσεις
Οι σημειώσεις ομιλητών αποθηκεύονται σε ανά-σύνδεση μέσω ενός NotesSlide Ετικέτα: Διαθέσιμο μέσω slide.NotesSlideManager.
Προσθήκη σημειώσεων ομιλητών σε ένα 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);Απλό παράδειγμα σημειώσεων
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);Δείτε αν υπάρχει ήδη ένα σάιτ σημειώσεων
NotesSlideManager.NotesSlide Επιστροφή null Αν δεν έχει δημιουργηθεί ακόμα κανένα σημειωματάριο:
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");
}
}Προσθήκη σημειώσεων σε Multiple Slides
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);