Format Bentuk PowerPoint dalam Python via Java

Pendahuluan

Di PowerPoint, Anda dapat menambahkan bentuk ke slide. Karena bentuk terdiri dari garis, Anda dapat memformatnya dengan memodifikasi atau menerapkan efek pada outline mereka. Selain itu, Anda dapat memformat bentuk dengan menentukan pengaturan yang mengontrol bagaimana interior mereka diisi.

format-shape-powerpoint

Aspose.Slides for Python via Java menyediakan kelas dan metode yang memungkinkan Anda memformat bentuk menggunakan opsi yang sama tersedia di PowerPoint.

Format Garis

Dengan Aspose.Slides, Anda dapat menentukan gaya garis khusus untuk sebuah bentuk. Langkah-langkah berikut menggambarkan prosedurnya:

  1. Buat instance dari kelas Presentation.
  2. Dapatkan referensi ke slide berdasarkan indeksnya.
  3. Tambahkan sebuah AutoShape ke slide.
  4. Atur line style bentuk.
  5. Atur lebar garis.
  6. Atur dash style garis.
  7. Atur warna garis untuk bentuk.
  8. Simpan presentasi yang telah dimodifikasi sebagai file PPTX.

Kode berikut menunjukkan cara memformat sebuah AutoShape persegi panjang:

import jpype
import asposeslides

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

from asposeslides.api import FillType, LineDashStyle, LineStyle, Presentation, SaveFormat, ShapeType
from java.awt import Color

    # Instansiasi kelas Presentation yang mewakili file presentasi.
presentation = Presentation()
try:
    # Dapatkan slide pertama.
    slide = presentation.getSlides().get_Item(0)

    # Tambahkan auto shape tipe Rectangle.
    shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 150, 150, 75)

    # Atur warna isi untuk bentuk persegi panjang.
    shape.getFillFormat().setFillType(FillType.NoFill)

    # Terapkan pemformatan pada garis persegi panjang.
    shape.getLineFormat().setStyle(LineStyle.ThickThin)
    shape.getLineFormat().setWidth(7)
    shape.getLineFormat().setDashStyle(LineDashStyle.Dash)

    # Atur warna untuk garis persegi panjang.
    shape.getLineFormat().getFillFormat().setFillType(FillType.Solid)
    shape.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.BLUE)

    # Simpan file PPTX ke disk.
    presentation.save("formatted_lines.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

Hasilnya:

Garis yang diformat dalam presentasi

Terapkan Efek Sketsa pada Garis Bentuk

Efek sketsa membuat garis bentuk terlihat seperti digambar tangan. Gunakan Shape.getLineFormat untuk mengakses pengaturan garis, LineFormat.getSketchFormat untuk mengakses pengaturan sketsa, dan SketchFormat.setSketchType untuk memilih nilai dari enumerasi LineSketchType.

Kode Python berikut menunjukkan cara menerapkan efek LineSketchType.Curved, membaca nilai yang ditetapkan secara eksplisit, dan menghapus efek dengan LineSketchType.None_:

import jpype
import asposeslides

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

from asposeslides.api import LineSketchType, Presentation, ShapeType

presentation = Presentation()
try:
    slide = presentation.getSlides().get_Item(0)
    shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 200, 100)

    # Akses format garis bentuk dan format sketsanya.
    sketch_format = shape.getLineFormat().getSketchFormat()

    # Terapkan efek sketsa.
    sketch_format.setSketchType(LineSketchType.Curved)

    # Baca efek sketsa yang ditetapkan langsung pada bentuk.
    explicit_sketch_type = sketch_format.getSketchType()
    print(f"Explicit sketch type: {explicit_sketch_type}")

    # Hapus efek sketsa.
    sketch_format.setSketchType(LineSketchType.None_)
finally:
    presentation.dispose()

Nilai yang dikembalikan oleh SketchFormat.getSketchType mewakili pengaturan yang langsung ditetapkan pada bentuk. Jika pemformatan garis dapat diwarisi dari tema, master slide, atau layout slide, gunakan LineFormat.getEffective, akses LineFormatEffectiveData.getSketchFormat, dan baca SketchFormatEffectiveData.getSketchType. Nilai efektif mencerminkan pemformatan yang benar‑benar diterapkan setelah warisan diselesaikan:

import jpype
import asposeslides

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

