Buat dan Terapkan Efek WordArt di Java
Gambaran Umum
Efek WordArt memungkinkan Anda menambahkan teks bergaya dan visual menarik ke dalam presentasi PowerPoint. Dengan Aspose.Slides, pengembang dapat secara programatis membuat, menyesuaikan, dan mengelola WordArt persis seperti di Microsoft PowerPoint—tanpa harus menginstal Office. Artikel ini memberikan gambaran tentang cara bekerja dengan WordArt, termasuk cara menerapkan transformasi teks, gaya isian, garis tepi, bayangan, dan opsi pemformatan lainnya agar konten presentasi Anda lebih ekspresif dan menarik. WordArt memungkinkan Anda memperlakukan teks sebagai objek grafis. WordArt terdiri dari efek atau modifikasi khusus yang diterapkan pada teks agar menjadi lebih menarik atau menonjol.
Membuat Template WordArt Sederhana dan Menerapkannya ke Teks
Menggunakan Aspose.Slides
Pertama, kami membuat teks sederhana menggunakan kode Java berikut:
Presentation pres = new Presentation();
try {
ISlide slide = pres.getSlides().get_Item(0);
IAutoShape autoShape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 200, 200, 400, 200);
ITextFrame textFrame = autoShape.getTextFrame();
Portion portion = (Portion)textFrame.getParagraphs().get_Item(0).getPortions().get_Item(0);
portion.setText("Aspose.Slides");
} finally {
if (pres != null) pres.dispose();
}
Sekarang, kami mengatur tinggi font teks ke nilai yang lebih besar agar efeknya lebih terlihat melalui kode berikut:
FontData fontData = new FontData("Arial Black");
portion.getPortionFormat().setLatinFont(fontData);
portion.getPortionFormat().setFontHeight(36);
Menggunakan Microsoft PowerPoint
Buka menu efek WordArt di Microsoft PowerPoint:

Dari menu di sebelah kanan, Anda dapat memilih efek WordArt yang telah ditentukan. Dari menu di sebelah kiri, Anda dapat menentukan pengaturan untuk WordArt baru.
Berikut beberapa parameter atau opsi yang tersedia:

Menggunakan Aspose.Slides
Di sini, kami menerapkan warna pola SmallGrid ke teks dan menambahkan garis tepi teks hitam dengan lebar 1 menggunakan kode berikut:
portion.getPortionFormat().getFillFormat().setFillType(FillType.Pattern);
portion.getPortionFormat().getFillFormat().getPatternFormat().getForeColor().setColor(Color.ORANGE);
portion.getPortionFormat().getFillFormat().getPatternFormat().getBackColor().setColor(Color.WHITE);
portion.getPortionFormat().getFillFormat().getPatternFormat().setPatternStyle(PatternStyle.SmallGrid);
portion.getPortionFormat().getLineFormat().getFillFormat().setFillType(FillType.Solid);
portion.getPortionFormat().getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.BLACK);
Teks yang dihasilkan:

Menerapkan Efek WordArt Lainnya
Menggunakan Microsoft PowerPoint
Dari antarmuka program, Anda dapat menerapkan efek-efek ini ke teks, blok teks, bentuk, atau elemen serupa:

Sebagai contoh, efek Shadow, Reflection, dan Glow dapat diterapkan pada teks; efek 3D Format dan 3D Rotation dapat diterapkan pada blok teks; properti Soft Edges dapat diterapkan pada Objek Shape (efek tetap ada meskipun properti 3D Format tidak disetel).
Menerapkan Efek Bayangan
Di sini, kami hanya ingin mengatur properti yang berhubungan dengan teks. Kami menerapkan efek bayangan ke teks menggunakan kode Java berikut:
portion.getPortionFormat().getEffectFormat().enableOuterShadowEffect();
portion.getPortionFormat().getEffectFormat().getOuterShadowEffect().getShadowColor().setColor(Color.BLACK);
portion.getPortionFormat().getEffectFormat().getOuterShadowEffect().setScaleHorizontal(100);
portion.getPortionFormat().getEffectFormat().getOuterShadowEffect().setScaleVertical(65);
portion.getPortionFormat().getEffectFormat().getOuterShadowEffect().setBlurRadius(4.73);
portion.getPortionFormat().getEffectFormat().getOuterShadowEffect().setDirection(230);
portion.getPortionFormat().getEffectFormat().getOuterShadowEffect().setDistance(2);
portion.getPortionFormat().getEffectFormat().getOuterShadowEffect().setSkewHorizontal(30);
portion.getPortionFormat().getEffectFormat().getOuterShadowEffect().setSkewVertical(0);
portion.getPortionFormat().getEffectFormat().getOuterShadowEffect().getShadowColor().getColorTransform().add(ColorTransformOperation.SetAlpha, 0.32f);
API Aspose.Slides mendukung tiga jenis bayangan: OuterShadow, InnerShadow, dan PresetShadow.
Dengan PresetShadow, Anda dapat menerapkan bayangan pada teks (menggunakan nilai preset).
Menggunakan Microsoft PowerPoint
Di PowerPoint, Anda dapat menggunakan satu jenis bayangan. Berikut contohnya:

