Kā pievienot komentārus PowerPoint programmā .NET

Kā pievienot komentārus PowerPoint programmā .NET

Aspose.Slides FOSS for .NET atbalsta divas anotācijas mehānismus:

  • Vītnveida komentāri: pievienoti slaidam konkrētā pozīcijā, redzami PowerPoint pārskata panelī
  • Runas piezīmes: katram slaidam paredzēts teksts, kas redzams Prezentētāja skatā un Piezīmju panelī

Priekšnosacījumi

dotnet add package Aspose.Slides.Foss

Pievienot komentāru

Komentāri pieder author objektam. Vispirms izveidojiet author, pēc tam pievienojiet komentārus caur author.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 name and initials
var author = prs.CommentAuthors.AddAuthor("Jane Smith", "JS");

var slide = prs.Slides[0];

// Add a comment at (2.0, 2.0) inches from the slide top-left corner
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 koordinātes ir collas no slaida augšējā kreisā stūra. Vairāki izsaukumi uz AddComment() izveido pavediena komentāru ķēdi zem tā paša autora.


Vairāki autori un komentāri

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: needs revision",
    slide, new PointF(1.0f, 1.0f), DateTime.Now
);
author2.Comments.AddComment(
    "Approved after changes",
    slide, new PointF(3.0f, 1.0f), DateTime.Now
);

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

Lasīt komentārus no esoša faila

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($"  Slide: {comment.Text}");
    }
}

Pievienot runas piezīmes slaidam

Runas piezīmes tiek pievienotas, izmantojot slide.NotesSlideManager:

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, 600, 300
).AddTextFrame("Main slide content");

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

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

Pievienot piezīmes vairākiem slaidiem

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

string[] noteTexts = {
    "Opening: introduce the agenda and set expectations.",
    "Key metrics: emphasize Q4 results and growth trajectory.",
    "Closing: summarize and call to action.",
};

using var prs = new Presentation();
var layout = prs.Slides[0].LayoutSlide;
prs.Slides.AddEmptySlide(layout);
prs.Slides.AddEmptySlide(layout);

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

    var n = slide.NotesSlideManager.AddNotesSlide();
    n.NotesTextFrame.Text = noteTexts[i];
}

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

Pārbaudīt, vai piezīmes jau pastāv

NotesSlideManager.NotesSlide atgriež null, ja nav izveidota piezīmju slaids:

using Aspose.Slides.Foss;

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

Skatīt arī

 Latviešu