Управление заметками презентации в Python через Java

Обзор

Aspose.Slides поддерживает удаление слайдов с заметками из презентации. В этой статье рассматривается данная возможность, включая способы удаления заметок и применения стиля к слайдам заметок в презентации. Aspose.Slides позволяет удалять заметки с любого слайда и применять оформление к существующим заметкам. Разработчики могут удалять заметки следующими способами:

  • Удалить заметки с конкретного слайда в презентации.
  • Удалить заметки со всех слайдов в презентации.

Удаление заметок со слайда

Заметки с конкретного слайда можно удалить, как показано в примере ниже:

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import Presentation, SaveFormat

# Создайте объект Presentation, который представляет файл презентации.
presentation = Presentation("presWithNotes.pptx")
try:
    # Удалить заметки с первого слайда.
    notes_manager = presentation.getSlides().get_Item(0).getNotesSlideManager()
    notes_manager.removeNotesSlide()

    # Сохранить презентацию на диск.
    presentation.save("test.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

Удаление заметок из презентации

Заметки со всех слайдов в презентации можно удалить, как показано в примере ниже:

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import Presentation, SaveFormat

# Создайте объект Presentation, который представляет файл презентации.
presentation = Presentation("presWithNotes.pptx")
try:
    # Удалить заметки со всех слайдов.
    for i in range(presentation.getSlides().size()):
        notes_manager = presentation.getSlides().get_Item(i).getNotesSlideManager()
        notes_manager.removeNotesSlide()

    # Сохранить презентацию на диск.
    presentation.save("test.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

Добавление стиля заметок

Метод getNotesStyle класса MasterNotesSlide предоставляет доступ к стилю текста заметок. Реализация демонстрируется в примере ниже.

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import BulletType, Presentation, SaveFormat

# Создайте объект Presentation, представляющий файл презентации.
presentation = Presentation("demo.pptx")
try:
    notes_master = presentation.getMasterNotesSlideManager().getMasterNotesSlide()

    if notes_master is not None:
        # Получите стиль текста главного слайда заметок.
        notes_style = notes_master.getNotesStyle()

        # Установите символьные маркеры для абзацев первого уровня.
        paragraph_format = notes_style.getLevel(0)
        paragraph_format.getBullet().setType(BulletType.Symbol)

    presentation.save("NotesSlideWithNotesStyle.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

Часто задаваемые вопросы

Какой объект API предоставляет доступ к заметкам конкретного слайда?

Заметками управляет менеджер заметок слайда: у слайда есть NotesSlideManager и метод getNotesSlide, который возвращает объект заметок или None, если заметок нет.

Есть ли различия в поддержке заметок в разных версиях PowerPoint, с которыми работает библиотека?

Библиотека ориентирована на широкий спектр форматов Microsoft PowerPoint (97 и новее) и ODP; заметки поддерживаются в этих форматах без зависимости от установленной копии PowerPoint.