baidu&google
发现老版本的pdfView,作者已经很久没更新了,并且也只能先下载再打开
新版pdfView:https://github.com/barteksc/AndroidPdfViewer 大概用法如下
compile 'com.github.barteksc:android-pdf-viewer:2.4.0'
ok,基本上完成了50%................
<com.github.barteksc.pdfviewer.PDFView android:id="@+id/pdfView" android:layout_width="match_parent" android:layout_height="match_parent"/>
ok,差不多又完成了50%...........
这个pdfView有个加载网络的方法:
pdfView.fromStream(InputStream stream)//.pages(0, 2, 1, 3, 3, 3) // all pages are displayed by default .enableSwipe(true) .swipeHorizontal(false) .enableDoubletap(true) .defaultPage(0) .onDraw(new OnDrawListener() { @Override public void onLayerDrawn(Canvas canvas, float pageWidth, float pageHeight, int displayedPage) { } }) .onLoad(new OnLoadCompleteListener() { @Override public void loadComplete(int nbPages) { Toast.makeText(getApplicationContext(), "loadComplete", Toast.LENGTH_SHORT).show(); } }) .onPageChange(new OnPageChangeListener() { @Override public void onPageChanged(int page, int pageCount) { } }) .onPageScroll(new OnPageScrollListener() { @Override public void onPageScrolled(int page, float positionOffset) { } }) .onError(new OnErrorListener() { @Override public void onError(Throwable t) { Toast.makeText(getApplicationContext(), "error", Toast.LENGTH_SHORT).show(); } }) .enableAnnotationRendering(false) .password(null) .scrollHandle(null) .load();所以,这里只需要拿到流就行了先开个子线程-->try { URL url = new URL(pdfUrl); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET");//试过POST 可能报错 connection.setDoInput(true); connection.setConnectTimeout(10000); connection.setReadTimeout(10000); //实现连接 connection.connect(); System.out.println("connection.getResponseCode()=" + connection.getResponseCode()); if (connection.getResponseCode() == 200) { InputStream is = connection.getInputStream(); //这里给过去就行了 } } catch (IOException e) {e.printStackTrace();
}经测试,绝对可以直接看pdf......最后...有个弊端,apk变大了 原作者有解释,自己去看吧