package eVVM.apk.ui.webview; import android.content.Intent; import android.os.Environment; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import com.allen.library.RxHttpUtils; import com.allen.library.download.DownloadObserver; import com.github.barteksc.pdfviewer.PDFView; import com.github.barteksc.pdfviewer.listener.OnLoadCompleteListener; import com.github.barteksc.pdfviewer.listener.OnPageChangeListener; import butterknife.BindView; import eVVM.apk.R; import eVVM.apk.common.MyActivity; public class PDFActivity extends MyActivity { @BindView(R.id.pdfView) PDFView pdfView; @Override protected int getLayoutId() { return R.layout.activity_pdf; } @Override protected int getTitleId() { return 0; } @Override protected void initView() { //获取到文件在本地存储的路径 final String pdfpath = Environment.getExternalStorageDirectory() + "/PDFdownload"; Intent in = getIntent(); String pdfdownurl = in.getStringExtra("pdfdownurl"); final String pdfname = "pdfdata1.pdf"; //后缀必须加 是.pdf showLoading(); RxHttpUtils.downloadFile(pdfdownurl) //.subscribe(new DownloadObserver(fileName,destFileDir) 其中 destFileDir是自定义下载存储路径 .subscribe(new DownloadObserver(pdfname, pdfpath) { //可以通过配置tag用于取消下载请求 @Override protected String setTag() { return "download"; } @Override protected void onError(String errorMsg) { showComplete(); toast(errorMsg); } @Override protected void onSuccess(long bytesRead, long contentLength, float progress, boolean done, String filePath) { // btnProveDownload.setText("" + progress + "%"); if (done) { //btnProveDownload.setText("下载\n完成"); // toast("下载完成,请上传"); showComplete(); toast("加载成功"); getPdf(pdfname, filePath); //显示pdf } } }); } private void getPdf(String pdfName, String filePath) { pdfView.fromAsset(pdfName) //是否允许翻页,默认是允许翻页 .enableSwipe(true) //pdf文档翻页是否是垂直翻页,默认是左右滑动翻页 .swipeHorizontal(true) // .enableDoubletap(false) //设置默认显示第0页 .defaultPage(1) //允许在当前页面上绘制一些内容,通常在屏幕中间可见。 // .onDraw(onDrawListener) // // 允许在每一页上单独绘制一个页面。只调用可见页面 // .onDrawAll(onDrawListener) //设置加载监听 .onLoad(new OnLoadCompleteListener() { @Override public void loadComplete(int nbPages) { } }) //设置翻页监听 .onPageChange(new OnPageChangeListener() { @Override public void onPageChanged(int page, int pageCount) { } }) //设置页面滑动监听 // .onPageScroll(onPageScrollListener) // .onError(onErrorListener) // 首次提交文档后调用。 // .onRender(onRenderListener) // 渲染风格(就像注释,颜色或表单) .enableAnnotationRendering(false) .password(null) .scrollHandle(null) // 改善低分辨率屏幕上的渲染 .enableAntialiasing(true) // 页面间的间距。定义间距颜色,设置背景视图 .spacing(0) .load(); } @Override protected void initData() { } }