Menggunakan Aspose.Slides
Aspose.Slides sebenarnya memungkinkan Anda menerapkan dua jenis bayangan sekaligus: InnerShadow dan PresetShadow.
Catatan:
- Ketika OuterShadow dan PresetShadow digunakan bersamaan, hanya efek OuterShadow yang diterapkan.
- Jika OuterShadow dan InnerShadow digunakan secara simultan, efek yang dihasilkan atau diterapkan bergantung pada versi PowerPoint. Misalnya, di PowerPoint 2013, efeknya menjadi ganda. Tetapi di PowerPoint 2007, efek OuterShadow yang diterapkan.
Menerapkan Tampilan pada Teks
Kami menambahkan tampilan pada teks melalui contoh kode Java berikut:
portion.getPortionFormat().getEffectFormat().enableReflectionEffect();
portion.getPortionFormat().getEffectFormat().getReflectionEffect().setBlurRadius(0.5);
portion.getPortionFormat().getEffectFormat().getReflectionEffect().setDistance(4.72);
portion.getPortionFormat().getEffectFormat().getReflectionEffect().setStartPosAlpha(0f);
portion.getPortionFormat().getEffectFormat().getReflectionEffect().setEndPosAlpha(60f);
portion.getPortionFormat().getEffectFormat().getReflectionEffect().setDirection(90);
portion.getPortionFormat().getEffectFormat().getReflectionEffect().setScaleHorizontal(100);
portion.getPortionFormat().getEffectFormat().getReflectionEffect().setScaleVertical(-100);
portion.getPortionFormat().getEffectFormat().getReflectionEffect().setStartReflectionOpacity(60f);
portion.getPortionFormat().getEffectFormat().getReflectionEffect().setEndReflectionOpacity(0.9f);
portion.getPortionFormat().getEffectFormat().getReflectionEffect().setRectangleAlign(RectangleAlignment.BottomLeft);
Menerapkan Efek Glow pada Teks
Kami menerapkan efek glow pada teks agar bersinar atau menonjol menggunakan kode berikut:
portion.getPortionFormat().getEffectFormat().enableGlowEffect();
portion.getPortionFormat().getEffectFormat().getGlowEffect().getColor().setR((byte)255);
portion.getPortionFormat().getEffectFormat().getGlowEffect().getColor().getColorTransform().add(ColorTransformOperation.SetAlpha, 0.54f);
portion.getPortionFormat().getEffectFormat().getGlowEffect().setRadius(7);
Hasil operasi:

Menggunakan Transformasi pada WordArt
Kami menggunakan properti Transform (menerapkan pada seluruh blok teks) melalui kode berikut:
textFrame.getTextFrameFormat().setTransform(TextShapeType.ArchUpPour);
Hasilnya:

