2013-06-04 169 views
0

我試圖打開PDF文件的鏈接,並在設備上單擊按鈕時顯示pdf。什麼是最好的方式去做這件事?我希望能夠不使用第三方軟件。所以我知道我可能不得不將文件轉換爲其他文件。在Android中打開PDF文件

+0

看看[這] [1] quiestion,希望這有助於。 [1]:http://stackoverflow.com/questions/3530780/android-is-there-any-free-pdf-library-for-android –

+0

你可以嘗試this..https:/ /github.com/bitfield66/PdfViewerAndroid_Offline – user2361120

+0

最簡單的方法是使用Google文檔查看器簡單加載pdf。這種方式可以在Web視圖中完成。但缺點是沒有很多功能。 – bigC5012

回答

1

試試這個您的按鈕的點擊監聽器裏:

File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/example.pdf"); 
Intent intent = new Intent(Intent.ACTION_VIEW); 
intent.setDataAndType(Uri.fromFile(file),」application/pdf」); 
intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY); 
startActivity(intent); 

你應該檢查是否有任何PDF閱讀應用是使用此代碼之前可用。

如果計劃實現自己的PDF閱讀器,然後參考this.

0

我想你應該創建自己的PDF閱讀器對於u必須下載PDF VIEWER.jar 那就試試這個代碼

MainActivity.java

public class MainActivity extends ListActivity { 

    String[] pdflist; 
    File[] imagelist; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    //setContentView(R.layout.main); 

    File images = Environment.getExternalStorageDirectory(); 
    imagelist = images.listFiles(new FilenameFilter() { 
     public boolean accept(File dir, String name) { 
     return ((name.endsWith(".pdf"))); 
     } 
    }); 
    pdflist = new String[imagelist.length]; 
    for (int i = 0; i < imagelist.length; i++) { 
     pdflist[i] = imagelist[i].getName(); 
    } 
    this.setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, pdflist)); 
    } 

    protected void onListItemClick(ListView l, View v, int position, long id) { 
    super.onListItemClick(l, v, position, id); 
    String path = imagelist[(int) id].getAbsolutePath(); 
    openPdfIntent(path); 
    } 

    private void openPdfIntent(String path) { 
    try { 
     final Intent intent = new Intent(MainActivity.this, Second.class); 
     intent.putExtra(PdfViewerActivity.EXTRA_PDFFILENAME, path); 
     startActivity(intent); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
    } 
} 

second.java

public class Second extends PdfViewerActivity { 

     @Override 
     public void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     } 

     public int getPreviousPageImageResource() { 
     return R.drawable.ic_launcher; 
     } 

     public int getNextPageImageResource() { 
      return R.drawable.ic_launcher; 
     } 

     public int getZoomInImageResource() { 
      return R.drawable.ic_launcher; 
     } 

     public int getZoomOutImageResource() { 
      return R.drawable.ic_launcher; 
     } 

     public int getPdfPasswordLayoutResource() { 
      return R.drawable.ic_launcher; 
     } 

     public int getPdfPageNumberResource() { 
      return R.drawable.ic_launcher; 
     } 

     public int getPdfPasswordEditField() { 
      return R.drawable.ic_launcher; 
     } 

     public int getPdfPasswordOkButton() { 
      return R.drawable.ic_launcher; 
     } 

     public int getPdfPasswordExitButton() { 
      return R.drawable.ic_launcher; 
     } 

     public int getPdfPageNumberEditField() { 
      return R.drawable.ic_launcher; 
     } 

}