from asposeslides.api import Presentation

presentation = Presentation("presentation.pptx")
try:
    shape = presentation.getSlides().get_Item(0).getShapes().get_Item(0)
    line_format = shape.getLineFormat()

    explicit_sketch_type = line_format.getSketchFormat().getSketchType()
    effective_line_format = line_format.getEffective()
    effective_sketch_type = effective_line_format.getSketchFormat().getSketchType()

    print(f"Explicit sketch type: {explicit_sketch_type}")
    print(f"Effective sketch type: {effective_sketch_type}")
finally:
    presentation.dispose()

Format Gaya Sambungan

Berikut tiga opsi tipe sambungan:

  • Round
  • Miter
  • Bevel

Secara default, ketika PowerPoint menggabungkan dua garis pada sudut (misalnya pada sudut bentuk), ia menggunakan pengaturan Round. Namun, jika Anda menggambar bentuk dengan sudut tajam, Anda mungkin lebih menyukai opsi Miter.

Gaya sambungan dalam presentasi

Kode Python berikut menunjukkan bagaimana tiga persegi panjang (seperti yang ditampilkan pada gambar di atas) dibuat menggunakan pengaturan tipe sambungan Miter, Bevel, dan Round:

import jpype
import asposeslides

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

from asposeslides.api import FillType, LineJoinStyle, Presentation, SaveFormat, ShapeType
from java.awt import Color

