Изменить размер слайдов презентации в C++

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

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

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

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

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

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

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

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

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

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

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

auto pres = System::MakeObject<Presentation>(u"pres-4x3-aspect-ratio.pptx");
pres->get_SlideSize()->SetSize(SlideSizeType::OnScreen16x9, SlideSizeScaleType::DoNotScale);
pres->Save(u"pres-4x3-aspect-ratio.pptx", SaveFormat::Pptx);

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

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

Этот пример кода показывает, как использовать Aspose.Slides for C++ для указания пользовательского размера слайда для презентации на C++:

auto pres = System::MakeObject<Presentation>(u"pres.pptx");
// Размер бумаги A4
pres->get_SlideSize()->SetSize(780.0f, 540.0f, SlideSizeScaleType::DoNotScale);
pres->Save(u"pres-a4-slide-size.pptx", SaveFormat::Pptx);

Обрабатывать содержимое слайда после изменения размера

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

В зависимости от того, что вы собираетесь сделать или достичь, вы можете использовать любую из этих настроек:

  • DoNotScale

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

  • EnsureFit

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

  • Maximize

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

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

auto pres = System::MakeObject<Presentation>(u"pres.pptx");
pres->get_SlideSize()->SetSize(SlideSizeType::Ledger, SlideSizeScaleType::Maximize);

FAQ

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

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

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

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

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

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

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

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