2015-05-28 3 views
1

Я хочу отобразить содержимое pdf-файла в WebView.загрузить содержимое pdf в Webview

Проблема: Когда я начинаю WebView открывает новый диалог, хочу ли я загрузить PDF в браузере или в PDF Viewer. Но я хочу загрузить контент непосредственно в WebView. Я также попробовал его с помощью URL-адреса префикса для встраивания содержимого, но затем он показывает: нет предварительного просмотра.

Мой код:

public class Changelog_View extends ActionBarActivity { 

@Override 
protected void onCreate (Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 



    String myPdfUrl = "https://onedrive.live.com/download?cid=DB700463EBEC6BC9&resid=DB700463EBEC6BC9%2120693&authkey=ALJ-NvyQqMdACpA&em=2"; 
    String url = "http://docs.google.com/gview?embedded=true&url=" + myPdfUrl; 

    WebView webview = new WebView(this); 

    webview.getSettings().setJavaScriptEnabled(true); 
    webview.loadUrl(url); 


    setContentView(webview); 
} 
} 

Я попробовал теперь с андроидом-pdfView библиотекой с этим кодом:

@Override 
protected void onCreate (Bundle savedInstanceState) { 

    super.onCreate (savedInstanceState); 

    com.joanzapata.pdfview.PDFView pdfView = new com.joanzapata.pdfview.PDFView (getApplicationContext(), null); 
    String myPdfUrl = "https://onedrive.live.com/download?cid=DB700463EBEC6BC9&resid=DB700463EBEC6BC9%2120693&authkey=ALJ-NvyQqMdACpA&em=2"; 

    pdfView.fromAsset(myPdfUrl) 
      .defaultPage(1) 
      .showMinimap(false) 
      .enableSwipe(true) 
      .onLoad(this) 
      .onPageChange (new OnPageChangeListener() { 
       @Override 
       public void onPageChanged (int i, int i1) { 

       } 
      }) 
      .load(); 

Но тогда FileNotFoundException появляется адрес: https://onedrive.live.com/download?cid=DB700463EBEC6BC9&resid=DB700463EBEC6BC9%2120693&authkey=ALJ-NvyQqMdACpA&em=2. Адрес относится непосредственно к файлу PDF из моей учетной записи onedrive. Поэтому, когда я ввожу эту ссылку в браузер, файл PDF загружается.

Итак, как отобразить pdf-файл с адреса: https://onedrive.live.com/download?cid=DB700463EBEC6BC9&resid=DB700463EBEC6BC9%2120693&authkey=ALJ-NvyQqMdACpA&em=2 с библиотекой android-pdfView в моей заявке?

Спасибо.

+0

'WebView' не имеет средств отображения PDF самостоятельно. – CommonsWare

+0

Хорошо спасибо. Есть ли возможность загрузить любой другой файл с форматированным текстом в веб-просмотр? Или мне нужно использовать библиотеку для этого? – user3603935

+0

Вы можете получить некоторую помощь по адресу http://stackoverflow.com/questions/12803701/unable-to-open-pdf-documents-in-webview с помощью google docs – Mithun

ответ

0

Если нет WebViewClient, тогда он будет открыт только в другом окне.

mWebView.setWebViewClient(new WebViewClient()); 
1

Чтобы открыть PDF в WebView, лучше показать PDF с помощью сервиса Google док

WebView webView=(WebView)findViewById(R.id.webView); 
webView.getSettings().setLoadsImagesAutomatically(true); 
     webView.getSettings().setJavaScriptEnabled(true); 
     webView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY); 
     webView.getSettings().setLoadWithOverviewMode(true); 
     webView.getSettings().setUseWideViewPort(true); 
     webView.loadUrl("http://drive.google.com/viewerng/viewer?embedded=true&url=" + REPLACE_WITH_YOUR_LINK); 
Смежные вопросы