介绍
最近项目有个需要,需要正在APP内在线阅读Office、PDF文件,要求不能下载、不能修改只能阅读。在查阅了相关的资料,主要参考该文章,发现Android实现解析Office文件有三种方式:
- 后台统一转换文档格式,安卓端只预览一种格式文档。
- 在安卓端完成文档转换
- 第三方付费产品中
本人选择了第一种方式实现:openoffice + jodconverter将office文档转换为pdf格式。具体方式百度很多教程。
Android 端实现
android端只要使用 PDFView 第三方库实现在线阅读,具体实现方式如下:
导入依赖
compile 'com.github.barteksc:android-pdf-viewer:3.1.0-beta.1'
核心代码
pdfView.fromStream(PDFIs) // 已流的方式读取文件
//.nightMode(true) // 夜间模式
//.enableAnnotationRendering(false)//呈现注释(例如注释,颜色或表单)
/** 以下配置实现 ViewPage */
.swipeHorizontal(true) //pdf文档翻页是否是垂直翻页,默认是左右滑动翻页
.pageSnap(true) ///捕捉页面到屏幕边界
.autoSpacing(true) //在屏幕上添加动态间距以适应每个页面
.pageFling(true) // 像viewPage 一样效果
.enableSwipe(true)//是否允许翻页,默认是允许翻页
.defaultPage(0) //开始页数
.load();
注:3.1.0的依赖优化了像 ViewPage 一样翻页。