# Instansiasi kelas Presentation yang mewakili file presentasi.
presentation = Presentation()
try:
    # Dapatkan slide pertama.
    slide = presentation.getSlides().get_Item(0)

    # Tambah tiga auto shape tipe Rectangle.
    miter_shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 20, 20, 150, 75)
    bevel_shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 210, 20, 150, 75)
    round_shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 20, 135, 150, 75)

    # Atur warna isi untuk setiap bentuk persegi panjang.
    miter_shape.getFillFormat().setFillType(FillType.Solid)
    miter_shape.getFillFormat().getSolidFillColor().setColor(Color.BLACK)
    bevel_shape.getFillFormat().setFillType(FillType.Solid)
    bevel_shape.getFillFormat().getSolidFillColor().setColor(Color.BLACK)
    round_shape.getFillFormat().setFillType(FillType.Solid)
    round_shape.getFillFormat().getSolidFillColor().setColor(Color.BLACK)

    # Atur lebar garis.
    miter_shape.getLineFormat().setWidth(15)
    bevel_shape.getLineFormat().setWidth(15)
    round_shape.getLineFormat().setWidth(15)

    # Atur warna untuk garis setiap persegi panjang.
    miter_shape.getLineFormat().getFillFormat().setFillType(FillType.Solid)
    miter_shape.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.BLUE)
    bevel_shape.getLineFormat().getFillFormat().setFillType(FillType.Solid)
    bevel_shape.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.BLUE)
    round_shape.getLineFormat().getFillFormat().setFillType(FillType.Solid)
    round_shape.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.BLUE)

    # Atur gaya sambungan.
    miter_shape.getLineFormat().setJoinStyle(LineJoinStyle.Miter)
    bevel_shape.getLineFormat().setJoinStyle(LineJoinStyle.Bevel)
    round_shape.getLineFormat().setJoinStyle(LineJoinStyle.Round)

    # Tambahkan teks ke setiap persegi panjang.
    miter_shape.getTextFrame().setText("Miter Join Style")
    bevel_shape.getTextFrame().setText("Bevel Join Style")
    round_shape.getTextFrame().setText("Round Join Style")

    # Simpan file PPTX ke disk.
    presentation.save("join_styles.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

Isian Gradien

Di PowerPoint, Gradient Fill adalah opsi pemformatan yang memungkinkan Anda menerapkan perpaduan warna berkelanjutan pada sebuah bentuk. Misalnya, Anda dapat menerapkan dua atau lebih warna sehingga satu secara bertahap memudar menjadi warna lain.

Berikut cara menerapkan isian gradien pada sebuah bentuk menggunakan Aspose.Slides:

  1. Buat instance dari kelas Presentation.
  2. Dapatkan referensi ke slide berdasarkan indeksnya.
  3. Tambahkan sebuah AutoShape ke slide.
  4. Atur FillType bentuk menjadi Gradient.
  5. Tambahkan dua warna pilihan Anda dengan posisi yang ditentukan menggunakan metode addPresetColor pada koleksi gradient stop yang diekspos oleh kelas GradientFormat.
  6. Simpan presentasi yang telah dimodifikasi sebagai file PPTX.

Kode Python berikut menunjukkan cara menerapkan efek isian gradien pada sebuah elips:

import jpype
import asposeslides

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

from asposeslides.api import FillType, GradientDirection, GradientShape, Presentation, PresetColor, SaveFormat, ShapeType
from java.awt import Color

# Instansiasi kelas Presentation yang mewakili file presentasi.
presentation = Presentation()
try:
    # Dapatkan slide pertama.
    slide = presentation.getSlides().get_Item(0)

    # Tambah auto shape tipe Ellipse.
    shape = slide.getShapes().addAutoShape(ShapeType.Ellipse, 50, 50, 150, 75)

    # Terapkan pemformatan gradien pada elips.
    shape.getFillFormat().setFillType(FillType.Gradient)
    shape.getFillFormat().getGradientFormat().setGradientShape(GradientShape.Linear)

    # Atur arah gradien.
    shape.getFillFormat().getGradientFormat().setGradientDirection(GradientDirection.FromCorner2)

    # Tambahkan dua gradient stop.
    shape.getFillFormat().getGradientFormat().getGradientStops().addPresetColor(1.0, PresetColor.Purple)
    shape.getFillFormat().getGradientFormat().getGradientStops().addPresetColor(0.0, PresetColor.Red)

    # Simpan file PPTX ke disk.
    presentation.save("gradient_fill.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

Hasilnya:

Elips dengan isian gradien

Isian Pola

Di PowerPoint, Pattern Fill adalah opsi pemformatan yang memungkinkan Anda menerapkan desain dua warna—seperti titik, garis, hatching silang, atau cek—pada sebuah bentuk. Anda dapat memilih warna khusus untuk latar depan dan latar belakang pola.

Aspose.Slides menyediakan lebih dari 45 gaya pola pra‑definisi yang dapat Anda terapkan pada bentuk untuk meningkatkan daya tarik visual presentasi Anda. Bahkan setelah memilih pola pra‑definisi, Anda masih dapat menentukan warna tepat yang akan digunakan.

Berikut cara menerapkan isian pola pada sebuah bentuk menggunakan Aspose.Slides:

  1. Buat instance dari kelas Presentation.
  2. Dapatkan referensi ke slide berdasarkan indeksnya.
  3. Tambahkan sebuah AutoShape ke slide.
  4. Atur FillType bentuk menjadi Pattern.
  5. Pilih gaya pola dari opsi pra‑definisi.
  6. Atur Background Color pola.
  7. Atur Foreground Color pola.
  8. Simpan presentasi yang telah dimodifikasi sebagai file PPTX.

Kode Python berikut menunjukkan cara menerapkan isian pola pada sebuah persegi panjang:

import jpype
import asposeslides

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

from asposeslides.api import FillType, PatternStyle, Presentation, SaveFormat, ShapeType
from java.awt import Color

# Instansiasi kelas Presentation yang mewakili file presentasi.
presentation = Presentation()
try:
    # Dapatkan slide pertama.
    slide = presentation.getSlides().get_Item(0)

    # Tambah auto shape tipe Rectangle.
    shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 150, 75)

    # Atur tipe isian menjadi Pattern.
    shape.getFillFormat().setFillType(FillType.Pattern)

    # Atur gaya pola.
    shape.getFillFormat().getPatternFormat().setPatternStyle(PatternStyle.Trellis)

    # Atur warna latar belakang dan latar depan pola.
    shape.getFillFormat().getPatternFormat().getBackColor().setColor(Color.LIGHT_GRAY)
    shape.getFillFormat().getPatternFormat().getForeColor().setColor(Color.YELLOW)

    # Simpan file PPTX ke disk.
    presentation.save("pattern_fill.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

Hasilnya:

Persegi panjang dengan isian pola

Isian Gambar

Di PowerPoint, Picture Fill adalah opsi pemformatan yang memungkinkan Anda menyisipkan gambar di dalam sebuah bentuk—secara efektif menggunakan gambar sebagai latar belakang bentuk.

Berikut cara menggunakan Aspose.Slides untuk menerapkan isian gambar pada sebuah bentuk:

  1. Buat instance dari kelas Presentation.
  2. Dapatkan referensi ke slide berdasarkan indeksnya.
  3. Tambahkan sebuah AutoShape ke slide.
  4. Atur FillType bentuk menjadi Picture.
  5. Atur mode isian gambar menjadi Tile (atau mode lain yang Anda pilih).
  6. Buat objek PPImage dari gambar yang ingin Anda gunakan.
  7. Berikan gambar tersebut ke metode SlidesPicture.setImage.
  8. Simpan presentasi yang telah dimodifikasi sebagai file PPTX.

Misalkan kita memiliki file “lotus.png” dengan gambar berikut:

Gambar lotus

Kode Python berikut menunjukkan cara mengisi sebuah bentuk dengan gambar:

import jpype
import asposeslides

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

from asposeslides.api import FillType, Images, PictureFillMode, Presentation, SaveFormat, ShapeType

# Instansiasi kelas Presentation yang mewakili file presentasi.
presentation = Presentation()
try:
    # Dapatkan slide pertama.
    slide = presentation.getSlides().get_Item(0)

    # Tambah auto shape tipe Rectangle.
    shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 255, 130)
    
    # Atur tipe isian menjadi Picture.
    shape.getFillFormat().setFillType(FillType.Picture)

    # Atur mode isian gambar.
    shape.getFillFormat().getPictureFillFormat().setPictureFillMode(PictureFillMode.Tile)

    # Muat gambar dan tambahkan ke sumber daya presentasi.
    image = Images.fromFile("lotus.png")
    picture = presentation.getImages().addImage(image)
    image.dispose()

    # Atur gambar.
    shape.getFillFormat().getPictureFillFormat().getPicture().setImage(picture)

    # Simpan file PPTX ke disk.
    presentation.save("picture_fill.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

Hasilnya:

Bentuk dengan isian gambar

Utile Gambar sebagai Tekstur

Jika Anda ingin mengatur gambar ubin sebagai tekstur dan menyesuaikan perilaku ubin, Anda dapat menggunakan metode berikut dari kelas PictureFillFormat:

  • setPictureFillMode: Mengatur mode isian gambar—baik Tile atau Stretch.
  • setTileAlignment: Menentukan perataan ubin dalam bentuk.
  • setTileFlip: Mengontrol apakah ubin dibalik secara horizontal, vertikal, atau keduanya.
  • setTileOffsetX: Mengatur offset horizontal ubin (dalam poin) dari asal bentuk.
  • setTileOffsetY: Mengatur offset vertikal ubin (dalam poin) dari asal bentuk.
  • setTileScaleX: Menentukan skala horizontal ubin dalam persen.
  • setTileScaleY: Menentukan skala vertikal ubin dalam persen.

Contoh kode berikut menunjukkan cara menambahkan bentuk persegi panjang dengan isian gambar ubin dan mengonfigurasi opsi ubin:

import jpype
import asposeslides

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

from asposeslides.api import FillType, Images, PictureFillMode, Presentation, RectangleAlignment, SaveFormat, ShapeType, TileFlip

# Instansiasi kelas Presentation yang mewakili file presentasi.
presentation = Presentation()
try:
    # Dapatkan slide pertama.
    first_slide = presentation.getSlides().get_Item(0)

    # Tambah auto shape persegi panjang.
    shape = first_slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 190, 95)

    # Atur tipe isi bentuk menjadi Picture.
    shape.getFillFormat().setFillType(FillType.Picture)

    # Muat gambar dan tambahkan ke sumber daya presentasi.
    source_image = Images.fromFile("lotus.png")
    presentation_image = presentation.getImages().addImage(source_image)
    source_image.dispose()

    # Tetapkan gambar ke bentuk.
    picture_fill_format = shape.getFillFormat().getPictureFillFormat()
    picture_fill_format.getPicture().setImage(presentation_image)

    # Konfigurasi mode isian gambar dan properti ubin.
    picture_fill_format.setPictureFillMode(PictureFillMode.Tile)
    picture_fill_format.setTileOffsetX(-32)
    picture_fill_format.setTileOffsetY(-32)
    picture_fill_format.setTileScaleX(50)
    picture_fill_format.setTileScaleY(50)
    picture_fill_format.setTileAlignment(RectangleAlignment.BottomRight)
    picture_fill_format.setTileFlip(TileFlip.FlipBoth)

    # Simpan file PPTX ke disk.
    presentation.save("tile.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

Hasilnya:

Opsi ubin

Isian Warna Solid

Di PowerPoint, Solid Color Fill adalah opsi pemformatan yang mengisi sebuah bentuk dengan satu warna seragam. Latar belakang polos ini diterapkan tanpa gradien, tekstur, atau pola apa pun.

Untuk menerapkan isian warna solid pada sebuah bentuk menggunakan Aspose.Slides, ikuti langkah‑langkah berikut:

  1. Buat instance dari kelas Presentation.
  2. Dapatkan referensi ke slide berdasarkan indeksnya.
  3. Tambahkan sebuah AutoShape ke slide.
  4. Atur FillType bentuk menjadi Solid.
  5. Tetapkan warna isian pilihan Anda ke bentuk.
  6. Simpan presentasi yang telah dimodifikasi sebagai file PPTX.

Kode Python berikut menunjukkan cara menerapkan isian warna solid pada sebuah persegi panjang dalam slide PowerPoint:

import jpype
import asposeslides

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

from asposeslides.api import FillType, Presentation, SaveFormat, ShapeType
from java.awt import Color

# Instansiasi kelas Presentation yang mewakili file presentasi.
presentation = Presentation()
try:
    # Dapatkan slide pertama.
    slide = presentation.getSlides().get_Item(0)

    # Tambah auto shape tipe Rectangle.
    shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 150, 75)

    # Atur tipe isian menjadi Solid.
    shape.getFillFormat().setFillType(FillType.Solid)

    # Atur warna isian.
    shape.getFillFormat().getSolidFillColor().setColor(Color.YELLOW)

    # Simpan file PPTX ke disk.
    presentation.save("solid_color_fill.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

Hasilnya:

Bentuk dengan isian warna solid

Atur Transparansi

Di PowerPoint, ketika Anda menerapkan isian warna solid, gradien, gambar, atau tekstur pada bentuk, Anda juga dapat mengatur tingkat transparansi untuk mengontrol opasitas isian. Nilai transparansi yang lebih tinggi membuat bentuk menjadi lebih tembus pandang, memungkinkan latar belakang atau objek di bawahnya terlihat sebagian.

Aspose.Slides memungkinkan Anda mengatur tingkat transparansi dengan menyesuaikan nilai alpha pada warna yang digunakan untuk isian. Berikut caranya:

  1. Buat instance dari kelas Presentation.
  2. Dapatkan referensi ke slide berdasarkan indeksnya.
  3. Tambahkan sebuah AutoShape ke slide.
  4. Atur FillType menjadi Solid.
  5. Gunakan Color untuk mendefinisikan warna dengan transparansi (komponen alpha mengontrol transparansi).
  6. Simpan presentasi.

Kode Python berikut menunjukkan cara menerapkan warna isian transparan pada sebuah persegi panjang:

import jpype
import asposeslides

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

from asposeslides.api import FillType, Presentation, SaveFormat, ShapeType
from java.awt import Color

# Instansiasi kelas Presentation yang mewakili file presentasi.
presentation = Presentation()
try:
    # Dapatkan slide pertama.
    slide = presentation.getSlides().get_Item(0)

    # Tambah auto shape persegi panjang solid.
    solid_shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 150, 75)

    # Tambah auto shape persegi panjang transparan di atas bentuk solid.
    transparent_shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 80, 80, 150, 75)
    transparent_shape.getFillFormat().setFillType(FillType.Solid)
    transparent_color = Color(255, 255, 0, 204)
    transparent_shape.getFillFormat().getSolidFillColor().setColor(transparent_color)

    # Simpan file PPTX ke disk.
    presentation.save("shape_transparency.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

Hasilnya:

Bentuk transparan

Putar Bentuk

Aspose.Slides memungkinkan Anda memutar bentuk dalam presentasi PowerPoint. Ini dapat berguna saat menempatkan elemen visual dengan kebutuhan penyelarasan atau desain tertentu.

Untuk memutar sebuah bentuk pada slide, ikuti langkah‑langkah berikut:

  1. Buat instance dari kelas Presentation.
  2. Dapatkan referensi ke slide berdasarkan indeksnya.
  3. Tambahkan sebuah AutoShape ke slide.
  4. Atur properti rotasi bentuk ke sudut yang diinginkan.
  5. Simpan presentasi.

Kode Python berikut menunjukkan cara memutar sebuah bentuk sebesar 5 derajat:

import jpype
import asposeslides

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

from asposeslides.api import Presentation, SaveFormat, ShapeType

# Instansiasi kelas Presentation yang mewakili file presentasi.
presentation = Presentation()
try:
    # Dapatkan slide pertama.
    slide = presentation.getSlides().get_Item(0)

    # Tambahkan auto shape tipe Rectangle.
    shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 150, 75)

    # Putar bentuk sebesar 5 derajat.
    shape.setRotation(5)

    # Simpan file PPTX ke disk.
    presentation.save("shape_rotation.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

Hasilnya:

Rotasi bentuk

Tambahkan Efek Bevel 3D

Aspose.Slides memungkinkan Anda menerapkan efek bevel 3D pada bentuk dengan mengonfigurasi properti ThreeDFormat mereka.

Untuk menambahkan efek bevel 3D pada sebuah bentuk, ikuti langkah‑langkah berikut:

  1. Instansiasi kelas Presentation.
  2. Dapatkan referensi ke slide berdasarkan indeksnya.
  3. Tambahkan sebuah AutoShape ke slide.
  4. Konfigurasikan ThreeDFormat bentuk untuk mendefinisikan pengaturan bevel.
  5. Simpan presentasi.

Kode Python berikut menunjukkan cara menerapkan efek bevel 3D pada sebuah bentuk:

import jpype
import asposeslides

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

from asposeslides.api import BevelPresetType, CameraPresetType, FillType, LightRigPresetType, LightingDirection, Presentation, SaveFormat, ShapeType
from java.awt import Color

# Buat sebuah instance dari kelas Presentation.
presentation = Presentation()
try:
    slide = presentation.getSlides().get_Item(0)

    # Tambahkan sebuah bentuk ke slide.
    shape = slide.getShapes().addAutoShape(ShapeType.Ellipse, 50, 50, 100, 100)
    shape.getFillFormat().setFillType(FillType.Solid)
    shape.getFillFormat().getSolidFillColor().setColor(Color.GREEN)
    shape.getLineFormat().getFillFormat().setFillType(FillType.Solid)
    shape.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.ORANGE)
    shape.getLineFormat().setWidth(2.0)

    # Atur properti ThreeDFormat bentuk.
    shape.getThreeDFormat().setDepth(4)
    shape.getThreeDFormat().getBevelTop().setBevelType(BevelPresetType.Circle)
    shape.getThreeDFormat().getBevelTop().setHeight(6)
    shape.getThreeDFormat().getBevelTop().setWidth(6)
    shape.getThreeDFormat().getCamera().setCameraType(CameraPresetType.OrthographicFront)
    shape.getThreeDFormat().getLightRig().setLightType(LightRigPresetType.ThreePt)
    shape.getThreeDFormat().getLightRig().setDirection(LightingDirection.Top)

    # Simpan presentasi sebagai file PPTX.
    presentation.save("3D_bevel_effect.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

Hasilnya:

Efek bevel 3D

Tambahkan Efek Rotasi 3D

Aspose.Slides memungkinkan Anda menerapkan efek rotasi 3D pada bentuk dengan mengonfigurasi properti ThreeDFormat mereka.

Untuk menerapkan rotasi 3D pada sebuah bentuk:

  1. Buat instance dari kelas Presentation.
  2. Dapatkan referensi ke slide berdasarkan indeksnya.
  3. Tambahkan sebuah AutoShape ke slide.
  4. Gunakan metode setCameraType dan setLightType untuk mendefinisikan rotasi 3D.
  5. Simpan presentasi.

Kode Python berikut menunjukkan cara menerapkan efek rotasi 3D pada sebuah bentuk:

import jpype
import asposeslides

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

from asposeslides.api import CameraPresetType, LightRigPresetType, Presentation, SaveFormat, ShapeType

# Buat sebuah instance dari kelas Presentation.
presentation = Presentation()
try:
    slide = presentation.getSlides().get_Item(0)

    auto_shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 150, 75)
    auto_shape.getTextFrame().setText("Hello, Aspose!")

    auto_shape.getThreeDFormat().setDepth(6)
    auto_shape.getThreeDFormat().getCamera().setRotation(40, 35, 20)
    auto_shape.getThreeDFormat().getCamera().setCameraType(CameraPresetType.IsometricLeftUp)
    auto_shape.getThreeDFormat().getLightRig().setLightType(LightRigPresetType.Balanced)

    # Simpan presentasi sebagai file PPTX.
    presentation.save("3D_rotation_effect.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

Hasilnya:

Efek rotasi 3D

Kendalikan Rendering Hitam-putih untuk Bentuk

Metode Shape.setBlackWhiteMode menentukan bagaimana sebuah bentuk individual dirender ketika presentasi ditampilkan atau diproses dalam mode hitam‑putih. Metode ini tidak mengaktifkan tampilan hitam‑putih sendiri, dan tidak mengubah isian, garis, atau pemformatan lain bentuk dalam mode warna normal.

Gunakan nilai dari kelas BlackWhiteMode untuk memilih perilaku yang diinginkan. Misalnya, Automatic membiarkan aplikasi rendering memilih konversi, Gray dan LightGray menggunakan pewarnaan abu‑abu, BlackWhite hanya menggunakan hitam dan putih, Black dan White memaksa satu warna, Color mempertahankan pewarnaan normal, dan Hidden mengabaikan bentuk dalam mode hitam‑putih. NotDefined berarti tidak ada mode tingkat bentuk yang ditetapkan.

Kode Python berikut membuat bentuk berwarna dan membuatnya muncul abu‑abu dalam mode tampilan hitam‑putih:

import jpype
import asposeslides

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

from asposeslides.api import BlackWhiteMode, FillType, Presentation, SaveFormat, ShapeType
from java.awt import Color

presentation = Presentation()
try:
    slide = presentation.getSlides().get_Item(0)

    shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 200, 100)
    shape.getFillFormat().setFillType(FillType.Solid)
    shape.getFillFormat().getSolidFillColor().setColor(Color.ORANGE)

    # Pertahankan isian oranye dalam mode warna, tetapi render bentuk dengan pewarnaan abu-abu dalam mode hitam-putih.
    shape.setBlackWhiteMode(BlackWhiteMode.Gray)

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

