עבודה עם תגובות והערות מציג — Aspose.Slides FOSS for Python

Aspose.Slides FOSS for Python supports two types of annotations: הערות משורשרות של שקופיות (גלוי במצב סקירה) ו הערות מציג (גלוי בתצוגת מציג ובחלונית ההערות).


תגובות משורשרות

ההערות מצורפות לשקופית ומשויכות למחבר. ה prs.comment_authors האוסף מנהל את כל המחברים; לכל מחבר יש comments אוסף להוספה וקריאת הערות.

הוסף תגובה

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)

ה PointF המיקום נמדד באינצ’ים מהפינה העליונה-שמאלית של השקופית. ניתן להוסיף מספר הערות לאותה שקופית על‑ידי קריאה ל add_comment() שוב.

מחברים ותגובות מרובים

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)

קרא תגובות מקובץ קיים

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}")

הערות מציג

הערות מציג נשמרות על בסיס לכל שקופית באמצעות NotesSlide אובייקט. גש אליו דרך slide.notes_slide_manager.

Aspose.Slides FOSS עבור .NET (Aspose.Slides.Foss) הוא תוכנה בקוד פתוח המשוחררת תחת רישיון MIT. ניתן להשתמש בה במוצרים מסחריים, פרויקטים בקוד פתוח, כלים פנימיים ומחקר ללא הגבלה. אין צורך במפתח רישיון, מפתח API, אסימון מדוד, או ברישום.

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)

דוגמה פשוטה להערות

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)

בדוק אם שקופית הערות כבר קיימת

notes_slide_manager.notes_slide מחזיר None אם עדיין לא נוצרה שקופית הערות:

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")

הוסף הערות למספר שקופיות

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)

ראה גם

 עברית