Применение 3D-эффектов в PowerPoint с помощью Java

3D-эффекты в PowerPoint используются для того, чтобы сделать презентации более привлекательными и привлечь внимание пользователей. Поэтому вы можете столкнуться с необходимостью программно добавлять 3D-объекты в презентации. В этой статье вы узнаете, как создавать 3D-эффекты в PowerPoint PPT или PPTX на Java. Мы покажем вам, как создавать 3D-текст и фигуры и применять 3D-эффекты к изображениям.

Java API для применения 3D-эффектов в PowerPoint PPT

Aspose.Slides for Java — это мощный API, инкапсулирующий широкий спектр функций управления презентациями. Используя API, вы можете создавать интерактивные презентации и беспрепятственно манипулировать существующими файлами PPT/PPTX. Для создания 3D-эффектов в презентациях PowerPoint мы будем использовать этот API.

Вы можете либо скачать JAR API, либо установить его, используя следующие конфигурации Maven.

Репозиторий:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>

Зависимость:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-slides</artifactId>
    <version>22.1</version>
    <classifier>jdk16</classifier>
</dependency>

Создайте 3D-текст в PowerPoint на Java

Ниже приведены шаги для создания фрагмента 3D-текста в PowerPoint PPT с использованием Java.

  • Сначала создайте новый PPT или загрузите существующий с помощью класса Presentation.
  • Затем добавьте новый прямоугольник с помощью метода addAutoShape().
  • Задайте свойства фигуры, такие как тип заливки, текст и т. д.
  • Получить ссылку на текст внутри формы в объект Partion.
  • Примените форматирование к текстовой части.
  • Получить ссылку на внутреннюю форму TextFrame.
  • Примените 3D-эффекты, используя IThreeDFormat, возвращаемый методом TextFrame.getTextFrameFormat().getThreeDFormat().
  • Наконец, сохраните презентацию, используя метод Presentation.save(String, SaveFormat).

В следующем примере кода показано, как создать трехмерный текст в PowerPoint PPT на Java.

