- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
本章教学目标Android加载并显示PDF文件分类;Android中加载PDF的方式;直接使用第三方软件打开连接Google服务器解析用第三方库加载使用Moliza开源的Pdf.js使用安卓自带的PdfRenderer类加载利用PdfDocument生成pdf文件;
PDF读取Android加载并显示PDF文件分两类加载网络PDF加载本地PDFAndroid中加载PDF的方式直接使用第三方软件打开连接Google服务器解析用第三方库加载使用Moliza开源的Pdf.js使用安卓自带的PdfRenderer类加载
PDF读取直接使用第三方软件打开如果是在app内部加载PDF文件,虽然安卓原生API对于PDF的支持又不是太好,但是各种第三方专门的阅读或者办公软件支持的是很不错的,可以通过Intent配置data和type实现,:
其中,在实际需求中又会分为加载本地PDF和网络PDF的情况。使用浏览器打开PDFAPP外部打开,适用于加载网络PDFUriuri=Uri.parse(url);Intentintent=newIntent(Intent.ACTION_VIEW,uri);intent.putExtra(Browser.EXTRA_APPLICATION_ID,context.getPackageName());try{context.startActivity(intent);}catch(ActivityNotFoundExceptione){Log.w(error,Activitywasnotfoundforintent,+intent.toString());}
PDF读取直接使用第三方软件打开使用手机上已安装的可以打开PDF的第三方软件来打开PDFAPP外部打开,适用于加载本地PDF这种方式缺点是:需要手机上至少安装一个PDF阅读器Filefile=newFile(context.getExternalCacheDir(),FILE_NAME);Intentintent=newIntent(Intent.ACTION_VIEW);Uriuri=Uri.fromFile(file);intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);intent.setDataAndType(uri,application/pdf);try{context.startActivity(intent);}catch(ActivityNotFoundExceptione){Log.w(URLSpan,Activitywasnotfoundforintent,+intent.toString());}
PDF读取连接Google服务器解析WebView不支持PDF解析,因此通过连接Google的一个服务器转换成功后返回给WebView显示。缺点:需要翻墙,不适合国内应用mWebView.loadUrl(/gview?embedded=trueurl=+pdfUrl);
PDF读取用第三方库加载Github上有一个Java开源项目/barteksc/AndroidPdfViewer,
这个库的大致原理,是内置了一个PDF解析器,以流的方式将网络PDF从网上Down下来,然后再以流的方式将其还原成PDF展示出来。这个库每次进入webview页面都会解析加载一遍PDF,如果PDF过大,耗时无缓存,最大的问题是APK包体积会增大15M左右。
PDF读取使用Moliza开源的Pdf.js这个JS类库也是很强大的,配合原生的WebView使用,支持预览,缩放,翻页的功能,效果很好。同样也有体积问题,全部放到本地apk的话包大小差不多会增加5M左右。实现方法:直接使用谷歌文档服务使用mozilla开源的PDF.jsWebView设置使用mozilla部署在githubpages上的Viewer下载PDF.js放到assets目录下自定义预览界面,PDF.js使用cdn的方式导入配置
PDF读取使用Moliza开源的Pdf.js实现方法:直接使用谷歌文档服务View.loadUrl(http://mozilla.github.io/pdf.js/web/viewer.html?file=+pdfUrl);
PDF读取使用Moliza开源的Pdf.js实现方法:使用mozilla开源的PDF.jsWebView设置:WebSettingswebSettings=mWebView.getSettings();webSettings.setJavaScriptEnable
您可能关注的文档
- Android开发技术 - - WebView的使用.pptx
- Android开发技术 - - 动画.pptx
- Android开发技术 - - 动态权限.pptx
- Android开发技术 - - 日志系统.pptx
- Android开发技术 - - 图片处理.pptx
- Android开发技术 - - 文件上传下载.pptx
- Android开发技术 - - 系统资源监视.pptx
- Android开发技术 - - 消息推送.pptx
- Android开发技术 - - 用户行为监视.pptx
- 2024年05月山东烟台市蓬莱区卫健系统事业单位招考聘用41人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东交通职业学院招考聘用博士研究生50人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月安徽芜湖市弋江区老年学校(大学)工作人员特设岗位公开招聘2人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东东营河口区教育类事业单位招考聘用22人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东交通职业学院招考聘用100人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东威海职业学院招考聘用高层次人才2人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月安徽石台县事业单位工作人员33人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东滨州市博兴县事业单位公开招聘考察笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月安徽蚌埠固镇县湖沟镇选聘村级后备干部7人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东省安丘市教育和体育局所属事业单位学校公开2024年招考232名工作人员笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东临沂临港经济开发区工作人员(5人)笔试历年典型题及考点剖析附带答案含详解.docx
文档评论(0)