Java में WordArt प्रभाव बनाएं और लागू करें
सारांश
WordArt प्रभाव आपको अपने PowerPoint प्रस्तुतियों में दृश्यात्मक रूप से आकर्षक, शैलीबद्ध टेक्स्ट जोड़ने की अनुमति देते हैं। Aspose.Slides के साथ, डेवलपर्स प्रोग्रामैटिक रूप से WordArt को बनाए, अनुकूलित और प्रबंधित कर सकते हैं, बिल्कुल Microsoft PowerPoint की तरह—बिना Office स्थापित किए। यह लेख WordArt के साथ काम करने का एक सारांश प्रदान करता है, जिसमें टेक्स्ट ट्रांसफ़ॉर्मेशन, फ़िल स्टाइल, आउटलाइन, शैडो और अन्य फ़ॉर्मेटिंग विकल्पों को लागू करने की विधियाँ शामिल हैं, ताकि आपके प्रस्तुति सामग्री अधिक अभिव्यक्तिपूर्ण और आकर्षक बन सके। WordArt आपको टेक्स्ट को एक ग्राफ़िकल ऑब्जेक्ट की तरह मानने की अनुमति देता है। यह प्रभावों या विशेष संशोधनों से बनता है जो टेक्स्ट को अधिक आकर्षक या उल्लेखनीय बनाते हैं।
एक सरल WordArt टेम्पलेट बनाना और इसे टेक्स्ट पर लागू करना
Aspose.Slides का उपयोग करके
पहले, हम इस Java कोड का उपयोग करके एक साधा टेक्स्ट बनाते हैं:
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();
}
अब, हम इस कोड के द्वारा टेक्स्ट का फ़ॉन्ट आकार बड़ा सेट करते हैं जिससे प्रभाव अधिक दर्शनीय हो।
FontData fontData = new FontData("Arial Black");
portion.getPortionFormat().setLatinFont(fontData);
portion.getPortionFormat().setFontHeight(36);
Microsoft PowerPoint का उपयोग करके
Microsoft PowerPoint में WordArt प्रभाव मेनू पर जाएँ:

दाएँ वाले मेनू से आप एक पूर्वनिर्धारित WordArt प्रभाव चुन सकते हैं। बाएँ वाले मेनू से आप नए WordArt के सेटिंग्स निर्दिष्ट कर सकते हैं।
ये उपलब्ध पैरामीटर या विकल्पों में से कुछ हैं:

Aspose.Slides का उपयोग करके
यहाँ, हम टेक्स्ट पर SmallGrid पैटर्न रंग लागू करते हैं और इस कोड के द्वारा 1‑पिक्सेल चौड़ाई की काली टेक्स्ट बॉर्डर जोड़ते हैं:
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);
परिणामी टेक्स्ट:

अन्य WordArt प्रभाव लागू करना
Microsoft PowerPoint का उपयोग करके
प्रोग्राम के इंटरफ़ेस से आप इन प्रभावों को टेक्स्ट, टेक्स्ट ब्लॉक, आकार या समान तत्व पर लागू कर सकते हैं:

उदाहरण के लिए, Shadow, Reflection और Glow प्रभाव टेक्स्ट पर लागू हो सकते हैं; 3D Format और 3D Rotation प्रभाव टेक्स्ट ब्लॉक पर लागू हो सकते हैं; Soft Edges प्रॉपर्टी Shape ऑब्जेक्ट पर लागू की जा सकती है (जब 3D Format प्रॉपर्टी सेट नहीं होती तब भी इसका प्रभाव रहता है)।
Shadow प्रभाव लागू करना
यहाँ, हम केवल टेक्स्ट से संबंधित गुण सेट करने का इरादा रखते हैं। हम इस Java कोड का उपयोग करके टेक्स्ट पर शैडो प्रभाव लागू करते हैं:
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);
Aspose.Slides API तीन प्रकार के शैडो को सपोर्ट करता है: OuterShadow, InnerShadow, और PresetShadow।
PresetShadow के साथ, आप टेक्स्ट पर (प्रिसेट मानों का उपयोग करके) शैडो लागू कर सकते हैं।
Microsoft PowerPoint का उपयोग करके
PowerPoint में आप एक प्रकार का शैडो उपयोग कर सकते हैं। यहाँ एक उदाहरण है:

Aspose.Slides का उपयोग करके
Aspose.Slides वास्तव में एक साथ दो प्रकार के शैडो लागू करने की अनुमति देता है: InnerShadow और PresetShadow।
Notes:
- जब OuterShadow और PresetShadow एक साथ उपयोग किए जाते हैं, तो केवल OuterShadow प्रभाव लागू होता है।
- यदि OuterShadow और InnerShadow एक साथ उपयोग होते हैं, तो लागू प्रभाव PowerPoint के संस्करण पर निर्भर करता है। उदाहरण के लिए, PowerPoint 2013 में प्रभाव दो गुना हो जाता है, जबकि PowerPoint 2007 में OuterShadow प्रभाव लागू होता है।
डिस्प्ले प्रभाव को टेक्स्ट पर लागू करना
हम इस Java कोड नमूने के द्वारा टेक्स्ट में डिस्प्ले जोड़ते हैं:
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);
टेक्स्ट पर Glow प्रभाव लागू करना
हम इस कोड का उपयोग करके टेक्स्ट पर ग्लो प्रभाव लागू करते हैं ताकि वह चमके या उभरे।
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);
ऑपरेशन का परिणाम:

WordArt में Transformations का उपयोग करना
हम इस कोड के द्वारा Transform प्रॉपर्टी (पूरे टेक्स्ट ब्लॉक में अंतर्निहित) का उपयोग करते हैं:
textFrame.getTextFrameFormat().setTransform(TextShapeType.ArchUpPour);
परिणाम:

PowerPoint का उपयोग करके
पूर्वनिर्धारित ट्रांसफ़ॉर्मेशन प्रकारों तक पहुँचने के लिए, निम्नरूप देखें: Format -> TextEffect -> Transform
Aspose.Slides का उपयोग करके
ट्रांसफ़ॉर्मेशन प्रकार चुनने के लिए, TextShapeType enum का उपयोग करें।
टेक्स्ट और आकार पर 3D प्रभाव लागू करना
हम इस नमूना कोड का उपयोग करके टेक्स्ट आकार पर 3D प्रभाव सेट करते हैं:
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);
परिणामी टेक्स्ट और उसका आकार:

हम इस Java कोड के द्वारा टेक्स्ट पर 3D प्रभाव लागू करते हैं:
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);
ऑपरेशन का परिणाम:

