Java में टेक्स्ट को फ़ॉर्मेट कैसे करें
Aspose.Slides FOSS for Java provides fine-grained text formatting through the PortionFormat class. A Portion पाठ की सबसे छोटी स्वतंत्र इकाई है; यह एक पैराग्राफ के भीतर एकल फ़ॉर्मेटिंग रन से मेल खाती है। यह गाइड दिखाता है कि प्रस्तुति में पाठ पर bold, italic, font size, और color फ़ॉर्मेटिंग कैसे लागू की जाए।.
स्टेप बाय स्टेप गाइड
चरण 1: Maven निर्भरता जोड़ें
<dependency>
<groupId>org.aspose.slides.foss</groupId>
<artifactId>aspose-slides-foss</artifactId>
<version>1.0.0</version>
</dependency>चरण 2: टेक्स्ट फ्रेम के साथ एक शैप जोड़ें
पाठ को फ़ॉर्मेट करने से पहले, एक shape में एक TextFrame. Use shape.addTextFrame() एक बनाने के लिए।.
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.ITextFrame;
import org.aspose.slides.foss.IParagraph;
import org.aspose.slides.foss.IPortion;
import org.aspose.slides.foss.Portion;
import org.aspose.slides.foss.IPortionFormat;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.NullableBool;
import org.aspose.slides.foss.export.SaveFormat;
import org.aspose.slides.foss.drawing.Color;
try (Presentation prs = new Presentation()) {
ISlide slide = prs.getSlides().get(0);
IAutoShape shape = slide.getShapes().addAutoShape(
ShapeType.RECTANGLE, 50, 50, 500, 150
);
ITextFrame tf = shape.addTextFrame("Default text: will be formatted");
prs.save("output.pptx", SaveFormat.PPTX);
}चरण 3: TextFrame तक पहुँचें
shape.addTextFrame() वापस देता है TextFrame object. आप इसे बाद में के द्वारा भी प्राप्त कर सकते हैं shape.getTextFrame().
ITextFrame tf = shape.getTextFrame(); // if the frame already exists
ITextFrame tf = shape.addTextFrame(""); // creates a new frameA TextFrame में एक सूची है Paragraph objects (tf.getParagraphs()). प्रत्येक Paragraph में होता है Portion objects (paragraph.getPortions()).
चरण 4: बोल्ड और इटैलिक फॉर्मेटिंग लागू करें
उपयोग करें portionFormat.setFontBold() और portionFormat.setFontItalic(). ये विधियाँ स्वीकार करती हैं NullableBool.TRUE, NullableBool.FALSE, या NullableBool.NOT_DEFINED (मास्टर से विरासत में)।.
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.ITextFrame;
import org.aspose.slides.foss.IParagraph;
import org.aspose.slides.foss.IPortion;
import org.aspose.slides.foss.Portion;
import org.aspose.slides.foss.IPortionFormat;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.NullableBool;
import org.aspose.slides.foss.export.SaveFormat;
import org.aspose.slides.foss.drawing.Color;
try (Presentation prs = new Presentation()) {
ISlide slide = prs.getSlides().get(0);
IAutoShape shape = slide.getShapes().addAutoShape(
ShapeType.RECTANGLE, 50, 50, 500, 150
);
ITextFrame tf = shape.addTextFrame("Bold and italic text");
IPortionFormat fmt = tf.getParagraphs().get(0)
.getPortions().get(0).getPortionFormat();
fmt.setFontBold(NullableBool.TRUE);
fmt.setFontItalic(NullableBool.TRUE);
prs.save("bold-italic.pptx", SaveFormat.PPTX);
}चरण 5: फ़ॉन्ट आकार और रंग सेट करें
सेट करें portionFormat.setFontHeight() आकार (पॉइंट्स में) के लिए और उपयोग करें getFillFormat() रंग के लिए।.
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.ITextFrame;
import org.aspose.slides.foss.IParagraph;
import org.aspose.slides.foss.IPortion;
import org.aspose.slides.foss.Portion;
import org.aspose.slides.foss.IPortionFormat;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.NullableBool;
import org.aspose.slides.foss.export.SaveFormat;
import org.aspose.slides.foss.drawing.Color;
try (Presentation prs = new Presentation()) {
ISlide slide = prs.getSlides().get(0);
IAutoShape shape = slide.getShapes().addAutoShape(
ShapeType.RECTANGLE, 50, 50, 500, 150
);
ITextFrame tf = shape.addTextFrame("Large corporate-blue heading");
IPortionFormat fmt = tf.getParagraphs().get(0)
.getPortions().get(0).getPortionFormat();
fmt.setFontHeight(32); // 32pt font
fmt.setFontBold(NullableBool.TRUE);
fmt.getFillFormat().setFillType(FillType.SOLID);
fmt.getFillFormat().getSolidFillColor().setColor(
Color.fromArgb(255, 0, 70, 127)
);
prs.save("colored-text.pptx", SaveFormat.PPTX);
}Color.fromArgb(alpha, red, green, blue) प्रत्येक चैनल के लिए 0-255 मान स्वीकार करता है।.
चरण 6: एक पैराग्राफ में कई पोर्शन
एक पैराग्राफ में विभिन्न स्वरूपण के साथ कई भाग हो सकते हैं। एक नया जोड़ें Portion को पैराग्राफ के getPortions() संग्रह:
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.ITextFrame;
import org.aspose.slides.foss.IParagraph;
import org.aspose.slides.foss.IPortion;
import org.aspose.slides.foss.Portion;
import org.aspose.slides.foss.IPortionFormat;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.NullableBool;
import org.aspose.slides.foss.export.SaveFormat;
import org.aspose.slides.foss.drawing.Color;
try (Presentation prs = new Presentation()) {
ISlide slide = prs.getSlides().get(0);
IAutoShape shape = slide.getShapes().addAutoShape(
ShapeType.RECTANGLE, 50, 50, 600, 100
);
ITextFrame tf = shape.addTextFrame(""); // start with empty frame
IParagraph paragraph = tf.getParagraphs().get(0);
// First portion: normal text
IPortion portion1 = paragraph.getPortions().get(0);
portion1.setText("Normal text followed by ");
portion1.getPortionFormat().setFontHeight(20);
// Second portion: bold red text
Portion portion2 = new Portion("bold red text");
portion2.getPortionFormat().setFontHeight(20);
portion2.getPortionFormat().setFontBold(NullableBool.TRUE);
portion2.getPortionFormat().getFillFormat().setFillType(FillType.SOLID);
portion2.getPortionFormat().getFillFormat().getSolidFillColor().setColor(
Color.fromArgb(255, 200, 0, 0)
);
paragraph.getPortions().add(portion2);
prs.save("mixed-format.pptx", SaveFormat.PPTX);
}सामान्य समस्याएँ और समाधान
रंग सेट करने के बाद भी टेक्स्ट काला दिखता है
सुनिश्चित करें getFillFormat().setFillType(FillType.SOLID) रंग असाइन करने से पहले इसे कॉल किया जाता है। फ़िल टाइप सेट किए बिना, रंग परिवर्तन का कोई प्रभाव नहीं हो सकता है।.
NullableBool.TRUE vs true
portionFormat.setFontBold() की अपेक्षा करता है NullableBool.TRUE, Java नहीं true. बूलियन पास करने से कंपाइलेशन त्रुटि होगी क्योंकि मेथड अपेक्षा करता है NullableBool enum.
फ़ॉन्ट सहेजी गई फ़ाइल में दिखाई नहीं देता है
द setLatinFont() method लैटिन फ़ॉन्ट फ़ैमिली सेट करता है। यदि सेट नहीं है, तो प्रस्तुति थीम फ़ॉन्ट उपयोग किया जाता है। कस्टम फ़ॉन्ट्स को एम्बेड किया जाना चाहिए या दर्शक मशीन पर उपलब्ध होना चाहिए।.
अक्सर पूछे जाने वाले प्रश्न
मैं फ़ॉन्ट फ़ैमिली कैसे बदलूँ?
सेट portionFormat.setLatinFont():
fmt.setLatinFont(new FontData("Arial"));FontData फ़ॉन्ट फ़ैमिली नाम को स्ट्रिंग के रूप में स्वीकार करता है।.
मैं पैराग्राफ अलाइनमेंट कैसे सेट करूँ?
उपयोग करें paragraphFormat.setAlignment():
import org.aspose.slides.foss.TextAlignment;
tf.getParagraphs().get(0).getParagraphFormat()
.setAlignment(TextAlignment.CENTER);समर्थित मान: LEFT, CENTER, RIGHT, JUSTIFY.
मैं लाइन स्पेसिंग कैसे सेट करूँ?
उपयोग करें paragraphFormat.setSpaceBefore() (पैराग्राफ से पहले बिंदु) या paragraphFormat.setSpaceAfter() (पैराग्राफ के बाद बिंदु):
tf.getParagraphs().get(0).getParagraphFormat().setSpaceBefore(12); // 12pt before
tf.getParagraphs().get(0).getParagraphFormat().setSpaceAfter(6); // 6pt after