Menggunakan PowerPoint
Untuk mengakses jenis transformasi yang telah ditentukan, masuk melalui: Format -> TextEffect -> Transform
Menggunakan Aspose.Slides
Untuk memilih jenis transformasi, gunakan enum TextShapeType.
Menerapkan Efek 3D pada Teks dan Bentuk
Kami menetapkan efek 3D pada bentuk teks menggunakan contoh kode berikut:
autoShape.getThreeDFormat().getBevelBottom().setBevelType(BevelPresetType.Circle);
autoShape.getThreeDFormat().getBevelBottom().setHeight(10.5);
autoShape.getThreeDFormat().getBevelBottom().setWidth(10.5);
autoShape.getThreeDFormat().getBevelTop().setBevelType(BevelPresetType.Circle);
autoShape.getThreeDFormat().getBevelTop().setHeight(12.5);
autoShape.getThreeDFormat().getBevelTop().setWidth(11);
autoShape.getThreeDFormat().getExtrusionColor().setColor(Color.ORANGE);
autoShape.getThreeDFormat().setExtrusionHeight(6);
autoShape.getThreeDFormat().getContourColor().setColor(Color.RED);
autoShape.getThreeDFormat().setContourWidth(1.5);
autoShape.getThreeDFormat().setDepth(3);
autoShape.getThreeDFormat().setMaterial(MaterialPresetType.Plastic);
autoShape.getThreeDFormat().getLightRig().setDirection(LightingDirection.Top);
autoShape.getThreeDFormat().getLightRig().setLightType(LightRigPresetType.Balanced);
autoShape.getThreeDFormat().getLightRig().setRotation(0, 0, 40);
autoShape.getThreeDFormat().getCamera().setCameraType(CameraPresetType.PerspectiveContrastingRightFacing);
Teks dan bentuk yang dihasilkan:

Kami menerapkan efek 3D pada teks dengan kode Java berikut:
textFrame.getTextFrameFormat().getThreeDFormat().getBevelBottom().setBevelType(BevelPresetType.Circle);
textFrame.getTextFrameFormat().getThreeDFormat().getBevelBottom().setHeight(3.5);
textFrame.getTextFrameFormat().getThreeDFormat().getBevelBottom().setWidth(3.5);
textFrame.getTextFrameFormat().getThreeDFormat().getBevelTop().setBevelType(BevelPresetType.Circle);
textFrame.getTextFrameFormat().getThreeDFormat().getBevelTop().setHeight(4);
textFrame.getTextFrameFormat().getThreeDFormat().getBevelTop().setWidth(4);
textFrame.getTextFrameFormat().getThreeDFormat().getExtrusionColor().setColor(Color.ORANGE);
textFrame.getTextFrameFormat().getThreeDFormat().setExtrusionHeight(6);
textFrame.getTextFrameFormat().getThreeDFormat().getContourColor().setColor(Color.RED);
textFrame.getTextFrameFormat().getThreeDFormat().setContourWidth(1.5);
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);
Hasil operasi:

