本地pdf文件如何在Android應(yīng)用中打開(kāi)?針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。
創(chuàng)新互聯(lián)長(zhǎng)期為1000+客戶(hù)提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為肅寧企業(yè)提供專(zhuān)業(yè)的成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè),肅寧網(wǎng)站改版等技術(shù)服務(wù)。擁有十載豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。
1.下載android-pdfview庫(kù)
2. android-pdfview的簡(jiǎn)單介紹
PDFView是這個(gè)庫(kù)中最核心的類(lèi),用于加載pdf文件,PDFView是的實(shí)現(xiàn)是繼承于SurfaceView來(lái)實(shí)現(xiàn)的。主要用到了建造者模式來(lái)設(shè)置相關(guān)的屬性。
fromFile(file) //設(shè)置pdf文件地址 fromAsset(assetFileName) //設(shè)置pdf文件地址 defaultPage(1) //設(shè)置默認(rèn)顯示第1頁(yè) onPageChange(this) //設(shè)置翻頁(yè)監(jiān)聽(tīng) onLoad(this) //設(shè)置加載監(jiān)聽(tīng) onDraw(this) //繪圖監(jiān)聽(tīng) showMinimap(false) //pdf放大的時(shí)候,是否在屏幕的右上角生成小地圖 swipeVertical( false ) //pdf文檔翻頁(yè)是否是垂直翻頁(yè),默認(rèn)是左右滑動(dòng)翻頁(yè) enableSwipe(true) //是否允許翻頁(yè),默認(rèn)是允許翻頁(yè) pages() //把2 , 3 , 4 , 5 過(guò)濾掉 load();
3. 在項(xiàng)目的build.gradle添加這個(gè)依賴(lài)
compile 'com.joanzapata.pdfview:android-pdfview:1.0.4@aar'
4.寫(xiě)一個(gè)布局文件
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.lidong.pdf.androidpdf.MainActivity"> <com.joanzapata.pdfview.PDFView android:id="@+id/pdfView" android:layout_width="match_parent" android:layout_height="match_parent" /> </RelativeLayout>
5.Activity的實(shí)現(xiàn)
package com.lidong.pdf.androidpdf; import android.graphics.Canvas; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.ViewTreeObserver; import android.widget.Toast; import com.joanzapata.pdfview.PDFView; import com.joanzapata.pdfview.listener.OnDrawListener; import com.joanzapata.pdfview.listener.OnLoadCompleteListener; import com.joanzapata.pdfview.listener.OnPageChangeListener; import java.io.File; public class MainActivity extends AppCompatActivity implements OnPageChangeListener ,OnLoadCompleteListener, OnDrawListener { private PDFView pdfView ; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); pdfView = (PDFView) findViewById( R.id.pdfView ); //從assets目錄讀取pdf displayFromAssets("0010000022464002F__李東.pdf"); //從文件中讀取pdf // displayFromFile( new File( "fileName")); } private void displayFromAssets(String assetFileName ) { pdfView.fromAsset(assetFileName) //設(shè)置pdf文件地址 .defaultPage(1) //設(shè)置默認(rèn)顯示第1頁(yè) .onPageChange(this) //設(shè)置翻頁(yè)監(jiān)聽(tīng) .onLoad(this) //設(shè)置加載監(jiān)聽(tīng) .onDraw(this) //繪圖監(jiān)聽(tīng) .showMinimap(false) //pdf放大的時(shí)候,是否在屏幕的右上角生成小地圖 .swipeVertical( false ) //pdf文檔翻頁(yè)是否是垂直翻頁(yè),默認(rèn)是左右滑動(dòng)翻頁(yè) .enableSwipe(true) //是否允許翻頁(yè),默認(rèn)是允許翻頁(yè) // .pages() //把 5 過(guò)濾掉 .load(); } private void displayFromFile( File file ) { pdfView.fromFile(file) //設(shè)置pdf文件地址 .defaultPage(6) //設(shè)置默認(rèn)顯示第1頁(yè) .onPageChange(this) //設(shè)置翻頁(yè)監(jiān)聽(tīng) .onLoad(this) //設(shè)置加載監(jiān)聽(tīng) .onDraw(this) //繪圖監(jiān)聽(tīng) .showMinimap(false) //pdf放大的時(shí)候,是否在屏幕的右上角生成小地圖 .swipeVertical( false ) //pdf文檔翻頁(yè)是否是垂直翻頁(yè),默認(rèn)是左右滑動(dòng)翻頁(yè) .enableSwipe(true) //是否允許翻頁(yè),默認(rèn)是允許翻 // .pages( 2 ,5 ) //把2 5 過(guò)濾掉 .load(); } /** * 翻頁(yè)回調(diào) * @param page * @param pageCount */ @Override public void onPageChanged(int page, int pageCount) { Toast.makeText( MainActivity.this , "page= " + page + " pageCount= " + pageCount , Toast.LENGTH_SHORT).show(); } /** * 加載完成回調(diào) * @param nbPages 總共的頁(yè)數(shù) */ @Override public void loadComplete(int nbPages) { Toast.makeText( MainActivity.this , "加載完成" + nbPages , Toast.LENGTH_SHORT).show(); } @Override public void onLayerDrawn(Canvas canvas, float pageWidth, float pageHeight, int displayedPage) { // Toast.makeText( MainActivity.this , "pageWidth= " + pageWidth + " // pageHeight= " + pageHeight + " displayedPage=" + displayedPage , Toast.LENGTH_SHORT).show(); } }
關(guān)于本地pdf文件如何在Android應(yīng)用中打開(kāi)問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。
分享題目:本地pdf文件如何在Android應(yīng)用中打開(kāi)
分享路徑:http://jinyejixie.com/article0/pdcjoo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、自適應(yīng)網(wǎng)站、商城網(wǎng)站、外貿(mào)建站、網(wǎng)站導(dǎo)航、動(dòng)態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)