Доступ к слайду в презентации
Aspose.Slides позволяет вам получить доступ к слайдам двумя способами: по индексу и по ID.
Доступ к слайду по индексу
Все слайды в презентации располагаются по порядку, начиная с 0. Первый слайд доступен по индексу 0; второй слайд — по индексу 1; и так далее.
Класс Presentation, представляющий файл презентации, предоставляет все слайды в виде коллекции ISlideCollection (коллекция объектов ISlide). Этот код на Java показывает, как получить доступ к слайду по его индексу:
// Создает объект Presentation, который представляет файл презентации
Presentation pres = new Presentation("demo.pptx");
try {
// Получает слайд по индексу слайда
ISlide slide = pres.getSlides().get_Item(0);
} finally {
pres.dispose();
}
Доступ к слайду по ID
Каждый слайд в презентации имеет уникальный ID, связанный с ним. Вы можете использовать метод getSlideById (предоставленный классом Presentation), чтобы обратиться к этому ID. Этот код на Java показывает, как предоставить действительный ID слайда и получить доступ к этому слайду через метод getSlideById:
// Создает объект Presentation, который представляет файл презентации
Presentation pres = new Presentation("demo.pptx");
try {
// Получает ID слайда
int id = (int) pres.getSlides().get_Item(0).getSlideId();
// Получает доступ к слайду по его ID
IBaseSlide slide = pres.getSlideById(id);
} finally {
pres.dispose();
}
Изменение позиции слайда
Aspose.Slides позволяет вам изменить позицию слайда. Например, вы можете указать, чтобы первый слайд стал вторым.
- Создайте экземпляр класса Presentation.
- Получите ссылку на слайд (позицию которого вы хотите изменить) по его индексу.
- Установите новую позицию для слайда через свойство setSlideNumber.
- Сохраните измененную презентацию.
Этот код на Java демонстрирует операцию, в которой слайд в позиции 1 перемещается в позицию 2:
// Создает объект Presentation, который представляет файл презентации
Presentation pres = new Presentation("Presentation.pptx");
try {
// Получает слайд, позиция которого будет изменена
ISlide sld = pres.getSlides().get_Item(0);
// Устанавливает новую позицию для слайда
sld.setSlideNumber(2);
// Сохраняет измененную презентацию
pres.save("helloworld_Pos.pptx", SaveFormat.Pptx);
} finally {
pres.dispose();
}
Первый слайд стал вторым; второй слайд стал первым. При изменении позиции слайда другие слайды автоматически подстраиваются.
Установка номера слайда
Используя свойство setFirstSlideNumber (предоставленное классом Presentation), вы можете указать новый номер для первого слайда в презентации. Эта операция вызывает перерасчет других номеров слайдов.
- Создайте экземпляр класса Presentation.
- Получите номер слайда.
- Установите номер слайда.
- Сохраните измененную презентацию.
Этот код на Java демонстрирует операцию, в которой номер первого слайда устанавливается на 10:
// Создает объект Presentation, который представляет файл презентации
Presentation pres = new Presentation("HelloWorld.pptx");
try {
// Получает номер слайда
int firstSlideNumber = pres.getFirstSlideNumber();
// Устанавливает номер слайда
pres.setFirstSlideNumber(10);
// Сохраняет измененную презентацию
pres.save("Set_Slide_Number_out.pptx", SaveFormat.Pptx);
} finally {
pres.dispose();
}
Если вы предпочитаете пропустить первый слайд, вы можете начать нумерацию со второго слайда (и скрыть нумерацию для первого слайда) таким образом:
Presentation presentation = new Presentation();
try {
ILayoutSlide layoutSlide = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank);
presentation.getSlides().addEmptySlide(layoutSlide);
presentation.getSlides().addEmptySlide(layoutSlide);
presentation.getSlides().addEmptySlide(layoutSlide);
// Устанавливает номер для первого слайда презентации
presentation.setFirstSlideNumber(0);
// Показывает номера слайдов для всех слайдов
presentation.getHeaderFooterManager().setAllSlideNumbersVisibility(true);
// Скрывает номер слайда для первого слайда
presentation.getSlides().get_Item(0).getHeaderFooterManager().setSlideNumberVisibility(false);
// Сохраняет измененную презентацию
presentation.save("output.pptx", SaveFormat.Pptx);
} finally {
if (presentation != null) presentation.dispose();
}