2011-05-20 4 views
1

Je veux copier le fichier pdf de l'URL vers et enregistrer le contenu du fichier pdf en bitmap. J'ai utilisé le code suivant mais je ne reçois pas le contenu du pdf. C'est donner quelque chose dans un format différent. S'il vous plaît aidez-moi et dites-moi où je me trompe.Comment afficher le contenu pdf?

public class MyActivity extends ListActivity implements OnClickListener 
{ 
Button addResumeFromUrlBtn; 
EditText addResumeFromUrlTxt; 
String resume; 
@Override 
protected void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.resumeselection);  

    addResumeFromUrlTxt = (EditText)findViewById(R.id.addResumeFromURLTxt);  
    addResumeFromUrlBtn = (Button)findViewById(R.id.addResumeFromURLBtn); 
    addResumeFromUrlBtn.setOnClickListener(this); 
} 

public String readPDF() throws Exception 
{ 
    BufferedReader in = null; 
    String page = ""; 
    try { 
     HttpClient client = new DefaultHttpClient(); 
     HttpGet request = new HttpGet(); 
     request.setURI(new URI("http://www.inkwelleditorial.com/pdfSample.pdf")); 
     HttpResponse response = client.execute(request); 
     in = new BufferedReader 
     (new InputStreamReader(response.getEntity().getContent())); 
     StringBuffer sb = new StringBuffer(""); 
     String line = ""; 
     String NL = System.getProperty("line.separator"); 
     while ((line = in.readLine()) != null) { 
      sb.append(line + NL); 
     } 
     in.close(); 
     page = sb.toString(); 
     } finally { 
     if (in != null) { 
      try { 
       in.close(); 
      } catch (IOException e) {e.printStackTrace();} 
     } 
    } 
    return page;   
} 

public void onClick(View v) 
{  
    if(v == addResumeFromUrlBtn) 
    { 
     try { 
      resume = readPDF();    
     } catch (Exception e) 
     { 
      e.printStackTrace(); 
     } 

     RelativeLayout l = (RelativeLayout)findViewById(R.id.resumeRelativelayout); 
     TextView txt = new TextView(this); 
     txt.setLayoutParams(new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT)); 
     txt.setDrawingCacheEnabled(true); 
     txt.setText(resume); 
     txt.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED), 
        MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED)); 
     txt.layout(0, 0, txt.getMeasuredWidth(), txt.getMeasuredHeight());   
     txt.setDrawingCacheEnabled(false);   
     l.addView(txt);   
    } 
} 
} 

Merci Monali

+0

J'ai souhaité la lecture de PDF aussi facile que – ingsaurabh

Répondre

2
  File file = new File(fileLocation);  

      if (file.exists()) { 
       Uri path = Uri.fromFile(file); 
       Intent intent = new Intent(Intent.ACTION_VIEW); //Set Intent action view pdf file 
       intent.setDataAndType(path, "application/pdf");  //Set data type 
       intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);  

       try { 
        startActivity(intent);       //Start Activity 
       } catch (ActivityNotFoundException e) { 
        Toast.makeText(OpenPdf.this, 
          "No Application Available to View PDF", 
          Toast.LENGTH_SHORT).show(); 
       } 
      } 

Ceci est la pour l'affichage pdf

+0

merci droid mais je dois lire le pdf de l'URL pas du fichier. Avez-vous une idée de la façon de lire le contenu de pdf de l'URL – Monali

0

d'abord il n'y a pas de support pour pdf dans Android afin que vous devez ouvrir dans une autre application comme adob ou si vous voulez le faire de la bonne façon, puis faire la charge lib comme vudroid et apdfviewer. Apdfviewer est très bon mais il n'y a pas de support pour compiler le code source, en fait toutes les lib fonctionnent avec C++ dans backend donc vous devez installer le ndk.

Vudroid est lent mais vous pouvez facilement le compiler.

J'espère que cela va vous aider.