android - एंड्रॉइड प्रोजेक्ट में पीडीएफबॉक्स कैसे जोड़ें या वैकल्पिक सुझाव दें




pdf pdfbox (2)

मैं एक मौजूदा पीडीएफ फ़ाइल खोलने का प्रयास कर रहा हूं और फिर एक एंड्रॉइड एप्लिकेशन के भीतर से पीडीएफ दस्तावेज़ में एक और पेज जोड़ सकता हूं। जोड़े गए पृष्ठ पर, मुझे कुछ टेक्स्ट और एक छवि जोड़ने की ज़रूरत है।

मैं पीडीएफबॉक्स को एक कोशिश देना चाहता हूं। ITextPDF जैसे अन्य समाधान लाइसेंसिंग शर्तों / मूल्य के कारण हमारी कंपनी के लिए उपयुक्त नहीं हैं।

मेरे पास मुख्य कोड बेस के साथ एक लाइब्रेरी प्रोजेक्ट है, और लाइब्रेरी प्रोजेक्ट का संदर्भ देने वाली पूर्ण और लाइट परियोजनाएं भी हैं।

मैंने http://pdfbox.apache.org/download.html से जार डाउनलोड किया है और इसे लाइब्रेरी प्रोजेक्ट्स lib फ़ोल्डर में कॉपी किया है और जावा बिल्ड पथ पुस्तकालयों में pdfbox-app-1.6.0.jar फ़ाइल को जोड़ा है।

मैं पुस्तकालयों को सफलतापूर्वक आयात करने में सक्षम हूं जैसे import org.apache.pdfbox.pdmodel.PDDocument; और सभी परियोजनाओं को संकलित करें। हालांकि जब मैं एप्लिकेशन चलाता हूं तो यह PDDocument document = new PDDocument(); पर दुर्घटनाग्रस्त हो जाता है PDDocument document = new PDDocument(); निम्नलिखित त्रुटि के साथ।

ई / एंड्रॉइड रनटाइम (24451): java.lang.NoClassDefFoundError: org.apache.pdfbox.pdmodel.PDDocument

मैंने कहीं पढ़ा है कि पीडीएफबॉक्स के संस्करण 1.5 ने एंड्रॉइड के साथ काम नहीं किया है इसलिए मैंने पीडीएफबॉक्स-ऐप-1.4.0.जर फ़ाइल डाउनलोड करने का प्रयास किया लेकिन मुझे एक ही समस्या मिली। मैंने अपनी पूर्ण और लाइट परियोजनाओं में बिल्ड पथ में लाइब्रेरी भी जोड़ा लेकिन मुझे एक ही त्रुटि या ग्रहण स्मृति त्रुटि से बाहर दुर्घटनाग्रस्त हो गया।

कोई मुझे बता सकता हैं मुझसे क्या गलती हो रही है? क्या मैंने गलत फाइल डाउनलोड की है? क्या मैंने इसे सही तरीके से आयात किया है?

धन्यवाद,


पीडीएफबॉक्स का एंड्रॉइड पोर्ट

पीडीएफबॉक्स का एक मुफ्त एंड्रॉइड पोर्ट यहां उपलब्ध है:

https://github.com/TomRoush/PdfBox-Android


पीडीएफबॉक्स गैर यूआई कार्यों के लिए भी जावा अल्ट और स्विंग का उपयोग करता है, मैंने संदर्भों को हटाने की कोशिश की है लेकिन बहुत सारी फाइलें हैं, और मैं बहुत अधिक सामान निकाल रहा था

मैंने अभी पीडीएफजेट का परीक्षण किया है http://pdfjet.com/os/edition.html यह बीएसडी लाइसेंस प्राप्त है (अधिक सुविधाओं के साथ वाणिज्यिक संस्करण), इस नमूना कोड के साथ (example_03.java से फिसल गया) मैं एक जेपीईजी को परिवर्तित करने में सक्षम था एक पीडीएफ

    FileOutputStream fos = null;
    try
    {
        fos = new FileOutputStream("/sdcard/sample.pdf");
        PDF pdf = new PDF(fos);
        InputStream f = getApplicationContext().getAssets().open("img0.jpg"); 
        Image image = new Image(pdf, f, ImageType.JPEG);
        Page page = new Page(pdf, A4.PORTRAIT);
        image.setPosition(0, 0);
        image.drawOn(page);
        pdf.flush();
        fos.close();
    } catch (Exception e)
    {
        e.printStackTrace();
    }

मुझे यहां लिंक मिला है http://java-source.net/open-source/pdf-libraries







pdfbox