2013-02-21 44 views
14

आपको क्या लगता है कि जावा ऑब्जेक्ट्स के रूप में डॉक्स दस्तावेज़ को पढ़ने के लिए उपयोग करना बेहतर है और क्यों?डोक्स दस्तावेज़ों से निपटने के लिए अपाचे पीओआई या docx4j

दूसरे शब्दों में। कौन सा पुस्तकालय अधिकांश शब्द टैग का समर्थन करता है?

उत्तर

18

प्रकटीकरण: मैं docx4j परियोजना

नेतृत्व हालांकि docx4j भी pptx संभालने के लिए और xlsx कर सकते हैं, यह ज्यादातर docx हेरफेर के लिए प्रयोग किया जाता है। चित्रण के समय, लिखने के समय, docx4j forum में लगभग 1000 विषय हैं। पीपीटीएक्स मंच में मात्रा का केवल 10% है।

जो भी आप दस्तावेज़ दस्तावेज़ के साथ करना चाहते हैं, docx4j आपकी मदद करने में सक्षम होना चाहिए। एक सामान्य वर्कफ़्लो का single page overview है।

कई सामान्य आवश्यकताओं के लिए, docx4j उच्च स्तरीय एपीआई प्रदान करता है। इनमें शामिल हैं:

  • /बनाएं, खोलें/

  • रिपोर्ट/दस्तावेज़ पीढ़ी, दृष्टिकोण की एक किस्म का उपयोग कर (बेशक) docx बचाने: (i) चर प्रतिस्थापन, (ii) XML डेटा बाइंडिंग (विशेष रूप से मजबूत), और (iii) Mailmerge

  • HTML के रूप में निर्यात, एक्सएचटीएमएल

  • निर्यात पीडीएफ (फ़ॉन्ट समर्थन के साथ) के रूप में

किसी और चीज के लिए, आप अपने दिल की सामग्री में डॉक्स के जेएक्सबी प्रतिनिधित्व का उपयोग कर सकते हैं। जेएक्सबी जावा समुदाय मानक है, जिसमें जावा 6 में शामिल है, और एक्लिप्ससेंक के मोक्सी में एक मजबूत वैकल्पिक कार्यान्वयन के साथ। (पीओआई जेएक्सबी के बजाय एक्सएमएल बीन्स का उपयोग करता है)

एक docx का पता लगाने में आपकी सहायता के लिए web app है और संबंधित जावा ऑब्जेक्ट्स बनाने के लिए जावा कोड उत्पन्न करता है।

बेशक, यदि आपके मन में कुछ विशिष्ट कार्य है, तो हो सकता है कि docx4j या POI की एक विशेष शक्ति हो।

दोनों docx4j और पीओआई एएसएल v2 लाइसेंस प्राप्त हैं।

docx4j सक्रिय रूप से बनाए रखा गया है; इसका स्रोत कोड on GitHub है।

इसके अतिरिक्त, वाणिज्यिक सहायता docx4j के लिए उपलब्ध है यदि आप इसे चाहते हैं, जैसे कई वाणिज्यिक एक्सटेंशन जैसे MergeDocx

docx4j ओएलई 2 कंपाउंड दस्तावेज़ प्रारूप के its implementation के लिए लाइब्रेरी के रूप में पीओआई पर भरोसा करता है, जिसका हम आभारी हैं।

+0

सभी प्रोसेसिंग एक्सएमएल पार्सिंग से आता है? उदाहरण के लिए मैं docx4j के माध्यम से शब्द दस्तावेज़ का अंतःक्रियात्मक रूप से उपयोग कर सकता हूं। जैसे कि मैं कुछ पाठ खोजना चाहता हूं और परिणाम बॉक्स के रूप में परिणाम का चयन करना चाहता हूं? – becks

+1

एक्सएमएल जेएक्सबी ऑब्जेक्ट्स में unmarshalled है; प्रसंस्करण तब आम तौर पर उस स्तर पर किया जाता है। docx4j एक पुस्तकालय है। इसे अंतःक्रियात्मक रूप से उपयोग करने के लिए, आपको एक इंटरैक्टिव एप्लिकेशन बनाना होगा। docx4all docx4j पर आधारित एक इंटरैक्टिव एप्लिकेशन (एक वर्डप्रोसेसर) का एक उदाहरण है। Docx4j के साथ, आप पाठ की खोज कर सकते हैं, और परिणामों के साथ सामान कर सकते हैं। – JasonPlutext

+0

क्या docx4j docx फ़ाइलों के भीतर तालिकाओं के लिए समर्थन है? मैंने बस एक उदाहरण आदेश docx फ़ाइल बनाने और इसे पीडीएफ में बदलने के लिए उदाहरण के लिए प्रयास किया और तालिका वास्तव में बुरी तरह स्वरूपित थी। मैंने docx4j वेबसाइट पर नमूना वेबपैप का उपयोग किया: http://webapp.docx4java.org/OnlineDemo/docx_to_pdf_fop.html –

2

मुझे लगता है कि अपाचे पीओआई का मुख्य फोकस स्प्रेडशीट से निपटने पर है, हालांकि मेरे पास शब्द दस्तावेज़ पढ़ने की विशेषताएं हैं और यह ऐसा करने के लिए एक्सएमएल बीन्स का उपयोग करती है। Docx4j मुख्य रूप से जैक्सबी का उपयोग करते हुए डॉक्क्स दस्तावेज़ों से संबंधित है। आम तौर पर जैक्सब xml को जावा ऑब्जेक्ट रूपांतरण की अनुमति देता है इसलिए मुझे लगता है कि आपके मामले के लिए docx4j बेहतर होगा।

2

मैंने अपाचे पीओआई की कोशिश की, लेकिन समस्या यह है कि डॉक्स फ़ाइल से कुछ प्रिंट करते समय (उदा: डॉक्स से सभी "हेडिंग 1" तत्वों को मुद्रित करने के लिए), यह बहुत सारे खराब डेटा और सफेद जगहों को मुद्रित करता है।Docx4j इस खराब डेटा से बच जाएगा, मैंने कोशिश की।

2

यदि आप डॉक्क्स दस्तावेज़ से निपट रहे हैं, तो docx4j अपाचे पीओआई से अधिक सुविधाजनक है। आप docx4j की मूल बातें सीखने के लिए निम्न लिंक का उपयोग कर सकते हैं। इसके अलावा, docx4j का एक अच्छा मंच है।

1. http://blog.iprofs.nl/2012/09/06/creating-word-documents-with-docx4j/ 2. http://www.smartjava.org/content/create-complex-word-docx-documents-programatically-docx4j?

0

मैंने docx4j का उपयोग नहीं किया है, और मैं इसे आजमाने का इरादा रखता हूं। पोई केवल मानक ओपनएक्सएमएल दस्तावेजों से निपट सकता है। माइक्रोसॉफ्ट डॉक्स फ़ाइल पूरी तरह से openxml प्रारूप का समर्थन नहीं करता है। Poi का उपयोग कर कई प्रारूप खो सकते हैं। Docx4j का दावा है कि इसका लक्ष्य डॉक्क्स फ़ाइल के 100% प्रारूपों का समर्थन करना है। मुझे लगता है कि यह बेहतर काम करेगा।