Android 在线PDF文件加载

Android加载PDF文件,webview没有直接提供相关的API方法,不像IOS webview可以直接加载PDF文件,不管本地文件或者在线文件,而Android 的webview却不能加载,那么就需要借助第三方或者其他解决方案来实现加载PDF。我总结了一下几种,供为参考。1.通过WebView直接调用Google的GoogleDocs服务。这种方式是最简单的,Google服务器会...
摘要由CSDN通过智能技术生成

Android加载PDF文件,webview没有直接提供相关的API方法,不像IOS webview可以直接加载PDF文件,不管本地文件或者在线文件,而Android 的webview却不能加载,那么就需要借助第三方或者其他解决方案来实现加载PDF。

我总结了一下几种,供为参考。

1.通过WebView直接调用Google的GoogleDocs服务。

这种方式是最简单的,Google服务器会把你所要加载的PDF文件直接转换成HTML网页供webview加载预览

String pdfUrl="小胖";
mWebView.loadUrl("http://docs.google.com/gview?embedded=true&url="+ pdfUrl);  

但是,众所周知,咱们家里有一堵墙,Google的服务需要翻墙才能使用,所以最简单的反而不能用,很蛋疼,总不能让用户的手机装VPN吧。

2.借助第三方类库实现加载PDF文件

Android第三方实现加载PDF文件的开源项目有很多,但是稳定性还有待考证,或多或少都有点问题 但是相对来讲, AndroidPdfView这个还算是比较成熟的,功能强大,唯一不好的缺点就是,依赖库可能会很大,如果不能忍受APK安装包增大很多的话,或者PDF不是项目中的重要业务,建议不考虑。

使用方法:

String pdfUri = "file:///android_asset/xiaojiejie.pdf"

pdfView.fromAsset(pdfUri)//加载assets文件下的PDF文件,也可是SD下的PDF等
                .enableSwipe(true)//是否允许翻页,默认是允许翻页
                .spacing(5)//每页间距 dp
                .defaultPage(0)//默认显示第几页
                .swipeHorizontal(false)// true 水平翻页 false 垂直翻页
                .enableAntialiasing(true)// 改善低分辨率屏幕上的渲染
                .enableDoubletap(true)//允许双击缩放
                .enableAnnotationRendering(true)//显示注解
                .onLoad(new OnLoadCompleteListener() {//加载监听
                    @Override
                    public void loadComplete(int nbPages) {
                        Toast.makeText(PDFActivity.this, "加载完成", Toast.LENGTH_SHORT).show();
                    }
                })
                .onError(new OnErrorListener() {//异常监听
                    @Override
                    public void onError(Throwable t) {
                        Toast.makeText(PDFActivity.this, "加载错误", Toast.LENGTH_SHORT).show();

                    }
                })
                .onPageChange(new OnPageChangeListener() {//翻页监听
                    @Override
                    public void onPageChanged(int page, int pageCount) {
                        Toast.makeText(PDFActivity.this, (page + 1) + "/" + pageCount, Toast.LENGTH_SHORT).show();
                    }
          
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值