Android实现实现pdf在线预览或本地预览的方法在线预览或本地预览的方法
最近项目中需要使用在线预览pdf,并要能实现自动播放,我想这样的需求无论如何来说都是很操蛋的
由于本人水平有限,最后讨论将项目需求改成将pdf下载到本地再实现自动播放。
接下来总结下目前能够实现pdf阅读的方案,开发当中需要根据实际需求去选择相应的方案。
1.使用使用Google doc支持来展示支持来展示word,excel,pdf,txt(WebView方式在线预览方式在线预览)::
<span style="font-size:18px;">WebView urlWebView = (WebView)findViewById(R.id.containWebView);
urlWebView.setWebViewClient(new AppWebViewClients());
urlWebView.getSettings().setJavaScriptEnabled(true);
urlWebView.getSettings().setUseWideViewPort(true);
urlWebView.loadUrl("http://docs.google.com/gview?embedded=true&url="
+ "YOUR_DOC_URL_HERE");
public class AppWebViewClients extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// TODO Auto-generated method stub
view.loadUrl(url);
return true;
}
@Override
public void onPageFinished(WebView view, String url) {
// TODO Auto-generated method stub
super.onPageFinished(view, url);
}
}</span>
https://docs.google.com/gview?embedded=true&url=文档地址
优点:优点:使用简单,无需服务器和客户端的额外部署工作。
缺点:缺点:国内需要翻墙访问。
2.github开源项目开源项目:https://github.com/JoanZapata/android-pdfview:
<span style="font-size:18px;">引入:compile 'com.joanzapata.pdfview:android-pdfview:1.0.4@aar'</span>
<span style="font-size:18px;"> <com.joanzapata.pdfview.PDFView
android:id="@+id/pdfview"
android:layout_width="match_parent"
android:layout_height="match_parent"/></span>
<span style="font-size:18px;"> pdfView = (PDFView) findViewById(R.id.pdfview);
//加载assets下的文件
pdfView.fromAsset("sample.pdf")
//.fromFile("")指定加载某个文件
//指定加载某一页
/*.pages(0, 1,2, 3, 4, 5)*/
.defaultPage(1)
.showMinimap(false)
.enableSwipe(true)
/* .onDraw(onDraw)
.onLoad(onLoadCompleteListener)
.onPageChange(onPageChangeListener)*/
.load();</span>
里面有很多方法,可以去看PDFView的源码。
3.Office Web 365(WebView方式在线预览,具体用法同方式在线预览,具体用法同1)
第三方公司提供的一种 Office 文档在线预览的功能,能够实现 Microsoft、Adobe、WPS
文档的移动端和PC端在线网页访问。使用简单,类似 Google Doc 访问方式,一个固定格
式的链接,轻松实现:http://ow365.cn/?i=您的网站ID&furl=文档地址
优点:优点:功能强大,使用简单。
缺点:缺点:付费使用(可免费受限使用,如访问次数、广告显示等)。
评论0