खोज…


टिप्पणियों

एक दस्तावेज़ बनाना जिसमें आपको शैलियों के बीच स्विच करना पड़ता है अक्सर iText 5 में थकाऊ होना पड़ता है। आपको बहुत सारी Chunk ऑब्जेक्ट बनाने की आवश्यकता होती है और आपको हमेशा हर नए Chunk में शैलियों को लागू करने या बनाने के बीच एक व्यापार बंद करना पड़ता है एक सहायक विधि जो आपके लिए Chunk निर्माण करती है।

हमने iText 7 में क्या तय किया है:

यह अब श्रृंखला विधियों के लिए संभव है। setFont() , setFontSize() , addStyle() , और अन्य विधियाँ सभी उस ऑब्जेक्ट को लौटाते हैं जिस पर उनका आह्वान किया जाता है। अलग-अलग शैलियों से युक्त Paragraph जोड़ना अब एक पंक्ति में किया जा सकता है:

document.add(
    new Paragraph()
        .add("In this example, named ")
        .add(new Text("HelloWorldStyles").addStyle(style))
        .add(", we experiment with some text in ")
        .add(new Text("code style").addStyle(style))
        .add("."));

Style ऑब्जेक्ट का उपयोग करते हुए, आप अब अलग-अलग गुणों (फ़ॉन्ट, फ़ॉन्ट रंग, पृष्ठभूमि का रंग, फ़ॉन्ट आकार, ...) को एक बार में addStyle()

अधिक जानना चाहते हैं?

PdfFont वर्ग का परिचय दें जो iText 7 में अध्याय 1 है : बिल्डिंग ब्लॉक्स ट्यूटोरियल। मुफ्त ebook जाओ!

HelloWorldStyles.java (iText 5)

इस iText 5 उदाहरण में, हमें एक ही दस्तावेज़ में विभिन्न शैलियों के बीच स्विच करना होगा:

यहाँ छवि विवरण दर्ज करें

IText 5 में ऐसा करने का सबसे अच्छा तरीका, एक सुविधा विधि बनाना है जो शैली में एक Chunk बनाता है जिसे अक्सर उपयोग करने की आवश्यकता होती है; createBgChunk() विधि देखें:

public Chunk createBgChunk(String s, Font font) {
    Chunk chunk = new Chunk(s, font);
    chunk.setBackground(BaseColor.LIGHT_GRAY);
    return chunk;
}

अब हम इस विधि का उपयोग पीडीएफ बनाने वाले कोड में कर सकते हैं:

public void createPdf(String dest)
throws DocumentException, IOException {
    Document document = new Document();
    PdfWriter.getInstance(document, new FileOutputStream(dest));
    document.open();
    Font code = new Font(FontFamily.COURIER, 12, Font.NORMAL, BaseColor.RED);
    Paragraph p = new Paragraph("In this example, named ");
    p.add(createBgChunk("HelloWorldStyles", code));
    p.add(", we experiment with some text in ");
    p.add(createBgChunk("code style", code));
    p.add(".");
    document.add(p);
    document.close();
}

स्रोत: Developers.itextpdf.com

HelloWorldStyles.java (iText 7)

इस iText 7 उदाहरण में, हमें एक ही दस्तावेज़ में विभिन्न शैलियों के बीच स्विच करने की आवश्यकता है:

यहाँ छवि विवरण दर्ज करें

IText 7 में इसे प्राप्त करने का सबसे अच्छा तरीका है, एक Style ऑब्जेक्ट बनाना, और उस Style को Text ऑब्जेक्ट पर लागू करना है:

public void createPdf(String dest) throws IOException {
    PdfDocument pdf = new PdfDocument(new PdfWriter(dest));
    PdfFont code = PdfFontFactory.createFont(FontConstants.COURIER);
    Style style = new Style()
        .setFont(code)
        .setFontSize(12)
        .setFontColor(Color.RED)
        .setBackgroundColor(Color.LIGHT_GRAY);
    try (Document document = new Document(pdf)) {
        document.add(
            new Paragraph()
                .add("In this example, named ")
                .add(new Text("HelloWorldStyles").addStyle(style))
                .add(", we experiment with some text in ")
                .add(new Text("code style").addStyle(style))
                .add("."));
    }
}

स्रोत: Developers.itextpdf.com और iText 7: बिल्डिंग ब्लॉक्स ट्यूटोरियल।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow