PDF不会在Android中显示

时间:2015-08-12 07:14:39

标签: java android pdf android-webview google-docs

我已将一些pdf文件上传到我的服务器,并使用该网址在Android应用中使用"http://docs.google.com/gview?embedded=true&url=myurl".

在webview中显示pdf

但我收到的错误是:

  

whooopss..Preview not available。

有时它会起作用,有时它会给出错误。我的所有pdf文件都是在 Acrobat 6.x 中制作的。

我使用了以下代码;

url = "http://docs.google.com/gview?embedded=true&url=" + url;
   loadUrl(url);
   private void loadUrl(String url){

   webView = (WebView) findViewById(R.id.webView1);
   webView.setWebViewClient(new WebViewClient(){

   @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {


   return false;

    }
    });

    webView.setWebChromeClient(new WebChromeClient());

    webView.getSettings().setJavaScriptEnabled(true);     
    webView.getSettings().setPluginState(PluginState.ON);
    webView.loadUrl(url);

有时它也会出错:

  

Web控制台(2448):未捕获的ReferenceError:_init未定义于   http://docs.google.com/gview?embedded=true&url=myurl/system/download/Datasheet_X1Carbon_2015f1201faba8ab0c3da16d9886ec8a0d1d.pdf:1

我已经搜索过很多关于这个的信息,但找不到任何解决方案。

我无法理解为什么会这样。对此有任何帮助都很明显。

1 个答案:

答案 0 :(得分:1)

pdf很容易显示。但有时应用程序没有足够的内存来加载整个pdf。

您可以提供以下代码:

<application android:name="pkg.name" android:hardwareAccelerated="true" android:largeHeap="true">

这里android:largeHeap="true"代码告诉系统为应用程序分配更多内存。但不是每一次。

还有许多库可用于在单个Activity中显示pdf。

这里有一个Android-Pdf-Viewer-Library和您可以在此处找到的文档mupdf.com

这是另一个lib android-pdfview