0

我的要求是,我需要为我的应用程序以 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 中显示?

4

2 回答 2

0

还有另一种在 android 应用程序中显示 PDF 的方法,即使用来自的支持将 PDF 文档嵌入到android webviewhttp://docs.google.com/viewer

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"/>

看到这个

注意:我不知道各种 android 版本的兼容性问题

于 2013-01-29T06:09:28.570 回答
-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();
}
于 2013-01-29T05:38:26.770 回答