java - जावा उत्पादों के साथ पीडीएफ पीढ़ी के लिए इन उत्पादों की तुलना करें: iText, Apache PDFBox या FOP?




pdf-generation apache-fop (5)

उस पर सवाल थे लेकिन हाल ही में नहीं और तब से प्रौद्योगिकी आगे बढ़नी चाहिए।

आवश्यकताएँ:

  • पूर्वनिर्धारित टेम्पलेट के आधार पर पीडीएफ दस्तावेज़ उत्पन्न करना (मैं या तो पीडीएफ फॉर्म या xsl-fo का उपयोग कर सकता हूं)
  • पाठ डेटा भरने में सक्षम होना
  • ग्राफिकल डेटा भरने में सक्षम होने (जेनरेट बार कोड)
  • पैचिंग के बिना उत्पादन वातावरण में पीडीएफ टेम्पलेट को बदलने में सक्षम होने (recompiling)
  • डेटाबेस में सहेजने के लिए पीडीएफ फ़ाइल उत्पन्न करना (ब्लॉब के रूप में) और / या मुद्रित
  • खुला स्रोत / मुफ्त

मान लिया गया विकल्प iText, PDFBox, FOP, और कुछ भी है? उपर्युक्त आवश्यकताओं के आधार पर सिफारिशें क्या हैं?


  1. मैं संदेश भेजता हूं; आजकल iText एक वाणिज्यिक पुस्तकालय है, नवीनतम संस्करण अब मुफ्त में नहीं है
  2. एफओपी; मैंने एफओपी के साथ बहुत काम किया। यह काफी संसाधन गहन (जावा> एक्सएमएल> एक्सएसएलटी> पीडीएफ) है और जटिल पीडीएफ एक दुःस्वप्न बन जाता है (परिणामस्वरूप 20 के + एलसीसी के साथ एक्सएसएलटी हो सकता है)
  3. PDFBox; यह सबसे अच्छा विकल्प प्रतीत होता है हालांकि मैंने बड़ी परियोजनाओं में इसके साथ काम नहीं किया था
  4. अभी तक फ्लाइंग सॉसर की जांच नहीं की गई

निष्कर्ष निकालने के लिए, मैं पीडीएफबॉक्स को आज़मा दूंगा। आपकी बार कोड आवश्यकताओं के आधार पर आपको पीडीएफ में अपना बारकोड (फ़ॉन्ट) इनलाइन करना होगा या अपने ग्राहकों को फ़ॉन्ट वितरित करना होगा - उन मुद्दों का ख्याल रखना।



मुझे लगता है कि आपके मानदंड iText और Apahce FOp दोनों से मिल सकते हैं लेकिन यहां आपके कुछ अतिरिक्त मानदंड हैं:

  • लाइसेंसिंग: एफओपी अपाचे लाइसेंस पर आधारित है और इसलिए व्यावसायिक उपयोग के लिए भी "दोस्ताना" है
  • flexbility: iText की तरह एक निम्न स्तर एपीआई उच्च स्तर एफओपी से अधिक लचीला है
  • दृश्य उपकरण: यहां एफओपी के लिए एक डिजाइनर है
  • प्रोग्रामिंग मॉडल: iText प्रोग्रामिंग एपीआई पर आधारित है जबकि एफओपी को एक्सएसएलएफओ टेम्पलेट और कम प्रोग्रामिंग की आवश्यकता है।
  • मालिकाना बनाम मानक। अपाचे एफओपी एक मानक पर आधारित है और इसलिए विक्रेता स्वतंत्र है, जबकि iText एक proprietaRy एपीआई है
  • प्रदर्शन: यह कहा जाता है कि एफओपी अधिक कंप्यूटिंग गहन है। यह निश्चित रूप से निर्भर करता है कि आपकी लक्षित पीडीएफ फाइलें क्या हैं। यह एफओपी का उपयोग करने के लिए मेरे लिए कभी भी एक मुद्दा नहीं था।

मैं पीडीएफबॉक्स का उपयोग नहीं करता, यह मौजूदा पीडीएफ फाइल को पढ़ने और संशोधित करने के लिए अच्छा है लेकिन पीडीएफबॉक्स का उपयोग करके स्क्रैच से फाइल बनाना बहुत काम हो सकता है।


मैं थोड़ा पक्षपातपूर्ण (कमिटर) हूं, लेकिन मैं iText का सुझाव देता हूं।

पूर्वनिर्धारित टेम्पलेट के आधार पर पीडीएफ दस्तावेज़ उत्पन्न करना (मैं या तो पीडीएफ फॉर्म या xsl-fo का उपयोग कर सकता हूं)

पीडीएफ फॉर्म: जांचें

पाठ डेटा भरने में सक्षम होना

पीडीएफ फॉर्म, चेक करें। आप प्रोग्रामेटिक लेआउट भी कर सकते हैं।

ग्राफिकल डेटा भरने में सक्षम होने (जेनरेट बार कोड)

चेक। एक ज्ञात स्थान (जो "इस विशेष एनोटेशन का स्थान" हो सकता है) को देखते हुए, iText आपके लिए एक सिम्बोलॉजी और मूल्य दिए गए बारकोड को आकर्षित करेगा। आप यहां सूचीबद्ध स्थिरांक से समर्थित symbologies की एक सूची को कम कर सकते हैं।

इस तरह की चीज के लिए, मैं बटन फ़ील्ड का उपयोग "आइकन केवल" उपस्थिति के साथ करता हूं। "आइकन" कुछ मनमानी पीडीएफ ड्राइंग निर्देश, या एक छवि है। iText की बारकोड सामग्री एक PdfTemplate तैयार करेगी PdfTemplate आप बिना किसी परेशानी के बटन में रख सकते हैं।

पैचिंग के बिना उत्पादन वातावरण में पीडीएफ टेम्पलेट को बदलने में सक्षम होने (recompiling)

यदि आपका सभी लेआउट पीडीएफ टेम्पलेट में बेक किया गया है, और आपका "बारकोड यहां जाता है" जानकारी स्रोत में हार्ड कोड नहीं है, तो आप सुनहरे हैं।

डेटाबेस में सहेजने के लिए पीडीएफ फ़ाइल उत्पन्न करना (ब्लॉब के रूप में) और / या मुद्रित

एक पीडीएफ एक पीडीएफ एक पीडीएफ है। बिल्ली, आपके हिस्से पर कुछ अतिरिक्त काम के साथ, आप पीडीएफ / ए फाइल बनाने के लिए iText का उपयोग कर सकते हैं। "ए" पुरालेख के लिए है।

खुला स्रोत / मुफ्त

ओपन सोर्स: हां। एमपी 2 का उपयोग करने के लिए v2.1.7 अंतिम संस्करण था। 5.x के बाद से, सभी iText रिलीज एजीपीएल के तहत हैं। हां, iText iText और iTextSharp के बीच संस्करण संख्या को सिंक्रनाइज़ करने के लिए 2.1.7 से 5.0 तक छोड़ दिया गया।

बिल्कुल "छोटा एफ" बिल्कुल नहीं, लेकिन 2.1.7 संस्करण आने के लिए मुश्किल नहीं है। ओटीओएच, यह अनाथ-बर्तन है, अनियमित। एक सूचित उपभोक्ता बनें।


यह निर्भर करता है कि आप वास्तव में पीडीएफ कैसे बनाना चाहते हैं। एक्सएमएल से एफओपी काम करता है, आईटीएक्स्ट आपको जावा से प्रोग्रामेटिक रूप से बनाने देता है।