最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android實(shí)現(xiàn)pdf在線預(yù)覽或本地預(yù)覽的方法

 更新時(shí)間:2018年01月17日 10:05:35   作者:Kiven_Android  
下面小編就為大家分享一篇Android實(shí)現(xiàn)pdf在線預(yù)覽或本地預(yù)覽的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,一起跟隨小編過(guò)來(lái)看看吧

最近項(xiàng)目中需要使用在線預(yù)覽pdf,并要能實(shí)現(xiàn)自動(dòng)播放,我想這樣的需求無(wú)論如何來(lái)說(shuō)都是很操蛋的

由于本人水平有限,最后討論將項(xiàng)目需求改成將pdf下載到本地再實(shí)現(xiàn)自動(dòng)播放。

接下來(lái)總結(jié)下目前能夠?qū)崿F(xiàn)pdf閱讀的方案,開(kāi)發(fā)當(dāng)中需要根據(jù)實(shí)際需求去選擇相應(yīng)的方案。

1.使用Google doc支持來(lái)展示word,excel,pdf,txt(WebView方式在線預(yù)覽):

<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=文檔地址

優(yōu)點(diǎn):使用簡(jiǎn)單,無(wú)需服務(wù)器和客戶端的額外部署工作。

2.github開(kāi)源項(xiàng)目: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("")指定加載某個(gè)文件 
    //指定加載某一頁(yè) 
    /*.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方式在線預(yù)覽,具體用法同1)

第三方公司提供的一種 Office 文檔在線預(yù)覽的功能,能夠?qū)崿F(xiàn) Microsoft、Adobe、WPS

文檔的移動(dòng)端和PC端在線網(wǎng)頁(yè)訪問(wèn)。使用簡(jiǎn)單,類似 Google Doc 訪問(wèn)方式,一個(gè)固定格

式的鏈接,輕松實(shí)現(xiàn):http://ow365.cn/?i=您的網(wǎng)站ID&furl=文檔地址

優(yōu)點(diǎn):功能強(qiáng)大,使用簡(jiǎn)單。

缺點(diǎn):付費(fèi)使用(可免費(fèi)受限使用,如訪問(wèn)次數(shù)、廣告顯示等)。

4.打開(kāi)本地應(yīng)用

如果移動(dòng)設(shè)備中安裝有能夠打開(kāi) Office 文檔的本地應(yīng)用,也可以借助它們打開(kāi)所要操作的文檔,

當(dāng)然前提是必須先將遠(yuǎn)程文檔下載到設(shè)備的本地存儲(chǔ)空間中:

<span style="font-size:18px;">Intent intent = new Intent(Intent.ACTION_VIEW); 
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
//officeFile:本地文檔;type:文檔MIMEType類型,可以使用文件格式后綴 
intent.setDataAndType(Uri.fromFile(officeFile), type); 
if (intent.resolveActivity(getPackageManager())!=null){ 
 startActivity(intent); 
}</span> 

優(yōu)點(diǎn):可讀可寫。

缺點(diǎn):需要先行下載,同時(shí)設(shè)備中存在能夠打開(kāi)文檔的本地應(yīng)用,并且閱讀時(shí)會(huì)離開(kāi)當(dāng)前應(yīng)用。

5.第三方 SDK

網(wǎng)上有一些免費(fèi)開(kāi)源的解析源碼和第三方公司提供的付費(fèi) SDK,將其嵌入自己的項(xiàng)目中,便能使用其中的功能操作 Office 文檔。這種方式的缺點(diǎn)也顯而易見(jiàn),最直接的就是大大增加了 APK 安裝文件的大小。免費(fèi)的開(kāi)源項(xiàng)目,存在一些局限性和不穩(wěn)定性,操作繁瑣;付費(fèi) SDK ,使用起來(lái)相對(duì)較為簡(jiǎn)單。

免費(fèi)開(kāi)源:

pdfium-----Google 的開(kāi)源項(xiàng)目,也是 Chrome 瀏覽器的PDF渲染引擎,初始代碼來(lái)自國(guó)內(nèi)知名PDF技術(shù)公司「福昕」。

AndroidPdfViewer(上面的方法2)

PdfiumAndroid-----基于 pdfium 的兩個(gè) Android 平臺(tái)實(shí)現(xiàn)方式,支持 PDF 文檔的應(yīng)用內(nèi)預(yù)覽,支持動(dòng)畫、縮放、手勢(shì)和雙擊操作。

MuPDF------一個(gè)輕量級(jí)的 開(kāi)源 PDF 和 XPS 查看器。

付費(fèi)SDK:

Foxit PDF SDK-----福昕出品,性能穩(wěn)定,功能強(qiáng)大,支持 PDF 的顯示、導(dǎo)航、創(chuàng)建、搜索、

注釋、保護(hù)、PDF文本提取、圖片轉(zhuǎn)換、表單數(shù)據(jù)收集和編輯等功能。

plugPDF-----來(lái)自國(guó)外的一個(gè)付費(fèi) SDK,使用簡(jiǎn)單,只需三步即可集成到自己的應(yīng)用中并使用。

6.服務(wù)器端解析

需要在服務(wù)器端完成 Office 文檔的解析工作,通過(guò)一些技術(shù)手段將文檔轉(zhuǎn)換為 Html 文件或者圖片,然后再在客戶端通過(guò) WebView 加載顯示。

PDF.js:「 mozilla 」開(kāi)源的一種JS解決方案,提供了服務(wù)器和客戶端兩種集成方式。

pdf2htmlEX:類似 PDF.js ,在服務(wù)器端集成,利用 Web技術(shù)完成 Office 文檔的解析工作。

總結(jié):

總體來(lái)說(shuō),在 Android 平臺(tái)上實(shí)現(xiàn) Office 文檔的預(yù)覽和編輯功能,屬于一個(gè)較為棘手的問(wèn)題,需要結(jié)合實(shí)際產(chǎn)品需求和開(kāi)發(fā)成本、穩(wěn)定性等多方面考慮。當(dāng)然,如果不是硬需求,最好不要隨意集成開(kāi)源 SDK,畢竟研發(fā)成本過(guò)高,同時(shí)穩(wěn)定性不見(jiàn)得如你所想。

以上這篇Android實(shí)現(xiàn)pdf在線預(yù)覽或本地預(yù)覽的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

九龙城区| 阿克苏市| 丹阳市| 龙山县| 铅山县| 东安县| 海口市| 舒城县| 朝阳市| 融水| 白玉县| 枞阳县| 津南区| 安康市| 上犹县| 廊坊市| 定日县| 鄢陵县| 涞水县| 大埔县| 贵德县| 浦江县| 临高县| 枣庄市| 岗巴县| 红河县| 宜兰市| 五家渠市| 古浪县| 尚义县| 神农架林区| 玉树县| 都江堰市| 新营市| 鄂州市| 蒲城县| 兴业县| 武城县| 永兴县| 东乡县| 新余市|