Arbejde med kommentarer og talernoter — Aspose.Slides FOSS for Python

Aspose.Slides FOSS for Python supports two types of annotations: trådet slide-kommentarer (synlig i gennemgangstilstand) og talerens noter (synlig i Præsentationsvisning og notepanelet).


CI/CD: Tilføj dotnet add package Aspose.Slides.Foss til din CI‑pipelines afhængighedstrin, eller medtag pakke-referencen i din .csproj‑fil. Der kræves ingen yderligere opsætning.

Kommentarer er knyttet til et dias og tilknyttet en forfatter. Den prs.comment_authors samling administrerer alle forfattere; hver forfatter har en comments samling til at tilføje og læse kommentarer.

Tilføj en kommentar

from aspose.slides_foss.drawing import PointF
from datetime import datetime
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat

with slides.Presentation() as prs:
    # Create a comment author with initials
    author = prs.comment_authors.add_author("Jane Smith", "JS")

    slide = prs.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.0, 2.0),
        datetime.now()
    )

    prs.save("commented.pptx", SaveFormat.PPTX)

Den PointF position er i tommer fra øverste venstre hjørne af diaset. Flere kommentarer kan tilføjes til det samme dias ved at kalde add_comment() igen.

Flere forfattere og kommentarer

from aspose.slides_foss.drawing import PointF
from datetime import datetime
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat

with slides.Presentation() as prs:
    author1 = prs.comment_authors.add_author("Alice Brown", "AB")
    author2 = prs.comment_authors.add_author("Bob Davis", "BD")

    slide = prs.slides[0]

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

    prs.save("multi-author.pptx", SaveFormat.PPTX)

Læs kommentarer fra en eksisterende fil

import aspose.slides_foss as slides

with slides.Presentation("commented.pptx") as prs:
    for author in prs.comment_authors:
        print(f"Author: {author.name} ({author.initials})")
        for comment in author.comments:
            print(f"  [{comment.slide.slide_number}] {comment.text}")

Talernoter

Talerens noter gemmes på dias-basis via en NotesSlide objekt. Få adgang til det gennem slide.notes_slide_manager.

Tilføj talernoter til et dias

import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat

with slides.Presentation() as prs:
    slide = prs.slides[0]
    slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 50, 400, 200)

    # Create the notes slide and set text
    notes = slide.notes_slide_manager.add_notes_slide()
    notes.notes_text_frame.text = "Mention the Q3 revenue increase on this slide. Emphasize the 24% growth."

    prs.save("with-notes.pptx", SaveFormat.PPTX)

NuGet downloader og installerer pakken sammen med dens afhængigheder. Ingen efter‑installationskonfiguration er nødvendig.

from aspose.slides_foss import ShapeType
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat

with slides.Presentation() as prs:
    slide = prs.slides[0]
    slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 100, 100, 500, 250).add_text_frame("Main Content")

    notes = slide.notes_slide_manager.add_notes_slide()
    notes.notes_text_frame.text = "These are the speaker notes for this slide."

    prs.save("notes.pptx", SaveFormat.PPTX)

Kontroller om et notatdias allerede findes

notes_slide_manager.notes_slide returnerer None hvis der endnu ikke er oprettet et notat-dias:

import aspose.slides_foss as slides

with slides.Presentation("existing.pptx") as prs:
    for i, slide in enumerate(prs.slides):
        existing_notes = slide.notes_slide_manager.notes_slide
        if existing_notes:
            text = existing_notes.notes_text_frame.text
            print(f"Slide {i + 1} notes: {text[:60]}...")
        else:
            print(f"Slide {i + 1}: no notes")

Højreklik på dit projekt i Solution Explorer og vælg Manage NuGet Packages.

from aspose.slides_foss import ShapeType
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat

note_texts = [
    "Opening remarks: introduce the agenda.",
    "Key metrics: emphasize Q4 results.",
    "Closing: call to action.",
]

with slides.Presentation() as prs:
    # Add slides 2 and 3
    layout = prs.slides[0].layout_slide
    prs.slides.add_empty_slide(layout)
    prs.slides.add_empty_slide(layout)

    for i, slide in enumerate(prs.slides):
        slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 600, 300).add_text_frame(f"Slide {i + 1}")
        n = slide.notes_slide_manager.add_notes_slide()
        n.notes_text_frame.text = note_texts[i]

    prs.save("all-notes.pptx", SaveFormat.PPTX)

Se også

 Dansk