टेक्स्ट या उनके आकार पर 3D प्रभावों का अनुप्रयोग और प्रभावों के बीच की इंटरैक्शन कुछ नियमों पर आधारित होते हैं।
एक टेक्स्ट और उसे सम्मिलित करने वाले आकार के लिए एक सीन पर विचार करें। 3D प्रभाव में 3D ऑब्जेक्ट प्रतिनिधित्व और वह सीन शामिल होता है जिस पर ऑब्जेक्ट रखा गया है।
- जब सीन दोनों आकृति और टेक्स्ट दोनों के लिए सेट होता है, तो आकृति का सीन अधिक प्राथमिकता प्राप्त करता है—टेक्स्ट सीन अनदेखा किया जाता है।
- जब आकृति का अपना सीन नहीं होता लेकिन उसका 3D प्रतिनिधित्व होता है, तो टेक्स्ट सीन उपयोग किया जाता है।
- अन्यथा—जब आकार मूल रूप से कोई 3D प्रभाव नहीं रखता—तो आकार समतल रहता है और 3D प्रभाव केवल टेक्स्ट पर लागू होता है।
इन विवरणों का संबंध ThreeDFormat.getLightRig() और ThreeDFormat.getCamera() मेथड्स से है।
टेक्स्ट पर Outer Shadow प्रभाव लागू करना
Aspose.Slides for Java IOuterShadow और IInnerShadow क्लासें प्रदान करता है जो आपको TextFrame द्वारा ले जा रहे टेक्स्ट पर शैडो प्रभाव लागू करने देती हैं। निम्न चरणों का पालन करें:
- Presentation क्लास का एक इंस्टैंस बनाएं।
- इंडेक्स का उपयोग करके स्लाइड का रेफ़रेंस प्राप्त करें।
- स्लाइड में Rectangle प्रकार का AutoShape जोड़ें।
- AutoShape से जुड़ा TextFrame प्राप्त करें।
- AutoShape का FillType NoFill सेट करें।
- OuterShadow क्लास का इंस्टैंस बनाएं।
- शैडो का BlurRadius सेट करें।
- शैडो की Direction सेट करें।
- शैडो की Distance सेट करें।
- RectanglelAlign को TopLeft सेट करें।
- शैडो का PresetColor Black सेट करें।
- प्रेज़ेंटेशन को PPTX फ़ाइल के रूप में लिखें।
यह Java नमूना कोड—ऊपर बताए गए चरणों का कार्यान्वयन—आपको दिखाता है कि टेक्स्ट पर Outer Shadow प्रभाव कैसे लागू करें:
Presentation pres = new Presentation();
try {
// स्लाइड का रेफ़रेंस प्राप्त करें
ISlide sld = pres.getSlides().get_Item(0);
// Rectangle प्रकार का AutoShape जोड़ें
IAutoShape ashp = sld.getShapes().addAutoShape(ShapeType.Rectangle, 150, 75, 150, 50);
// Rectangle में TextFrame जोड़ें
ashp.addTextFrame("Aspose TextBox");
// यदि हमें टेक्स्ट का शैडो चाहिए तो shape fill को निष्क्रिय करें
ashp.getFillFormat().setFillType(FillType.NoFill);
// बाहरी शैडो जोड़ें और सभी आवश्यक पैरामीटर सेट करें
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);
// प्रेज़ेंटेशन को डिस्क पर सहेजें
pres.save("pres_out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
आकार पर Inner Shadow प्रभाव लागू करना
निम्न चरणों का पालन करें:
- Presentation क्लास का एक इंस्टैंस बनाएं।
- स्लाइड का रेफ़रेंस प्राप्त करें।
- Rectangle प्रकार का AutoShape जोड़ें।
- InnerShadowEffect सक्षम करें।
- सभी आवश्यक पैरामीटर सेट करें।
- ColorType को Scheme सेट करें।
- Scheme Color सेट करें।
- प्रेज़ेंटेशन को PPTX फ़ाइल के रूप में लिखें।
यह नमूना कोड (ऊपर के चरणों के आधार पर) आपको दिखाता है कि Java में दो आकारों के बीच कनेक्टर कैसे जोड़ें:
Presentation pres = new Presentation();
try {
// स्लाइड का रेफ़रेंस प्राप्त करें
ISlide slide = pres.getSlides().get_Item(0);
// Rectangle प्रकार का AutoShape जोड़ें
IAutoShape ashp = slide.getShapes().addAutoShape(ShapeType.Rectangle, 150, 75, 400, 300);
ashp.getFillFormat().setFillType(FillType.NoFill);
// Rectangle में TextFrame जोड़ें
ashp.addTextFrame("Aspose TextBox");
IPortion port = ashp.getTextFrame().getParagraphs().get_Item(0).getPortions().get_Item(0);
IPortionFormat pf = port.getPortionFormat();
pf.setFontHeight(50);
// InnerShadowEffect सक्षम करें
IEffectFormat ef = pf.getEffectFormat();
ef.enableInnerShadowEffect();
// सभी आवश्यक पैरामीटर सेट करें
ef.getInnerShadowEffect().setBlurRadius(8.0);
ef.getInnerShadowEffect().setDirection(90.0F);
ef.getInnerShadowEffect().setDistance(6.0);
ef.getInnerShadowEffect().getShadowColor().setB((byte)189);
// ColorType को Scheme सेट करें
ef.getInnerShadowEffect().getShadowColor().setColorType(ColorType.Scheme);
// Scheme Color सेट करें
ef.getInnerShadowEffect().getShadowColor().setSchemeColor(SchemeColor.Accent1);
// प्रेज़ेंटेशन सहेजें
pres.save("WordArt_out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
FAQ
क्या मैं विभिन्न फ़ॉन्ट या स्क्रिप्ट (जैसे अरबी, चीनी) के साथ WordArt प्रभाव उपयोग कर सकता हूँ?
हाँ, Aspose.Slides Unicode को सपोर्ट करता है और सभी प्रमुख फ़ॉन्ट एवं स्क्रिप्ट के साथ काम करता है। WordArt प्रभाव जैसे शैडो, फ़िल और आउटलाइन भाषा की परवाह किए बिना लागू किए जा सकते हैं, हालांकि फ़ॉन्ट उपलब्धता और रेंडरिंग सिस्टम फ़ॉन्ट्स पर निर्भर हो सकती है।
क्या मैं स्लाइड मास्टर तत्वों पर WordArt प्रभाव लागू कर सकता हूँ?
हाँ, आप मास्टर स्लाइड्स पर स्थित आकारों, जैसे शीर्षक प्लेसहोल्डर, फूटर या बैकग्राउंड टेक्स्ट पर WordArt प्रभाव लागू कर सकते हैं। मास्टर लेआउट में किए गए परिवर्तन सभी संबंधित स्लाइड्स पर प्रतिबिंबित होंगे।
क्या WordArt प्रभाव प्रस्तुति फ़ाइल के आकार को प्रभावित करते हैं?
थोड़ा। शैडो, ग्लो और ग्रेडिएंट फ़िल जैसे WordArt प्रभाव फ़ॉर्मेटिंग मेटा‑डेटा जोड़ने के कारण फ़ाइल आकार को थोड़ा बढ़ा सकते हैं, लेकिन अंतर आमतौर पर नगण्य होता है।
क्या मैं प्रस्तुति को सहेजे बिना WordArt प्रभावों का परिणाम पूर्वावलोकन कर सकता हूँ?
हाँ, आप IShape या ISlide इंटरफ़ेस के getImage मेथड का उपयोग करके WordArt वाले स्लाइड्स को छवियों (जैसे PNG, JPEG) में रेंडर कर सकते हैं। इससे आप पूर्ण प्रस्तुति को सहेजने या एक्सपोर्ट करने से पहले मेमोरी या स्क्रीन पर परिणाम का पूर्वावलोकन कर सकते हैं।