字符串值的PDF视图

时间:2013-01-29 05:13:48

标签: android

我的要求是,我需要为我的应用程序显示pdf内容。我通过HTTP调用获取文件的InputStream。如何将此InputStream转换为PDF视图而不存储在SD卡中?

我可以使用以下代码:

        Intent intent = new Intent(Intent.ACTION_VIEW);
     intent.setDataAndType(Uri.fromFile(new File(File Path)), "application/pdf");
     intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
      startActivity(intent);

但是还有其他方法可以在PDF中显示吗?

2 个答案:

答案 0 :(得分:0)

在Android应用程序中显示PDF的另一种方法是使用来自http://docs.google.com/viewer

的支持将PDF文档嵌入 android webview

String doc="<iframe src='http://docs.google.com/viewer?url=+location to your PDF File+' 
              width='100%' height='100%' 
              style='border: none;'></iframe>";

样本如下所示

 String doc="<iframe src='http://docs.google.com/viewer?url=http://www.iasted.org/conferences/formatting/presentations-tips.ppt&embedded=true' 
              width='100%' height='100%' 
              style='border: none;'></iframe>";

代码

    WebView  wv = (WebView)findViewById(R.id.webView); 
    wv.getSettings().setJavaScriptEnabled(true);
    wv.getSettings().setPluginsEnabled(true);
    wv.getSettings().setAllowFileAccess(true);
    wv.loadUrl(doc);
    //wv.loadData( doc, "text/html",  "UTF-8");

并在清单中提供

<uses-permission android:name="android.permission.INTERNET"/>

请参阅this

警告:我不知道各种Android版本的兼容性问题

答案 1 :(得分:-1)

尝试这种方式:

   File m_file=new File("/sdcard/myPdf.pdf");
   Uri m_uri=Uri.fromFile(m_file);

try
  {
    Intent intentUrl = new Intent(Intent.ACTION_VIEW);
     intentUrl.setDataAndType(m_uri, "application/pdf");
     intentUrl.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
     startActivity(intentUrl);
   }
catch (ActivityNotFoundException e)
{
    Toast.makeText(m_context, "No PDF Viewer Installed", Toast.LENGTH_LONG).show();
}