Trabalhar com comentários e notas do orador Aspose.Slides FOSS para Python
Este guia mostra como adicionar e ler comentários com thread e notas de orador em apresentações PPTX usando Aspose.Slides FOSS para Python. Dois tipos de anotação são suportados: comentários de diapositivas com rosca (visível no modo de revisão) e notas do orador (visível na Vista do apresentador e no painel Notas).
Comentários com tópicos
Os comentários estão anexados a um diapositivo e associados com o autor. prs.comment_authors A colecção gerencia todos os autores; cada autor tem um comments coleção para adicionar e ler comentários.
Adicionar um Comentário
Chama-me . prs.comment_authors.add_author() para criar um autor, em seguida, chamar author.comments.add_comment() com o diapositivo, texto, posição e marca de hora:
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)A Comissão PointF A posição é em polegadas a partir do canto superior esquerdo da slide. Vários comentários podem ser adicionados ao mesmo slides chamando add_comment() - Mais uma vez.
Vários autores e comentários
Crie autores separados para cada revisor e adicione comentários independentes de diferentes autores ao mesmo slide:
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)Leia comentários de um arquivo existente
Iteração prs.comment_authors para acessar cada autor, e depois iterar author.comments para ler o texto do comentário e a referência de diapositivas:
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}")Notas do orador
As notas do orador são armazenadas por diapositiva através de um NotesSlide Objeto. Acessá-lo através de slide.notes_slide_manager.
Adicionar notas de orador a um slide
Chama-me . slide.notes_slide_manager.add_notes_slide() para criar um slide de notas, em seguida, configurar o texto no notes.notes_text_frame:
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)Exemplo de notas mais simples
A chamada para a add_notes_slide() funciona da mesma forma, independentemente de quais formas estão no slide adicionar uma forma e criar as notas:
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)Verifique se um slide de notas já existe
notes_slide_manager.notes_slide Renda de rendimentos None se ainda não tiver sido criado nenhum diapositivo de notas:
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")Adicionar notas a vários slides
Iteração prs.slides E chama-me. add_notes_slide() Em cada diapositiva, anexar uma nota do orador a partir de um conjunto de linhas de texto preparadas:
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)