Dalam mode warna normal, persegi panjang tetap mempertahankan isian oranye. Dalam alur kerja tampilan hitam‑putih, ia menggunakan pewarnaan abu‑abu karena mode‑nya diatur ke Gray. Ini memungkinkan Anda mempertahankan slide berwarna penuh sambil menentukan tampilan khusus untuk pencetakan, pratinjau, atau alur kerja lain yang menghormati pengaturan tampilan hitam‑putih presentasi.

Atur Ulang Pemformatan

Kode Python berikut menunjukkan cara mengatur ulang pemformatan sebuah slide dan mengembalikan posisi, ukuran, serta pemformatan semua bentuk dengan placeholder pada LayoutSlide ke pengaturan default mereka:

import jpype
import asposeslides

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

from asposeslides.api import Presentation, SaveFormat

presentation = Presentation("sample.pptx")
try:
    for slide in presentation.getSlides():
        # Atur ulang setiap bentuk pada slide yang memiliki placeholder pada layout.
        slide.reset()

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

FAQ

Apakah pemformatan bentuk memengaruhi ukuran file presentasi akhir?

Hanya secara minimal. Gambar dan media yang disematkan mengambil sebagian besar ruang file, sedangkan parameter bentuk seperti warna, efek, dan gradien disimpan sebagai metadata dan hampir tidak menambah ukuran tambahan.

Bagaimana saya dapat mendeteksi bentuk pada slide yang memiliki pemformatan identik sehingga saya dapat mengelompokkannya?

Bandingkan setiap properti pemformatan utama bentuk—pengaturan isian, garis, dan efek. Jika semua nilai yang bersesuaian cocok, perlakukan gaya mereka sebagai identik dan kelompokkan bentuk‑bentuk tersebut secara logis, yang menyederhanakan manajemen gaya di kemudian hari.

Bisakah saya menyimpan sekumpulan gaya bentuk kustom ke file terpisah untuk digunakan kembali di presentasi lain?

Ya. Simpan contoh bentuk dengan gaya yang diinginkan dalam deck slide templat atau file .POTX templat. Saat membuat presentasi baru, buka templat tersebut, klon bentuk bergaya yang Anda butuhkan, dan terapkan kembali pemformatannya di mana diperlukan.