2013-06-04 192 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; 
     } 

}