जावा में टेक्स्ट को फ़ॉर्मेट कैसे करें

जावा में टेक्स्ट को फ़ॉर्मेट कैसे करें

Aspose.Slides FOSS for Java सूक्ष्म-स्तरीय पाठ स्वरूपण PortionFormat क्लास के माध्यम से प्रदान करता है। एक Portion पाठ का सबसे छोटा स्वतंत्र इकाई है; यह पैराग्राफ के भीतर एकल स्वरूपण रन से मेल खाता है। यह गाइड दिखाता है कि प्रस्तुति में पाठ पर बोल्ड, इटैलिक, फ़ॉन्ट आकार और रंग स्वरूपण कैसे लागू किया जाए।

चरण-दर-चरण गाइड

चरण 1: Maven निर्भरता जोड़ें

<dependency>
  <groupId>org.aspose.slides.foss</groupId>
  <artifactId>aspose-slides-foss</artifactId>
  <version>1.0.0</version>
</dependency>

चरण 2: टेक्स्ट फ्रेम के साथ एक आकार जोड़ें

टेक्स्ट को फ़ॉर्मेट करने से पहले, एक आकार में TextFrame होना चाहिए। एक बनाने के लिए 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 ऑब्जेक्ट। आप इसे बाद में shape.getTextFrame() के माध्यम से भी प्राप्त कर सकते हैं।

ITextFrame tf = shape.getTextFrame();          // if the frame already exists
ITextFrame tf = shape.addTextFrame("");        // creates a new frame

एक TextFrame में Paragraph वस्तुओं (tf.getParagraphs()) की सूची होती है। प्रत्येक Paragraph में Portion वस्तुएँ (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: एक पैराग्राफ में कई भाग

एक पैराग्राफ में विभिन्न स्वरूपण वाले कई भाग हो सकते हैं। पैराग्राफ के getPortions() संग्रह में एक नया Portion जोड़ें:

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 बनाम true

portionFormat.setFontBold() अपेक्षा करता है NullableBool.TRUE, न कि जावा का true। बूलियन पास करने से संकलन त्रुटि होगी क्योंकि मेथड NullableBool enum की अपेक्षा करता है।

फ़ॉन्ट सहेजी गई फ़ाइल में नहीं दिखता

setLatinFont() विधि लैटिन फ़ॉन्ट परिवार को सेट करती है। यदि सेट नहीं किया गया है, तो प्रस्तुति थीम फ़ॉन्ट का उपयोग किया जाता है। कस्टम फ़ॉन्ट को एम्बेड किया जाना चाहिए या दर्शक मशीन पर उपलब्ध होना चाहिए।


अक्सर पूछे जाने वाले प्रश्न

फ़ॉन्ट फ़ैमिली कैसे बदलें?

सेट 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

संबंधित देखें

 हिन्दी