如何在webview android中打开pdf文件?

时间:2014-05-20 05:32:26

标签: android

我使用itext库生成了一个pdf,它存储在sdcard中。我必须在webview中打开pdf,但是当我搜索解决方案时,我发现我可以使用在线谷歌文档服务打开它,但我的pdf存储在SD卡中。有没有办法在webview中从外部存储打开pdf?

2 个答案:

答案 0 :(得分:2)

要在Webview中打开pdf,最好通过google doc service显示pdf,

WebView webView = (WebView) context.findViewById(R.id.webView1);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setUseWideViewPort(true);
webView.loadUrl("http://drive.google.com/viewerng/viewer?embedded=true&url=" + pdf");

这可能会对你有所帮助

答案 1 :(得分:-1)

不,您不能使用WebView从SD卡显示PDF文件。只显示HTML文件。

此任务的最简单解决方案是使用外部PDF阅读器。这样的方法对用户来说足够方便,因为手工制作"您从github开源代码创建的PDF阅读器即可 显示大型pdf文件的速度很慢。

public class PDFReader {
public void read(Activity context,  String fileName){
    File appFolder = new File( Environment.getExternalStorageDirectory(), 
        context.getBaseContext().getPackageName() );
    File file = new File(appFolder, fileName);

    Uri path = Uri.fromFile(file);
    Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.setDataAndType(path, "application/pdf");
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

    try {
        context.startActivity(intent);
    } 
    catch (ActivityNotFoundException e) {
        Toast.makeText(context, "На устройстве не найдено доступного приложения для отображения PDF!", 
            Toast.LENGTH_SHORT).show();
    }
}

}