Εργασία με σχόλια και σημειώσεις ομιλητών Aspose.Slides FOSS για C++

Aspose.Slides FOSS for C++ supports two types of annotations: Σκηνές Slide Comments (που είναι διαθέσιμο σε λειτουργία αναθεώρησης) και Μιλάμε για τα σημειώματα (Εμφάνιση στο Πίνακας και το Σημείωμα).


Κριτικές Comments

Οι σχολιασμοί είναι συνδεδεμένοι με ένα σάιτ και σχετίζονται με έναν συγγραφέα. pres.comment_authors() Η συλλογή διαχειρίζεται όλους τους συγγραφείς, κάθε συγγραφή έχει ένα comments() Συλλογή για προσθήκη και ανάγνωση σχολίων.

Προσθέστε ένα σχόλιο

#include <Aspose/Slides/Foss/comment.h>
#include <Aspose/Slides/Foss/comment_author.h>
#include <Aspose/Slides/Foss/comment_author_collection.h>
#include <Aspose/Slides/Foss/comment_collection.h>
#include <Aspose/Slides/Foss/drawing/point_f.h>
#include <Aspose/Slides/Foss/export/save_format.h>
#include <Aspose/Slides/Foss/presentation.h>
#include <Aspose/Slides/Foss/slide.h>
#include <Aspose/Slides/Foss/slide_collection.h>

#include <chrono>

using namespace Aspose::Slides::Foss;
using namespace Aspose::Slides::Foss::Drawing;

int main() {
    Presentation pres;

    // Create a comment author with initials
    auto& author = pres.comment_authors().add_author("Jane Smith", "JS");

    auto& slide = pres.slides()[0];

    // Add a comment at position (2.0, 2.0) inches from the slide top-left
    author.comments().add_comment(
        "Please review the figures on this slide",
        slide,
        PointF(2.0f, 2.0f),
        std::chrono::system_clock::now()
    );

    pres.save("commented.pptx", SaveFormat::PPTX);
    return 0;
}

Η PointF θέση είναι σε δισκία από την κορυφή αριστερή γωνία του σκιού.Περισσότερα σχόλια μπορούν να προστιθέσουν στο ίδιο σκιαστή με το κάλεσμα add_comment() και πάλι.

Πολλοί συγγραφείς και σχόλια

#include <Aspose/Slides/Foss/comment_author.h>
#include <Aspose/Slides/Foss/comment_author_collection.h>
#include <Aspose/Slides/Foss/comment_collection.h>
#include <Aspose/Slides/Foss/drawing/point_f.h>
#include <Aspose/Slides/Foss/export/save_format.h>
#include <Aspose/Slides/Foss/presentation.h>
#include <Aspose/Slides/Foss/slide.h>
#include <Aspose/Slides/Foss/slide_collection.h>

#include <chrono>



int main() {
    Presentation pres;
    auto& author1 = pres.comment_authors().add_author("Alice Brown", "AB");
    auto& author2 = pres.comment_authors().add_author("Bob Davis", "BD");

    auto& slide = pres.slides()[0];
    auto now = std::chrono::system_clock::now();

    author1.comments().add_comment("Initial draft", slide, PointF(1.0f, 1.0f), now);
    author2.comments().add_comment("Approved", slide, PointF(3.0f, 1.0f), now);

    pres.save("multi-author.pptx", SaveFormat::PPTX);
    return 0;
}

Διαβάστε σχόλια από ένα υπάρχον αρχείο

#include <Aspose/Slides/Foss/comment_author.h>
#include <Aspose/Slides/Foss/comment_author_collection.h>
#include <Aspose/Slides/Foss/comment.h>
#include <Aspose/Slides/Foss/comment_collection.h>
#include <Aspose/Slides/Foss/presentation.h>

#include <iostream>

using namespace Aspose::Slides::Foss;

int main() {
    Presentation pres("commented.pptx");
    for (std::size_t i = 0; i < pres.comment_authors().size(); ++i) {
        auto& author = pres.comment_authors()[i];
        std::cout << "Author: " << author.name() << " (" << author.initials() << ")" << std::endl;
        for (std::size_t j = 0; j < author.comments().size(); ++j) {
            auto& comment = author.comments()[j];
            std::cout << "  " << comment.text() << std::endl;
        }
    }
    return 0;
}

Ομιλητής σημειώσεις

Οι σημειώσεις ομιλητών αποθηκεύονται σε ανά-σύνδεση μέσω ενός NotesSlide Ετικέτα: Διαθέσιμο μέσω slide.notes_slide_manager().

Προσθήκη σημειώσεων ομιλητών σε ένα Slide

#include <Aspose/Slides/Foss/auto_shape.h>
#include <Aspose/Slides/Foss/export/save_format.h>
#include <Aspose/Slides/Foss/i_notes_slide.h>
#include <Aspose/Slides/Foss/i_notes_slide_manager.h>
#include <Aspose/Slides/Foss/presentation.h>
#include <Aspose/Slides/Foss/shape_collection.h>
#include <Aspose/Slides/Foss/shape_type.h>
#include <Aspose/Slides/Foss/slide.h>
#include <Aspose/Slides/Foss/slide_collection.h>
#include <Aspose/Slides/Foss/text_frame.h>



int main() {
    Presentation pres;
    auto& slide = pres.slides()[0];
    slide.shapes().add_auto_shape(ShapeType::RECTANGLE, 50, 50, 400, 200);

    // Create the notes slide and set text
    auto* notes = slide.notes_slide_manager().add_notes_slide();
    notes->notes_text_frame().set_text(
        "Mention the Q3 revenue increase on this slide. Emphasize the 24% growth.");

    pres.save("with-notes.pptx", SaveFormat::PPTX);
    return 0;
}

Δείτε αν υπάρχει ήδη ένα σάιτ σημειώσεων

notes_slide_manager().notes_slide() Επιστροφή nullptr Αν δεν έχει δημιουργηθεί ακόμα κανένα σημειωματάριο:

#include <Aspose/Slides/Foss/i_notes_slide.h>
#include <Aspose/Slides/Foss/i_notes_slide_manager.h>
#include <Aspose/Slides/Foss/presentation.h>
#include <Aspose/Slides/Foss/slide.h>
#include <Aspose/Slides/Foss/slide_collection.h>
#include <Aspose/Slides/Foss/text_frame.h>

#include <iostream>



int main() {
    Presentation pres("existing.pptx");
    for (std::size_t i = 0; i < pres.slides().size(); ++i) {
        auto* existing_notes = pres.slides()[i].notes_slide_manager().notes_slide();
        if (existing_notes) {
            auto text = existing_notes->notes_text_frame().text();
            std::cout << "Slide " << (i + 1) << " notes: " << text.substr(0, 60) << "..." << std::endl;
        } else {
            std::cout << "Slide " << (i + 1) << ": no notes" << std::endl;
        }
    }
    return 0;
}

Δείτε επίσης

 Ελληνικά