Penerapan efek 3D pada teks atau bentuknya serta interaksi antar efek didasarkan pada beberapa aturan.
Pertimbangkan sebuah adegan untuk teks dan bentuk yang memuat teks tersebut. Efek 3D mencakup representasi objek 3D dan adegan tempat objek ditempatkan.
- Ketika adegan disetel untuk baik bentuk maupun teks, adegan bentuk memiliki prioritas lebih tinggi—adegan teks diabaikan.
- Ketika bentuk tidak memiliki adegan sendiri tetapi memiliki representasi 3D, adegan teks yang digunakan.
- Jika tidak—ketika bentuk awalnya tidak memiliki efek 3D—bentuk tetap datar dan efek 3D hanya diterapkan pada teks.
Deskripsi ini terkait dengan metode ThreeDFormat.getLightRig() dan ThreeDFormat.getCamera().
Menerapkan Efek Outer Shadow pada Teks
Aspose.Slides untuk Java menyediakan kelas IOuterShadow dan IInnerShadow yang memungkinkan Anda menerapkan efek bayangan pada teks yang dibawa oleh TextFrame. Ikuti langkah‑langkah berikut:
- Buat instance kelas Presentation.
- Dapatkan referensi slide dengan menggunakan indeksnya.
- Tambahkan AutoShape tipe Rectangle ke slide.
- Akses TextFrame yang terkait dengan AutoShape.
- Atur FillType AutoShape ke NoFill.
- Buat instance kelas OuterShadow.
- Atur BlurRadius bayangan.
- Atur Direction bayangan.
- Atur Distance bayangan.
- Atur RectanglelAlign ke TopLeft.
- Atur PresetColor bayangan ke Black.
- Simpan presentasi sebagai file PPTX.
Contoh kode Java—implementasi langkah‑langkah di atas—menunjukkan cara menerapkan efek outer shadow pada teks:
Presentation pres = new Presentation();
try {
// Dapatkan referensi slide
ISlide sld = pres.getSlides().get_Item(0);
// Tambahkan AutoShape tipe Persegi Panjang
IAutoShape ashp = sld.getShapes().addAutoShape(ShapeType.Rectangle, 150, 75, 150, 50);
// Tambahkan TextFrame ke Persegi Panjang
ashp.addTextFrame("Aspose TextBox");
// Nonaktifkan isian bentuk jika kita ingin mendapatkan bayangan teks
ashp.getFillFormat().setFillType(FillType.NoFill);
// Tambahkan bayangan luar dan atur semua parameter yang diperlukan
ashp.getEffectFormat().enableOuterShadowEffect();
IOuterShadow shadow = ashp.getEffectFormat().getOuterShadowEffect();
shadow.setBlurRadius(4.0);
shadow.setDirection(45);
shadow.setDistance(3);
shadow.setRectangleAlign(RectangleAlignment.TopLeft);
shadow.getShadowColor().setPresetColor(PresetColor.Black);
//Simpan presentasi ke disk
pres.save("pres_out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Menerapkan Efek Inner Shadow pada Bentuk
Ikuti langkah‑langkah berikut:
- Buat instance kelas Presentation.
- Dapatkan referensi slide.
- Tambahkan AutoShape tipe Rectangle.
- Aktifkan InnerShadowEffect.
- Atur semua parameter yang diperlukan.
- Atur ColorType menjadi Scheme.
- Atur Scheme Color.
- Simpan presentasi sebagai file PPTX.
Contoh kode (berdasarkan langkah‑langkah di atas) menunjukkan cara menambahkan konektor antara dua bentuk di Java:
Presentation pres = new Presentation();
try {
// Dapatkan referensi slide
ISlide slide = pres.getSlides().get_Item(0);
// Tambahkan AutoShape tipe Persegi Panjang
IAutoShape ashp = slide.getShapes().addAutoShape(ShapeType.Rectangle, 150, 75, 400, 300);
ashp.getFillFormat().setFillType(FillType.NoFill);
// Tambahkan TextFrame ke Persegi Panjang
ashp.addTextFrame("Aspose TextBox");
IPortion port = ashp.getTextFrame().getParagraphs().get_Item(0).getPortions().get_Item(0);
IPortionFormat pf = port.getPortionFormat();
pf.setFontHeight(50);
// Aktifkan InnerShadowEffect
IEffectFormat ef = pf.getEffectFormat();
ef.enableInnerShadowEffect();
// Atur semua parameter yang diperlukan
ef.getInnerShadowEffect().setBlurRadius(8.0);
ef.getInnerShadowEffect().setDirection(90.0F);
ef.getInnerShadowEffect().setDistance(6.0);
ef.getInnerShadowEffect().getShadowColor().setB((byte)189);
// Atur ColorType menjadi Scheme
ef.getInnerShadowEffect().getShadowColor().setColorType(ColorType.Scheme);
// Atur Warna Skema
ef.getInnerShadowEffect().getShadowColor().setSchemeColor(SchemeColor.Accent1);
// Simpan Presentasi
pres.save("WordArt_out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
FAQ
Apakah saya dapat menggunakan efek WordArt dengan font atau skrip yang berbeda (misalnya Arab, Cina)?
Ya, Aspose.Slides mendukung Unicode dan bekerja dengan semua font serta skrip utama. Efek WordArt seperti bayangan, isian, dan garis tepi dapat diterapkan terlepas dari bahasa, meskipun ketersediaan font dan rendering dapat bergantung pada font sistem.
Apakah saya dapat menerapkan efek WordArt pada elemen master slide?
Ya, Anda dapat menerapkan efek WordArt pada bentuk di slide master, termasuk placeholder judul, footer, atau teks latar belakang. Perubahan pada tata letak master akan tercermin di semua slide yang terkait.
Apakah efek WordArt memengaruhi ukuran file presentasi?
Sedikit. Efek WordArt seperti bayangan, glow, dan isian gradien dapat sedikit menambah ukuran file karena metadata pemformatan tambahan, tetapi perbedaannya biasanya tidak signifikan.
Apakah saya dapat melihat pratinjau hasil efek WordArt tanpa menyimpan presentasi?
Ya, Anda dapat merender slide yang berisi WordArt ke gambar (misalnya PNG, JPEG) menggunakan metode getImage dari antarmuka IShape atau ISlide. Ini memungkinkan Anda melihat pratinjau secara in‑memory atau di layar sebelum menyimpan atau mengekspor presentasi secara penuh.