itext
पीडीएफ निर्माण: iText 5 बनाम iText 7
खोज…
टिप्पणियों
DocListener लिए मूल डिजाइन में, एक उच्च-स्तरीय Document ऑब्जेक्ट बनाना संभव था, और फिर उस Document ऑब्जेक्ट को सुनने वाले अलग-अलग DocListener ऑब्जेक्ट्स हैं। यह विभिन्न लेखकों का उपयोग करके हासिल किया गया था: एक PdfWriter , एक HTMLWriter और एक RtfWriter । PdfWriter का उपयोग करते PdfWriter , आंतरिक रूप से एक PdfDocument बनाया गया था। इस निम्न-स्तरीय वर्ग ने सभी पीडीएफ-संबंधित संरचनाओं का ध्यान रखा। कमोबेश यही हाल दूसरे प्रारूपों का भी था।
वर्षों में, iText विशेष और यह एक शुद्ध पीडीएफ पुस्तकालय बन गया। HTML और RTF के निर्माण को छोड़ दिया गया था, इसलिए अब PdfWriter बनाने से पहले Document बनाना आवश्यक नहीं था, लेकिन हमें मूल आर्किटेक्चर से चिपके रहना था क्योंकि हम API को तोड़ने के लिए तैयार नहीं थे।
इन वर्षों में, हमने iText में अधिक से अधिक पीडीएफ कार्यक्षमता जोड़ी, और यह तथ्य कि PdfDocument केवल आंतरिक उपयोग के लिए एक वर्ग था समस्याग्रस्त हो गया। हमने वर्कअराउंड का उपयोग किया ताकि हम पीडीएफ पीडीएफ सुविधाओं को लागू कर सकें जो कि PdfDocument क्लास में थे, जब तक कि हम उस सीमा तक नहीं पहुंच गए, जिसे हमने वर्कअराउंड के रूप में स्वीकार्य माना।
जब हमने iText को खरोंच से फिर से लिखने और iText के लिए एक पूरी तरह से नया आर्किटेक्चर बनाने का फैसला किया। अब हमारे पास PdfDocument (निम्न-स्तरीय संचालन के लिए) और Document (उच्च-स्तरीय कार्यक्षमता के लिए) के बीच एक स्पष्ट अंतर है। हमें अब दस्तावेज़ नहीं खोलना है, और यदि हम संसाधनों के साथ दृष्टिकोण का उपयोग करते हैं, तो हमें इसे स्वयं बंद करने की आवश्यकता नहीं है।
अधिक जानना चाहते हैं? मुफ्त ebook जाओ!
HelloWorld.java (iText 5)
मान लीजिए कि हम एक सरल हैलो वर्ल्ड दस्तावेज़ बनाना चाहते हैं:
IText 5 में, यह इस तरह किया जाएगा:
public void createPdf(String dest)
throws DocumentException, IOException {
Document document = new Document();
PdfWriter.getInstance(
document, new FileOutputStream(dest));
document.open();
document.add(new Paragraph("Hello World!"));
document.close();
}
स्रोत: Developers.itextpdf.com
HelloWorld1.java और HelloWorld2.java (iText 7)
मान लीजिए कि हम एक सरल हैलो वर्ल्ड दस्तावेज़ बनाना चाहते थे:
IText 7 में, हम ऐसा कर सकते हैं:
public void createPdf(String dest) throws IOException {
PdfDocument pdf = new PdfDocument(new PdfWriter(dest));
Document document = new Document(pdf);
document.add(new Paragraph("Hello World!"));
document.close();
}
या, हम इसे इस तरह भी कर सकते हैं:
public void createPdf(String dest) throws IOException {
PdfDocument pdf = new PdfDocument(new PdfWriter(dest));
try (Document document = new Document(pdf)) {
document.add(new Paragraph("Hello World!"));
}
}
स्रोत: Developers.itextpdf.com और iText 7: बिल्डिंग ब्लॉक्स ट्यूटोरियल।

