itext tutorial convert data pdf report using java itext
यह iText ट्यूटोरियल चर्चा करता है कि जावा और iText लाइब्रेरी का उपयोग करके पीडीएफ रिपोर्ट की एक सुरक्षित, एकल फॉर्म में बल्क डेटा को कैसे मैनिपुलेट किया जाए:
iText एक समेकित रिपोर्ट उत्पन्न करने का उपकरण है जहां हम थोक डेटा को इकाई के एकल रूप में हेरफेर कर सकते हैं जो सार्थक जानकारी रखता है।
iText एक जावा पीडीएफ लाइब्रेरी है जिसका उपयोग जावा प्रोग्राम विकसित करके पीडीएफ दस्तावेजों को बनाने और हेरफेर करने के लिए किया जाता है। IText लाइब्रेरी की कुछ विशेषताओं में इंटरैक्टिव PDF दस्तावेज़ बनाना, बुकमार्क जोड़ना, छवि फ़ाइलों के रूप में PDF को सहेजना, मौजूदा PDF को कई PDF में विभाजित करना और मर्ज करना आदि शामिल हैं।
आप क्या सीखेंगे:
- क्यों iText?
- IText क्या है?
- IText रिपोर्ट कैसे शुरू करें?
- JSP के माध्यम से रिपोर्ट कैसे आमंत्रित करें?
- परीक्षक कैसे रिपोर्ट कर सकते हैं?
- जावास्क्रिप्ट (जेएस) में कैसे आमंत्रित करें?
- जावा रिपोर्ट में फ़ंक्शन का निर्माण कैसे करें?
- अलर्ट और अपवाद को संभालना
- सर्वर
- Itext जावा में संरेखण
- IText का उपयोग कौन कर सकता है?
- निष्कर्ष
क्यों iText?
यह एक स्वचालित रिपोर्ट के बहुमुखी वातावरण में काम करता है जो Apache Tomcat, JBoss, Junit जैसे विशिष्ट सर्वरों द्वारा निर्मित होता है। यह उपयोगकर्ता की आवश्यकताओं के अनुसार एक उपयोगकर्ता-परिभाषित दस्तावेज़ प्रदान करता है।
क्या iText सुरक्षा उन्मुख है?
यह उन तरीकों की पेशकश करता है, जिनके साथ सुरक्षा से संबंधित संचालन जैसे कि पासवर्ड-संरक्षित या उपयोगकर्ता से इनपुट्स मान्य करने के आधार पर दस्तावेजों को पुनः प्राप्त किया जा सकता है जैसे पैन विवरण दर्ज करके पेपल खोलना।
आजकल, हम आम तौर पर हार्ड कॉपी के बजाय सॉफ्ट कॉपी में डेटा को सहेजना पसंद करते हैं। कागजात की तुलना में सर्वर पर रिपोर्ट स्टोर करना बेहतर है। जब भी आपको रिपोर्ट की आवश्यकता हो तो बस जावा फ़ाइल को चलाएं और इसे तब और वहाँ उत्पन्न करें।
इस लेख में, हम निम्नलिखित प्रश्नों का हल खोजने की कोशिश करते हैं:
c प्रोग्रामिंग साक्षात्कार प्रश्न और उत्तर
- क्या हम बहु-कार्यक्षमता का उपयोग कर सकते हैं?
- क्या इसका उपयोग केवल रिपोर्ट तैयार करने के लिए किया जाता है?
- हम ईटैक्स का उपयोग कहां कर सकते हैं?
- क्या यह नई रिपोर्ट बना सकता है?
- मैं एक परीक्षक हूं, क्या यह मेरे लिए मददगार है?
IText क्या है?
IText टूल का आउटपुट जावा द्वारा एकीकृत एक पीडीएफ रिपोर्ट है। यह पीडीएफ व्यवहार, घटकों को विरासत में मिला है, और एक संगत रिपोर्ट उत्पन्न करता है।
iText एक सहकारी स्रोत के साथ एक ओपन-सोर्स एपीआई है, जिसमें पूर्ण-प्रवाह, प्रकाश की प्रिज्म पैठ, और रिपोर्ट पीढ़ी की नींव शामिल है।
उदाहरण के लिए: भारतीय रेलवे टिकट के एक उदाहरण पर विचार करें। यहां, हम चाहते हैं कि टिकट की उपलब्धता की खोज से लेकर टिकट बुक करने तक की टिकट प्रक्रिया के विस्तृत सारांश का प्रिंट लिया जाए।
इसके बाद, हम समझेंगे कि iText इस आवश्यकता के साथ हमारी मदद कैसे कर सकता है।
कुछ विशेषताएं इस प्रकार हैं:
- आवेदन का पूरा सारांश (सीएसए)
- आसान ट्रैकिंग विवरण (ETD)
- आसान प्रसंस्करण अनुप्रयोग (EPA)
IText रिपोर्ट कैसे शुरू करें?
जावा के माध्यम से ईटेक्स्ट तक पहुंचना आसान है। इसका उदाहरण एक उदाहरण की मदद से दिया गया है।
बिजनेस एनालिस्ट (BA) को क्लाइंट से बिजनेस प्रोसेस डॉक्यूमेंट (BPD) और फंक्शनल स्पेसिफिकेशन डॉक्यूमेंट (FSD) मिलता है, जो एप्लिकेशन से उनकी अपेक्षाओं को समझाता है।
हम एक परिदृश्य लेते हैं। बीए रिपोर्ट तैयार करने के साथ-साथ हमारे आधार उत्पाद कैसे इस का समर्थन कर सकते हैं के बारे में कई आवश्यकताएं लाईं। प्रतिष्ठित ग्राहकों से इस तरह के विनिर्देशों से हमें लगता है कि परियोजना को किसी भी तरह से खोना नहीं है क्योंकि एक सुसंगत तरीके से रिपोर्ट प्राप्त करने के तरीके पर कई भ्रम और दुविधा है।
उत्पन्न रिपोर्ट में ऐसा भ्रम क्यों है?
ऐसा इसलिए है क्योंकि एप्लिकेशन में मौजूद डेटा रिपोर्ट में डेटा का प्रतिबिंब दिखाता है। यह अनुप्रयोग में प्रत्येक नोड की जांच करने के लिए नहीं जाता है (जैसे कि एमआरआई स्कैन में किया जाता है)। इस प्रकार, यह सबसे आसान तरीका है।
हाँ बिल्कुल। लेकिन हमारा ग्राहक डेटा के गतिशील होने की उम्मीद करता है। उपलब्ध आंकड़ों के आधार पर, रिपोर्ट को गतिशील तरीके से उत्पन्न किया जाना चाहिए।
आइए हम इस पर एक वास्तविक समय के उदाहरण के साथ चर्चा करें।
परिद्रश्य 1: स्टेटिक डेटा हार्डकोड किया जा सकता है और रिपोर्ट उत्पन्न कर सकता है। यहां, ऋण राशि और संपत्ति मूल्य संवितरण से पहले नहीं बदलते हैं।
कृपया उपरोक्त परिदृश्य के लिए नीचे की छवि देखें:
दृश्य २ : इस परिदृश्य में, संपत्ति का मूल्य दिन-प्रतिदिन बढ़ता जाता है और लोन अमाउंट प्रिंसिपल को हर साल कम किया जाना चाहिए, और इस तरह भविष्यवाणी की गई डेटा गतिशील है।
एक ग्राहक विभिन्न वित्तीय वर्षों के लिए विवरण प्रदान करने के लिए आ सकता है और हमसे संपर्क कर सकता है क्योंकि उसने कार्यकाल को बदल दिया है और इसके आधार पर ईएमआई विविध थी। यदि आपने नीचे दिए गए चित्र में दिखाए अनुसार डेटा को हार्डकोड किया है, तो आप रेड-हैंडेड पकड़े जाएंगे।
उस मामले पर विचार करें जहां रिपोर्ट को गतिशील माना जाता है। हम इसे आगे नहीं रख सकते क्योंकि यह है हमें तकनीकी निरीक्षण करना होगा और विकास और परीक्षण शुरू करने से पहले आवश्यकताओं को स्पष्ट रूप से चलना होगा।
हमें डिज़ाइन हिस्से पर बहुत स्पष्ट रूप से ध्यान केंद्रित करना चाहिए जहां अनुमोदन व्यापार विश्लेषक से किया जाता है। यह एक अच्छा तरीका है क्योंकि बाद में उठाए गए किसी भी यूएटी मुद्दों को हम पर इंगित नहीं किया जा सकता है। डायनामिक रिपोर्ट जनरेशन की इस समस्या के समाधान की भविष्यवाणी केवल रिपोर्ट बनाने में जावा अवधारणाओं का उपयोग करने के लिए की गई है।
रिपोर्ट कैसे कॉल करें?
नीचे दिए गए चित्र रिपोर्ट बनाने की प्रक्रिया को दर्शाते हैं:
JSP के माध्यम से रिपोर्ट कैसे आमंत्रित करें?
जहां भी हम जावा कहते हैं, यूआई डिजाइन करना आवश्यक है क्योंकि यह सामने के छोर से आगे बढ़ने के लिए एक गाइड मैप के रूप में कार्य करेगा। यह एक आसान तरीका है क्योंकि हम रिपोर्ट कॉल सीख सकते हैं।
चलिए, हम एक उदाहरण पर विचार करते हैं:
Software Report
हम रिपोर्ट को इस तरह से कॉन्फ़िगर कर सकते हैं:
- रिपोर्ट का नाम: सॉफ्टवेयर रिपोर्ट (आवेदन में प्रदर्शित)
- जेएस के माध्यम से रिपोर्ट करना: सैंपल रिपोर्ट
- ड्रॉप मेनू: एकाधिक रिपोर्ट एकीकृत कर सकते हैं
- क्लिक पर: जावास्क्रिप्ट समारोह
परीक्षक कैसे रिपोर्ट कर सकते हैं?
परीक्षक आमतौर पर ककड़ी फ्रेमवर्क, कीवर्ड ड्रिवेन फ्रेमवर्क और डेटा-ड्रिवेन फ्रेमवर्क का उपयोग करके स्वचालन स्क्रिप्ट के माध्यम से प्रतिगमन परीक्षण पसंद करते हैं।
ग्राहक की आवश्यकताओं के आधार पर रिपोर्ट प्रदान करने के लिए, हम रेडीमेड आर्किटेक्चर के साथ आगे बढ़ सकते हैं अर्थात् iText जहाँ इनबिल्ट टूल को रिपोर्टर फ़ाइल के गुणों और व्यवहार के साथ-साथ कलाकृतियों को वितरित करना होता है।
परीक्षक आईआईएक्सएक्सटैक जावा का उपयोग करके संबंधित चरणों जैसे एसआईटी, यूएटी, और उत्पादन परीक्षण के आधार पर समेकित रिपोर्ट जैसे कि रिमेनिंग बग लिस्ट (आरबीएल), टेस्ट डिलिवरेबल्स प्रतिशत, बग आईडी मैपिंग बना सकते हैं।
उस परिदृश्य पर विचार करें जिसे कई रिपोर्ट कॉन्फ़िगर करने की आवश्यकता है।
नीचे दिए गए कोड से पता चलता है कि जेएसपी का उपयोग कैसे किया जाता है जो कि हम सामने के छोर पर देखते हैं। निम्नलिखित विधि का उपयोग किया जाता है:
Software Report Software Report1 Software Report2
जावास्क्रिप्ट (जेएस) में कैसे आमंत्रित करें?
आम तौर पर, हम जेएस में सत्यापन कर सकते हैं, लेकिन आप इसे जावा में भी कर सकते हैं। जावास्क्रिप्ट निष्पादक को कॉलिंग फ़ंक्शन के लिए हमारे पैकेज में शामिल किया गया है और एक रिपोर्ट बनाने के लिए कार्यक्रम को लागू करने के लिए जो बहुत संगत है।
यह एक तर्क के रूप में एक मालिक वस्तु के साथ आह्वान (कॉल) विधि के लिए इस्तेमाल किया जा सकता है।
Function onload(){ String ReportName=””; if(ReportName==' Sample Report'){ var applnNum=''; //It is passing Application Number from the session which is active var UrlToPass = SchedulerServlet?action=samplereport &SubAction=StandardRepose &ReportName='+ ReportName +'& applnNum ='+ applnNum } }
उपरोक्त विधि संभालती है लदाई पर() फ़ंक्शन जो अनुप्रयोग में लागू किया जा सकता है वह बहुत ही बहुमुखी है जो रिपोर्ट उत्पन्न करने के लिए URL को ट्रिगर करता है।
जावा रिपोर्ट में फ़ंक्शन का निर्माण कैसे करें?
जावा प्रोग्राम में अलर्ट और अपवादों को संभालता है और रिपोर्ट पीढ़ी को निष्पादित भी करता है।
इसे एक उदाहरण की मदद से स्पष्ट करते हैं।
Document Doc =new Document ();
यह दस्तावेज़ बनाने का तरीका है और यह प्लेटफ़ॉर्म भी है जो रिपोर्ट को एकीकृत करता है।
Doc.open();
दस्तावेज़ को खोलने के लिए उपरोक्त कमांड का उपयोग किया जाता है। इस आदेश को शामिल करना महत्वपूर्ण है जैसे कि यह शामिल नहीं है, यह दस्तावेज़ अपवाद को फेंक देगा।
Doc.close();
उपरोक्त कमांड का उपयोग दस्तावेज़ को बंद करने के लिए किया जाता है जो जेवीएम को इंगित करता है कि दस्तावेज़ ने लिखना बंद करना स्वीकार कर लिया है। इस आदेश को शामिल करना महत्वपूर्ण है जैसे कि यह शामिल नहीं है, यह दस्तावेज़ अपवाद को फेंक देगा।
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(RESULT));
उपरोक्त कमांड उस दस्तावेज़ को दिखाता है जो PDFWriter के माध्यम से पीडीएफ के गुणों को एकीकृत करता है, दस्तावेज़ को कॉल करता है, और इसे दृश्यमान बनाता है।
Paragraph para = new Paragraph ();
एक पैराग्राफ ऑटोफिट सामग्री का उदाहरण लिखता है और आवश्यकता के थोक लाइनों को भी लिखता है।
Doc.setpercentage(%to be given);
उपरोक्त कमांड में, पीडीएफ को कॉल करने के लिए एक दस्तावेज़ को आमंत्रित किया गया है, जिसमें शामिल प्रतिशत द्वारा परिभाषित किया गया है।
public static final String output FileName = 'sample output/Automation/sample report.pdf';
उपरोक्त कमांड डबल-कोट्स में शामिल डॉक्यूमेंट नाम और रिपोर्ट को क्लिक करने के बाद फाइल को स्टोर करने के लिए निर्दिष्ट करता है।
writer. setPdfVersion(PdfWriter.VERSION_1_9);
यहाँ, यह रिपोर्ट में पीडीएफ संस्करण को सेट करने का तरीका दिखाता है।
document. setPageSize (PageSize.A4);
हम यह भी निर्धारित कर सकते हैं कि आवश्यकताओं के आधार पर रिपोर्ट को किस प्रकार वितरित किया जाना है। पृष्ठ का आकार ए 3, ए 4, ए 5, आदि।
document. setMargins(24, 43, 34, 43);
हम मार्जिन को सेट करने के लिए उपरोक्त कार्यक्षमता का उपयोग कर सकते हैं और हम दस्तावेज़ के भीतर इसे सामान्य रूप से फिट करने के लिए ऑटोफिट विधि का उपयोग कर सकते हैं।
document.setMarginMirroring(true);
उपरोक्त कमांड मार्जिन मिरर सेटिंग की विधि प्रदर्शित करता है।
धार फ़ाइल के साथ क्या करना है
अलर्ट और अपवाद को संभालना
जावा में अलर्ट और अपवादों को संभालना महत्वपूर्ण है।
कुछ अलर्ट जो हम रनटाइम के दौरान आते हैं, उन्हें नीचे सूचीबद्ध किया गया है:
- NoSuchElement अपवाद
- शून्य सूचक अपवाद
- अपवाद सूचकांक का अपवाद
- दावा त्रुटि
- अनहेल्दी अलर्ट
- एसक्यूएल अपवाद
- टाइमआउट अपवाद
- दस्तावेज़ अपवाद
कभी-कभी, डेवलपर एक कोशिश करने वाले ब्लॉक के अपवाद को भी प्रिंट कर सकता है। अपवाद को पकड़ ब्लॉक के तहत संलग्न किया गया है।
उदाहरण:
try{ Scanner in= new Scanner(System.in); Int n; System.out.println(“Enter the number to check:” +n); n=in.nextInt(); If(n%2==0){ System.out.println(“Even Number ”); }else{ System.out.println(“ODD Number”); } }catch(Exception e){ e.printstacktrace(); System.out.println(“Exception occurred:” +e); }
नमूना आउटपुट: सकारात्मक परिदृश्य
जाँच करने के लिए संख्या दर्ज करें: 2
सम संख्या
नमूना आउटपुट: नकारात्मक परिदृश्य
जाँचने के लिए संख्या दर्ज करें: a
एक अपवाद हुआ: अवैध प्रारूप अपवाद
स्पष्टीकरण:
इनपुट के रूप में एक नंबर दिया जाना चाहिए क्योंकि हमने उपरोक्त कोड उदाहरण में as n 'को एक इंटिजर के रूप में परिभाषित किया है। यदि हम किसी भी वर्णमाला में प्रवेश करते हैं, जहां वह रेमिनेडर (उपयोग किए गए% मापांक) प्राप्त करने की कोशिश करता है, तो यह किसी भी डेटा को पुनर्प्राप्त नहीं करेगा और केवल कैच ब्लॉक का उपयोग करके अपवाद को फेंक देगा।
जावा में त्रुटि और अपवाद के बीच सटीक अंतर:
एक त्रुटि आपको प्रोग्राम को निष्पादित करने से रोक देगी लेकिन प्रोग्राम को चलाते समय एक अपवाद पकड़ा जाएगा, जबकि यह आपके निष्पादन को रोक नहीं सकता है।
एक फ़ाइल लॉग लॉगिंग:
हर विधि या मॉड्यूल के लिए लॉग लिखना हमें पहचान देता है कि जेवीएम निष्पादन कहां बंद करता है। एक लॉग आमतौर पर उस मान को प्रदर्शित करता है जहां यह निर्दिष्ट लॉग फ़ाइल में संग्रहीत होता है और किस तरह से प्रोसेसर एप्लिकेशन में जावा प्रोग्राम को निष्पादित करता है।
System.out.println (SOP) और लॉग के बीच अंतर:
दोनों मूल्य को प्रदर्शित करते हैं या जो भी सामग्री दोहरे-उद्धरणों में दर्ज की जाती है उसे प्रदर्शित करते हैं। लेकिन वो इन दोनों के बीच अंतर हैं: जबकि प्रोग्राम चल रहा है, एप्लिकेशन कंसोल पर मूल्यों को SOP कमांड द्वारा प्रिंट करता है। लेकिन एक बार जब हमने कंसोल की सामग्री को मिटा दिया है, तो मूल्य को खोजना मुश्किल है। ऐसा तब भी होता है जब हमारे पास कई SOP होते हैं।
मूल रूप से, लॉग फ़ैक्टरी कमांड मानों को पुनः प्राप्त और अद्यतन कर सकता है। हम लॉग फ़ाइल को किसी भी कीमत पर देख सकते हैं क्योंकि यह हर बार सिस्टम दिनांक और समय के साथ प्रत्येक रन पर लिखता है।
उदाहरण:
private static Log logFile= LogFactory.getLog(SampleProgram.class);
सर्वर
सर्वर कॉर्पोरेट में एक महत्वपूर्ण भूमिका निभाते हैं क्योंकि यह निर्धारित कर सकता है कि कार्यक्रम निष्पादन पारित किया गया है या नहीं।
स्थानीय सर्वर वे सर्वर होते हैं जहां हम अपने स्थानीय मशीन में प्रोग्राम को निष्पादित कर सकते हैं। हम निम्नलिखित स्थानीय सर्वर का उपयोग कर सकते हैं:
- अपाचे तोमकैट
- JBoss
एक बार कोड में है तैयार राज्य, इसे निर्दिष्ट सर्वर पर तैनात किया जाना चाहिए और इसे पुनः आरंभ करने की आवश्यकता है। हम निम्नलिखित सर्वर का उपयोग कर सकते हैं:
- ओरेकल वेबलॉजिक
- आईबीएम वेब्स्फेयर
नमूना कार्यक्रम:
उस कार्यक्रम पर विचार करें जहां यह iText कार्यान्वयन की प्रक्रिया कर सकता है।
/****Importings Header Functions package pkg_Name import java.util.HashMap; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.ommons.logging.Log; import com.commons.logging.LogFactory; /** * Implementing Report for generating Report */ public class ReportsController extends HttpServlet { private static Log Log = LogFactory.getLog(ReportsController.class); /** * Default constructor Used in the method. */ public ReportsController() { TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doPost(request, response); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ public void doPost(HttpServletRequest pRequest, HttpServletResponse pResponse) throws ServletException, IOException { String action = null; try { Action = pRequest.getParameter('action'); if(Log.isDebugEnabled()) log.debug('action '+action); if(action != null) { Action = Action.trim(); if(Action.equals('createReport')) { createReport(pRequest,pResponse); }}} catch(Exception Ex) { Log.fatal('Exception in ReportsController: '+pEx.toString()); } } // Get the Report name from UI private void createReport(HttpServletRequest pRequest, HttpServletResponse pResponse) throws Exception { if(log.isDebugEnabled()) log.debug('createReport '); String nameofReport = null; try { nameofReport = pRequest.getParameter('ReportName'); if(log.isDebugEnabled()) log.debug('nameofReport '+nameofReport); if(nameofReport != null) { nameofReport = nameofReport.trim(); if(nameofReport.equals('FirstRepo')) { getFirstRepo (pRequest,pResponse); } if(nameofReport.equals('SecondRepo')) { getSecondRepo (pRequest,pResponse); }}} catch(Exception pEx) { log.print('Exception in createReport - while getting Connection: '+pEx.toString()); } } // Add for FirstRepo private void getFirstRepo(HttpServletRequest pRequest, HttpServletResponse pResponse) throws Exception { if(log.isDebugEnabled()) log.debug('getFirstRepo '); String Url = null; String Referno = null; String lproductDesc = null; String lFileName = null; RequestDispatcher requestDispatcherObj = null; try { Referno = pRequest.getParameter('ApplNum'); productDesc=pRequest.getParameter('ProdDesc'); if(log.isDebugEnabled()) log.debug('lReferno '+lReferno); if(log.isDebugEnabled()) log.debug('lproductDesc '+lproductDesc); RequestDispatcherObj.forward(pRequest, pResponse); } catch(Exception pEx) { log.fatal('Exception in createReport - while getting Connection: '+pEx.toString()); } }
Itext जावा में संरेखण
आम तौर पर, उपयोगकर्ताओं को एक विशिष्ट प्रारूप में रिपोर्ट दस्तावेजों की आवश्यकता होती है क्योंकि रिपोर्ट में स्पष्ट रूप से यह दर्शाया जाना चाहिए कि आप क्या और कैसे परिणाम दिखाना चाहते हैं। IText इससे आपको मदद मिलती है।
नमूना कार्यक्रम
Package com. Softwaretesting.itext; Import java io.fileoutputstream; Import com itext pdf.Text.Document; //Through this I am including a paragraph in my PDF; Import com itextpdf.Text.Paragraph; //use the below code to write in the PDF Import com. Itext pdf.pdfwriter; Public class Alignmentpdf{ //class starts from here and Start writing in below specified file Private static string file=” Alignmentpdf.pdf”; System out.println(“Document entered is…”+ file); //JVM Starts executing from main method i.e. below code Public static void main (string () args){ //JVM starts compiling from here try { Document doc =new document (); Pdfwriter.getInstance(doc, new file output stream (file)); // Below function which makes to open the document in the front end doc.open(); Paragraph para=new paragraph(“first para”); //Paragraph usually maintains more than one sentence //If Sentence needs to be aligned at Left, use below code Para.setAlignment(Element.ALIGN_LEFT); doc.add(para); // If Sentence needs to be aligned at Right, use below code Paragraph para1=new paragraph(“alignment should be done in second”); Para1 set alignment (Element.ALIGN-RIGHT); doc.add (para1); /*you can create same paragraph object like para or para1 based on user convenience throughout the program. But I am using different object because of showing the difference for Reader Understanding*/ Paragraph para2 = new paragraph (“Alignment is in Centre”); // If Sentence needs to be aligned at the center, use below code Para2 set alignment (Element.Align_CENTER); doc.add(para2); doc.close(); } Catch (DocumentException e){ e. printstacktrace(); System.out.println(“Printed Java Program”); }}}
क्या iText का उपयोग एक नया बनाने के लिए किया जाता है या किसी मौजूदा को अपडेट करने के लिए?
एक सवाल उठ सकता है कि क्या iText का उपयोग केवल एक नया पीडीएफ बनाने के लिए किया जाता है? उत्तर नहीं है, नई पीडीएफ रिपोर्ट तैयार करने के अलावा, iText कुछ सुविधाएं भी प्रदान करता है जैसे कि एक मौजूदा पीडीएफ को अपडेट करना और समेकित आउटपुट प्रदान करना जिसमें अद्यतन परिवर्तन शामिल है।
नमूना कोड:
// Reading Input file from where the need to copy Private static string file-to-be-given=”D:/software/Existingpdf.pdf;” // Reading Input file from where the need to paste Private static string file-to-be-output=”D:/software/outputpdf pdf” doc.open(); pdfReader reader =new pdfReader (file-to-be-given); //Getting Number of pages before enters into for Loop Int n= reader.getNopages(); PdfImportedpage pager; //Reading all pages in pdf For (int i=1;i<=n; i++){ If(i==5) { //I need to add only 5th Page in my new PDF Pager=writer.getImportedpage(reader,i); Paragraph para= new paragraph (“Its adding”); doc. add (para); } doc. close(); }
IText पंक में हिस्सा:
चंक एक नई तकनीक है जो पीडीएफ में उपलब्ध स्थान में फिट होती है और जिसके साथ कुछ भी करने की आवश्यकता नहीं होती है।
नमूना कार्यक्रम:
doc.open(): doc.add(new chunk (“1st order”)); doc.add(new chunk(“2nd order”)); doc.add(new chunk(“3rd order”)); doc.close();
IText का उपयोग कौन कर सकता है?
प्रोफ़ाइल | विकास | पहुँच देखें |
---|---|---|
विकास | संभव के | यूजर फ्रेंडली |
टेस्टर | आंशिक रूप से संभव | यूजर फ्रेंडली |
व्यापार विश्लेषक | संभव नहीं | यूजर फ्रेंडली |
ग्राहक | संभव नहीं | यूजर फ्रेंडली |
निष्कर्ष
iTextpdf आमतौर पर आवेदन परिणाम की ओर जावा का उपयोग करते हुए रिपोर्ट योगदान को विस्तृत करता है
'IText जावा है, लेकिन यह पीडीएफ उत्पन्न करता है जो उपयोगकर्ता के अनुकूल होगा और क्रिस्टल स्पष्ट रिपोर्ट उत्पन्न कर सकता है'
IText के लाभ:
- उच्च और निम्न-स्तरीय अनुप्रयोग प्रसंस्करण इंटरफ़ेस (API)
- अंत एंड टू एंड सर्विसेज (पीईई) में संगतता
- मोबाइल उपयोगकर्ताओं के लिए टेक्स्ट फ्लो रीचेक उपलब्धता (TFRAM)
- अनुकूलता।
- क्रॉस-प्लेटफ़ॉर्म उपलब्धता।
IText के नुकसान:
- यह विशिष्ट डिजाइन प्राप्त करने में सक्षम नहीं है।
- OOP की अवधारणाओं की पूरी जानकारी आवश्यक है
अनुशंसित पाठ
- उदाहरणों के साथ जावा परावर्तन ट्यूटोरियल
- Java SWING Tutorial: कंटेनर, कंपोनेंट्स एंड इवेंट हैंडलिंग
- जावा ट्यूटोरियल फॉर बिगिनर्स: 100+ हैंड्स-ऑन जावा वीडियो ट्यूटोरियल
- जावा में एक्सेस संशोधक - उदाहरण के साथ ट्यूटोरियल
- स्ट्रिंग स्ट्रिंग बफर और स्ट्रिंग बिल्डर ट्यूटोरियल के साथ जावा स्ट्रिंग
- डेटा मार्ट ट्यूटोरियल - डेटा मार्ट के प्रकार, उदाहरण और कार्यान्वयन
- जावा स्ट्रिंग में () उदाहरण के साथ विधि ट्यूटोरियल शामिल हैं
- जावा स्ट्रिंग ट्यूटोरियल | उदाहरण के साथ जावा स्ट्रिंग के तरीके