PDFBox для обработки PDF в Android - PullRequest
2 голосов
/ 14 марта 2012

Я пытаюсь использовать pdfbox lib в моем приложении для Android, но я получаю

 java.lang.NoClassDefFoundError: org.pdfbox.pdmodel.PDDocument 

эту ошибку. Поскольку я занимаюсь разработкой коммерческого приложения, я не могу использовать другой Lib, такой как itext. Так что мой вопрос можетмы используем PDfBox в Android.

вот мой код: -

PDFParser parser = null;
    String parsedText = null;
    PDFTextStripper pdfStripper;
    PDDocument pdDoc = null;
    COSDocument cosDoc = null;
    PDDocumentInformation pdDocInfo;
    try {
          f =new  File(Environment.getExternalStorageDirectory()+File.separator+"Download"+File.separator+"Services.pdf");

         if(f.exists()){
             System.out.println("---------exists-----------");
         }else{
             System.out.println("------NOT----exists----------");
         }
         parser = new PDFParser(new FileInputStream(f));
    } catch (Exception e) {
        System.out.println("Unable to open PDF Parser.");
        System.out.println("-----------------------error|"+e.toString());
    }

    try {
        parser.parse();
        cosDoc = parser.getDocument();
        pdfStripper = new PDFTextStripper();
        pdDoc = new PDDocument(cosDoc);//here i'm getting exception

        //pdDoc = PDDocument.load(f, false);

        parsedText = pdfStripper.getText(pdDoc);
    } catch (Exception e) {
        System.out.println("-----------------------error|"+e.toString());
        System.out.println("An exception occured in parsing the PDF Document.");
        e.printStackTrace();
        try {
            if (cosDoc != null) cosDoc.close();
            if (pdDoc != null) pdDoc.close();
        } catch (Exception e1) {
            e.printStackTrace();
        }

    }
    System.out.println("Done.");
    System.out.println("-----------------------parsedText|"+parsedText);

с использованием PDFBox 0,7,3 jar

Ответы [ 3 ]

2 голосов
/ 22 июня 2012

Кажется, что PDFBox зависит от классов awt и swing, которые недоступны на устройствах Android.

Для этого вы не можете использовать PDFBox на Android.

0 голосов
/ 06 июня 2014

Если вам нужно только извлечь текст из PDF-документа в Android, используйте это https://github.com/RatheeshRavindran/PDFBoxLight Я недавно сделал портирование PDFBox на Android, но учтите, что это все еще в бета-версии.

0 голосов
/ 11 апреля 2012

NoClassDefFoundError генерируется, когда JVM не может загрузить класс.
Как сказано в javadoc
Вы включили библиотеку pdfbox в classpath во время компиляции?

...