2012-03-14 1 views
2

je suis en train d'utiliser PDFBox lib dans mon application Android, mais im obtenirPDFBox pour le traitement pdf dans Android

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

cette .as d'erreur que je développe l'application commerciale je ne peux pas utiliser d'autres Lib comme itext .Donc Ma question est que nous pouvons utiliser PDfBox dans android.

voici mon code: -

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); 

utilisant PDFBox 0.7.3 pot

+0

pouvons-nous vous voir le code .... –

+0

@Vincent j'ai posté code juste vérifier – Prachi

Répondre

0

NoClassDefFoundError est levée lorsque la machine virtuelle Java ne peut pas charger une classe.
As the javadoc says
Avez-vous inclus la bibliothèque pdfbox sur classpath lors de la compilation?

+0

@Shyda oui j'ai inclus PDFBox lib mais toujours pas de chance ... – Prachi

+0

@curious_mind Voir [cette question] (http://stackoverflow.com/questions/8980668/how-to-add-pdfbox-to-an-android-project). Est-ce la même erreur? – Shyba

2

Il semble que PDFBox dépend des classes awt et swing qui ne sont pas disponibles sur les appareils Android.

Pour cette raison, vous ne pouvez pas utiliser PDFBox sur Android.

0

Si vous avez seulement besoin d'extraire du texte d'un document PDF sous Android, alors utilisez ce https://github.com/RatheeshRavindran/PDFBoxLight J'ai récemment fait le portage de PDFBox vers Android mais veuillez noter que cela est toujours en version bêta.

+0

ok je vais essayer ça :) – Prachi

Questions connexes