本篇文章大部分为转载内容,不过最后有我自己使用后的小总结,原文地址:https://www.jianshu.com/p/9e3ff8385e6f

Android PdfViewer:
项目地址: https://github.com/barteksc/AndroidPdfViewer
功能很强大, 使用也比较广, 亲测可以使用.
唯一的缺点 :添加到项目中 会使apk增加16M, 这是最不能接受的, 故弃用.

PdfViewPager:
项目地址: https://github.com/voghDev/PdfViewPager
可加载assets/SD卡/URL(在线预览) ,(ps: 我目前就是使用的此框架)
优点: 使用比较方便, 也不大

使用:
1.依赖

compile 'es.voghdev.pdfviewpager:library:1.0.3'

2.xml布局(可根据自己项目,增减)

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <RelativeLayout android:id="@+id/rl_root" style="@style/title_style"> <ImageView android:id="@+id/iv_back" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_centerVertical="true" android:paddingLeft="@dimen/value15" android:src="@drawable/icon_back" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:text="资料详情" android:textColor="@color/color_white" android:textSize="16sp" /> </RelativeLayout> <RelativeLayout android:id="@+id/remote_pdf_root" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_below="@id/rl_root"> <es.voghdev.pdfviewpager.library.PDFViewPager android:id="@+id/pdfViewPager" android:layout_width="match_parent" android:layout_height="match_parent" /> </RelativeLayout> <ProgressBar android:id="@+id/pb_bar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:layout_gravity="center" />
</RelativeLayout>

3.Activity(有注释)

public class PDFDatabaseActivity extends BaseActivity implements DownloadFile.Listener { private RelativeLayout pdf_root; private ProgressBar pb_bar; private RemotePDFViewPager remotePDFViewPager; private String mUrl = "http://partners.adobe.com/public/developer/en/xml/AdobeXMLFormsSamples.pdf"; private PDFPagerAdapter adapter;private ImageView iv_back; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_database); initView(); setDownloadListener(); } protected void initView() { pdf_root = (RelativeLayout) findViewById(R.id.remote_pdf_root); pb_bar = (ProgressBar) findViewById(R.id.pb_bar); iv_back = (ImageView) findViewById(R.id.iv_back); iv_back.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { finish(); } }); } /*设置监听*/ protected void setDownloadListener() { final DownloadFile.Listener listener = this; remotePDFViewPager = new RemotePDFViewPager(this, mUrl, listener); remotePDFViewPager.setId(R.id.pdfViewPager); } /*加载成功调用*/ @Override public void onSuccess(String url, String destinationPath) { pb_bar.setVisibility(View.GONE); adapter = new PDFPagerAdapter(this, FileUtil.extractFileNameFromURL(url)); remotePDFViewPager.setAdapter(adapter); updateLayout(); } /*更新视图*/ private void updateLayout() { pdf_root.removeAllViewsInLayout(); pdf_root.addView(remotePDFViewPager, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); } /*加载失败调用*/ @Override public void onFailure(Exception e) { pb_bar.setVisibility(View.GONE); ToastUitl.show(this, "数据加载错误"); } @Override public void onProgressUpdate(int progress, int total) { }
}

个人总结(非转载):

查了许多资料发现ios的WebView可以直接预览pdf文件,Android的不可以,查资料发现一般Android都有下面种方式浏览pdf文件
1.可以使用Android的外部浏览器直接打开。
2.下载pdf然后使用相关的PdfView打开(上文的第二种方法,看代码应该也是先下载,再预览)。
3.调用手机其他office软件预览。
4.使用Google doc支持来展示word,excel,pdf,txt(WebView方式在线预览),
https://docs.google.com/gview?embedded=true&url=文档地址
优点:使用简单,无需服务器和客户端的额外部署工作。
缺点:国内需要翻墙访问。
5.有第三方的SDK,不过会让apk的包变大。

希望有更多资料的网友在下面留言。