// Создать презентацию
Presentation pres = new Presentation();
try {
    // Добавить форму прямоугольника
    IAutoShape shape = pres.getSlides().get_Item(0).getShapes().addAutoShape(ShapeType.Rectangle, 200, 150, 200, 200);

    // Установить текст
    shape.getFillFormat().setFillType(FillType.NoFill);
    shape.getLineFormat().getFillFormat().setFillType(FillType.NoFill);
    shape.getTextFrame().setText("3D Text");

    // Добавьте текстовую часть и задайте ее свойства
    Portion portion = (Portion)shape.getTextFrame().getParagraphs().get_Item(0).getPortions().get_Item(0);
    portion.getPortionFormat().getFillFormat().setFillType(FillType.Pattern);
    portion.getPortionFormat().getFillFormat().getPatternFormat().getForeColor().setColor(new Color(255, 140, 0));
    portion.getPortionFormat().getFillFormat().getPatternFormat().getBackColor().setColor(Color.WHITE);
    portion.getPortionFormat().getFillFormat().getPatternFormat().setPatternStyle(PatternStyle.LargeGrid);

    // Установить размер шрифта текста фигуры
    shape.getTextFrame().getParagraphs().get_Item(0).getParagraphFormat().getDefaultPortionFormat().setFontHeight(128);

    // Получить текстовую рамку
    ITextFrame textFrame = shape.getTextFrame();

    // Настройте эффект преобразования WordArt «Арка вверх»
    textFrame.getTextFrameFormat().setTransform(TextShapeType.ArchUp);

    // Применение 3D-эффектов
    textFrame.getTextFrameFormat().getThreeDFormat().setExtrusionHeight(3.5f);
    textFrame.getTextFrameFormat().getThreeDFormat().setDepth(3);
    textFrame.getTextFrameFormat().getThreeDFormat().setMaterial(MaterialPresetType.Plastic);
    textFrame.getTextFrameFormat().getThreeDFormat().getLightRig().setDirection(LightingDirection.Top);
    textFrame.getTextFrameFormat().getThreeDFormat().getLightRig().setLightType(LightRigPresetType.Balanced);
    textFrame.getTextFrameFormat().getThreeDFormat().getLightRig().setRotation(0, 0, 40);		 
    textFrame.getTextFrameFormat().getThreeDFormat().getCamera().setCameraType(CameraPresetType.PerspectiveContrastingRightFacing);

    // Сохранить презентацию
    pres.save("3D-Text.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

На следующем снимке экрана показан вывод приведенного выше примера кода.

Создайте 3D-текст в PowerPoint на Java

Создание 3D-фигуры в PowerPoint на Java

Подобно тексту, вы можете применять 3D-эффекты к фигурам в презентациях PowerPoint. Ниже приведены шаги по созданию 3D-фигуры в PowerPoint PPT с использованием Java.

В следующем примере кода показано, как применять 3D-эффекты к фигурам в PowerPoint с помощью Java.

// Создать презентацию
Presentation pres = new Presentation();
try {
    // Добавить форму прямоугольника
    IAutoShape shape = pres.getSlides().get_Item(0).getShapes().addAutoShape(ShapeType.Rectangle, 200, 150, 200, 200);

    // Установить текст для фигуры
    shape.getTextFrame().setText("3D");
    shape.getTextFrame().getParagraphs().get_Item(0).getParagraphFormat().getDefaultPortionFormat().setFontHeight(64);

    // Применение 3D-эффектов
    shape.getThreeDFormat().getCamera().setCameraType(CameraPresetType.OrthographicFront);
    shape.getThreeDFormat().getCamera().setRotation(20, 30, 40);
    shape.getThreeDFormat().getLightRig().setLightType(LightRigPresetType.Flat);
    shape.getThreeDFormat().getLightRig().setDirection(LightingDirection.Top);
    shape.getThreeDFormat().setMaterial(MaterialPresetType.Flat);
    shape.getThreeDFormat().setExtrusionHeight(100);
    shape.getThreeDFormat().getExtrusionColor().setColor(Color.BLUE);

    // Сохранить презентацию
    pres.save("3D-Shape.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Ниже приведена трехмерная форма, которую мы получаем после выполнения этого кода.

Создание 3D-фигуры в PowerPoint на Java

Создание градиента для 3D-фигур

Вы также можете применить эффекты градиента к фигурам, следуя инструкциям ниже.

В следующем примере кода показано, как применить эффекты градиента к фигурам в PowerPoint PPT.

// Создать презентацию
Presentation pres = new Presentation();
try {
    // Добавить форму прямоугольника
    IAutoShape shape = pres.getSlides().get_Item(0).getShapes().addAutoShape(ShapeType.Rectangle, 200, 150, 200, 200);

    // Установить текст для формы
    shape.getTextFrame().setText("3D");
    shape.getTextFrame().getParagraphs().get_Item(0).getParagraphFormat().getDefaultPortionFormat().setFontHeight(64);

    shape.getFillFormat().setFillType(FillType.Gradient);
    shape.getFillFormat().getGradientFormat().getGradientStops().add(0, Color.BLUE);
    shape.getFillFormat().getGradientFormat().getGradientStops().add(100, Color.MAGENTA);

    // Применение 3D-эффектов
    shape.getThreeDFormat().getCamera().setCameraType(CameraPresetType.OrthographicFront);
    shape.getThreeDFormat().getCamera().setRotation(10, 20, 30);
    shape.getThreeDFormat().getLightRig().setLightType(LightRigPresetType.Flat);
    shape.getThreeDFormat().getLightRig().setDirection(LightingDirection.Top);
    shape.getThreeDFormat().setExtrusionHeight(150);
    shape.getThreeDFormat().getExtrusionColor().setColor(new Color(255, 140, 0));

    // Сохранить презентацию
    pres.save("3D-Shape-Gradient.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Ниже представлена 3D-форма после применения эффекта градиента.

Создайте градиент для 3D-фигур в PPT на Java

Применение 3D-эффектов к изображению в PowerPoint на Java

Aspose.Slides for Java также позволяет применять к изображению 3D-эффекты. Ниже приведены шаги для выполнения этой операции в Java.

Ниже приведены шаги для применения 3D-эффектов к изображению в формате PPT с использованием Java.

// Создать презентацию
Presentation pres = new Presentation();
try {
    // Добавить форму прямоугольника
    IAutoShape shape = pres.getSlides().get_Item(0).getShapes().addAutoShape(ShapeType.Rectangle, 200, 150, 200, 200);

    // Установить изображение для формы
    shape.getFillFormat().setFillType(FillType.Picture);
    IPPImage picture = null;
    try {
        picture = pres.getImages().addImage(Files.readAllBytes(Paths.get("tiger.bmp")));
    } catch (IOException e) { }
    shape.getFillFormat().getPictureFillFormat().getPicture().setImage(picture);
    shape.getFillFormat().getPictureFillFormat().setPictureFillMode(PictureFillMode.Stretch);

    // Применение 3D-эффектов
    shape.getThreeDFormat().getCamera().setCameraType(CameraPresetType.OrthographicFront);
    shape.getThreeDFormat().getCamera().setRotation(10, 20, 30);
    shape.getThreeDFormat().getLightRig().setLightType(LightRigPresetType.Flat);
    shape.getThreeDFormat().getLightRig().setDirection(LightingDirection.Top);
    shape.getThreeDFormat().setExtrusionHeight(150);
    shape.getThreeDFormat().getExtrusionColor().setColor(Color.GRAY);

    // Сохранить презентацию
    pres.save("3D-Image.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Ниже приведено результирующее изображение, которое мы получаем после применения 3D-эффектов.

Применение 3D-эффектов к изображению в PowerPoint на Java

Получить бесплатную лицензию

Вы можете получить бесплатную временную лицензию на использование Aspose.Slides for Java без ограничений на пробную версию.

Вывод

В этой статье вы узнали, как применять 3D-эффекты в PowerPoint PPT/PPTX с помощью Java. С помощью примеров кода мы продемонстрировали, как создавать трехмерный текст или фигуры и применять трехмерные эффекты к изображениям в презентациях PPT или PPTX. Вы можете посетить документацию, чтобы узнать больше об Aspose.Slides for Java. Кроме того, вы можете размещать свои вопросы или запросы на нашем форуме.

Смотрите также