itext
शैलियाँ: iText 5 बनाम iText 7
खोज…
टिप्पणियों
एक दस्तावेज़ बनाना जिसमें आपको शैलियों के बीच स्विच करना पड़ता है अक्सर 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: बिल्डिंग ब्लॉक्स ट्यूटोरियल।