关于Android 在线预览PDF文件相关推荐

  1. android 在线预览pdf文件

    android原生webView不支持预览pdf文件,ios却可以,所以android想要实现在线预览webView要通过其他方法,有以下几种方法: 1.andorid原生自带的pdf管理库,主要提供 ...

  2. android 在线预览pdf文件(目前最全)

    android原生webView不支持预览pdf文件,ios却可以,所以android想要实现在线预览webView要通过其他方法,有以下几种方法: 一.andorid原生自带的pdf管理库,主要提供 ...

  3. Android在线预览pdf文件的几种方式

    Android原生WebView不支持预览pdf文件,ios却可以,所以Android想要实现在线预览WebView要通过其他方法,有以下几种方法: 第一种方式: andorid原生自带的pdf管理库 ...

  4. uniapp在线预览pdf文件

    公司要求uniapp打包的h5和app都要能在线预览pdf文件.最开始是想找uniapp的插件,去插件市场搜了下,没得几个插件可用,且需要收费,所以直接用的pdf.js插件实现,在h5以及h5打包的a ...

  5. html中在线预览pdf文件之pdf在线预览插件

    html中在线预览pdf文件之pdf在线预览插件 最近遇到一个需求,要在html页面查看pdf生成的pdf文件! 翻来覆去找到两种办法 ,最后采用了jquery.media.js插件 方式一 将pdf ...

  6. html做在线预览pdf文件,html中在线预览pdf文件之pdf在线预览插件

    html中在线预览pdf文件之pdf在线预览插件 最近遇到一个需求,要在html页面查看pdf生成的pdf文件! 翻来覆去找到两种办法 ,最后采用了jquery.media.js插件 方式一 将pdf ...

  7. 如何在html中在线预览pdf文件?

    方法1:使用 jquery js 库 1.引入 jquery-3.1.1.min.js 和 jquery.media.js 两个js文件,下载保存到本地 下载连接:jquery-3.1.1.min.j ...

  8. Vue-pdf实现在线预览PDF文件

    前言 在大多数项目中都会遇到在线预览PDF文件,项目使用的是element ui,使用vue-pdf实现. 安装依赖 npm install --save vue-pdf 相关参数 参数介绍: url ...

  9. 网页中实现安卓手机在线预览PDF文件

    写在前面:本文为转载,原文链接:https://blog.csdn.net/super_DuoLa/article/details/90207965原文链接 苹果手机可以直接在线预览PDF文件,而安卓 ...

最新文章

  1. HDU 4406 最大费用最大流
  2. aix 的c库为什么都是静态库_关于AIX  libpthread.a 静态库
  3. 从头开始敲代码之《从BaseApplication/Activity开始(五)》(自定义控件,实现点击/滑动翻页)...
  4. tensorflow环境下的识别食物_在win10环境下进行tensorflow物体识别(ObjectDetection)训练...
  5. 使用Microsoft Word2016无法正常对Latex文本转换的踩坑和解决方法
  6. 解析HTTP协议六种请求方法,get,head,put,delete,post有什么区别
  7. python lxml xpath爬取图片代码
  8. java值传递和引用传递简单_Java里的值传递与“引用传递”——一些想法
  9. python正则_正则化方法及Python实现
  10. 玻森新闻自动摘要算法介绍
  11. 学python后到底能干什么-普通小白学会Python到底具体能做什么呢?
  12. IP转换器 V2.6
  13. FSEC大学生电动方程式赛车电气系统设计
  14. win7去除快捷方式小箭头
  15. wow Warlock shushia PVP DZ
  16. python图像处理 马赛克效果
  17. 40了解云计算平台的高可用架构,如 AWS 的多可用区、GCP 的负载均衡器
  18. (No operations allowed after connection closed.).Possibly consider using a shorter maxLifetime value
  19. 解析「Web3悖论」的内在机理与突破路径
  20. 学习ES6(六)--函数 Lambda函数(=) 详解

热门文章

  1. 整车CAN网络介绍---CAN--PT CAN--Chassis CAN--Body CAN--Info CAN
  2. 新式 AIMD 拥塞控制
  3. MUI前端代码的快捷键
  4. matlab单目相机标定
  5. 优化之Joiner组件
  6. 怎么把计算机e盘的文件移动到d盘,怎么把d盘的东西移到e盘
  7. Windows7+CentOS双系统同一硬盘
  8. 20051114: 未麻的小屋
  9. TCP协议:报文字段解析
  10. 人教版 初步使用计算机 教案,人教版小学信息三上第5课益智游戏练技能教案与课件配套5篇...