Изменение размера слайдов в презентациях с помощью Python

Размеры слайдов в презентациях PowerPoint

Aspose.Slides for Python via .NET позволяет изменить размер слайда или соотношение сторон в презентациях PowerPoint. Если вы планируете печатать презентацию или показывать её слайды на экране, необходимо обратить внимание на размер слайда или соотношение сторон.

Это самые распространённые размеры слайдов и соотношения сторон:

  • Стандартный (соотношение 4:3)

    Если ваша презентация будет отображаться на относительно старых устройствах или экранах, возможно, стоит использовать эту настройку.

  • Широкоформатный (соотношение 16:9)

    Если ваша презентация будет показываться на современных проекторах или дисплеях, вероятно, вам подойдёт эта настройка.

Вы не можете использовать несколько настроек размера слайда в одной презентации. Когда вы выбираете размер слайда для презентации, эта настройка применяется ко всем слайдам в ней.

Если вы хотите использовать специальный размер слайда для ваших презентаций, настоятельно рекомендуем сделать это на раннем этапе. Лучше всего указать желаемый размер слайда в самом начале, то есть при первоначальной настройке презентации — до добавления любого контента. Так вы избежите осложнений, возникающих из‑за (будущих) изменений размера слайдов.

Изменение размера слайда в презентациях

Этот пример кода показывает, как изменить размер слайда в презентации на Python с помощью Aspose.Slides:

import aspose.slides as slides

with slides.Presentation(path + "AccessSlides.pptx") as pres:
    pres.slide_size.set_size(slides.SlideSizeType.ON_SCREEN16X9, slides.SlideSizeScaleType.DO_NOT_SCALE)
    pres.save("pres-4x3-aspect-ratio.pptx", slides.export.SaveFormat.PPTX)

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

Если стандартные размеры (4:3 и 16:9) не подходят для вашей работы, вы можете задать конкретный или уникальный размер слайда. Например, если вы планируете печатать полноразмерные слайды из презентации на пользовательском макете страницы или отображать презентацию на определённых типах экранов, установка пользовательского размера будет вам полезна.

Этот пример кода демонстрирует, как с помощью Aspose.Slides for Python via .NET задать пользовательский размер слайда для презентации на Python:

import aspose.slides as slides

with slides.Presentation(path + "AccessSlides.pptx") as pres:
    pres.slide_size.set_size(780, 540, slides.SlideSizeScaleType.DO_NOT_SCALE) # Размер листа A4
    pres.save("pres-a4-slide-size.pptx", slides.export.SaveFormat.PPTX)

Решение проблем при изменении размера слайдов в презентациях

После изменения размера слайда в презентации содержимое слайдов (изображения или объекты и т.п.) может исказиться. По умолчанию объекты автоматически изменяются, чтобы соответствовать новому размеру слайда. Однако при изменении размера слайда вы можете указать настройку, определяющую, как Aspose.Slides будет обрабатывать содержимое слайдов.

В зависимости от ваших целей, вы можете использовать любую из следующих настройек:

  • DO_NOT_SCALE

    Если вы НЕ хотите, чтобы объекты на слайдах изменялись в размере, используйте эту настройку.

  • ENSURE_FIT

    Если вы хотите масштабировать до меньшего размера слайда и нуждаетесь, чтобы Aspose.Slides уменьшил объекты слайдов так, чтобы они все поместились (тем самым избегая потери контента), используйте эту настройку.

  • MAXIMIZE

    Если вы хотите масштабировать до большего размера слайда и нуждаетесь, чтобы Aspose.Slides увеличил объекты слайдов, сделав их пропорциональными новому размеру, используйте эту настройку.

Этот пример кода показывает, как использовать настройку MAXIMIZE при изменении размера слайда презентации:

import aspose.slides as slides

with slides.Presentation(path + "AccessSlides.pptx") as pres:
   pres.slide_size.set_size(slides.SlideSizeType.LEDGER, slides.SlideSizeScaleType.MAXIMIZE)

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

Можно ли задать пользовательский размер слайда в единицах, отличных от дюймов (например, в пунктах или миллиметрах)?

Да. Aspose.Slides использует пункты внутри, где 1 пункт = 1/72 дюйма. Вы можете преобразовать любую единицу (например, миллиметры или сантиметры) в пункты и использовать полученные значения для определения ширины и высоты слайда.

Будет ли очень большой пользовательский размер слайда влиять на производительность и использование памяти при рендеринге?

Да. Большие размеры слайда (в пунктах) в сочетании с высоким масштабом рендеринга приводят к увеличенному расходу памяти и более долгому времени обработки. Рекомендуется выбирать практичный размер слайда и увеличивать масштаб рендеринга только при необходимости для достижения требуемого качества вывода.

Можно ли определить один нестандартный размер слайда, а затем объединять слайды из презентаций с разными размерами?

Вы не можете merge presentations с разными размерами слайдов — сначала измените размер одной презентации, чтобы он соответствовал другой. При изменении размера слайда вы можете выбрать, как обрабатывать существующее содержимое, используя параметр SlideSizeScaleType. После согласования размеров можно объединять слайды, сохраняя форматирование.

Можно ли создавать миниатюры отдельных фигур или конкретных областей слайда, и будут ли они учитывать новый размер слайда?

Да. Aspose.Slides может генерировать миниатюры как для entire slides, так и для selected shapes. Полученные изображения отражают текущий размер слайда и его соотношение сторон, обеспечивая согласованное кадрирование и геометрию.