离线时在webview中加载pdf

5
如何将PDF嵌入HTML并在Web视图中显示? 实际上,我正在尝试着去做这个,但是Web视图并没有加载这个页面。
    String base = Environment.getExternalStorageDirectory().getAbsolutePath().toString();
            String pdfPath = base + "/Principal.pdf";
             Log.e("real path =", ""+pdfPath);
            web.getSettings().setJavaScriptEnabled(true);
            web.getSettings().setAllowFileAccess(true);
            web.getSettings().setBuiltInZoomControls(true);
            web.loadDataWithBaseURL("", 
                    "<embed src='"+pdfPath+"' width='500' height='375'>",
                    "application/pdf",
                    "utf-8",
                    "");

@Rohit Goswami,你有得到任何答案吗? - Rahul
你有收到任何回答吗? - Sardar Khan
1个回答

0

希望这对你有所帮助:

在线方式:

String myPdfUrl = "http://example.com/awesome.pdf";
String url = "http://docs.google.com/gview?embedded=true&url=" + myPdfUrl;
Log.i(TAG, "Opening PDF: " + url);
webView.getSettings().setJavaScriptEnabled(true); 
webView.loadUrl(url);

离线模式:

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

对于在线演示,使用Google文档很容易展示,但我想在离线状态下展示它,也就是说,如果我没有任何互联网连接,我希望从SD卡中的webView中展示它。 - Rohit Goswami
所以我问你,你的PDF在哪里?是在线上还是在你的应用文件夹里? - Pratik Butani
这被保存在我的设备外部存储中。 - Rohit Goswami
已更新...请检查我的答案。 - Pratik Butani
1
亲爱的,我也知道这种方法,但我的问题是关于webView的,有没有办法在webView中显示它而不是在其他屏幕上。 - Rohit Goswami

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接