您的位置:首页 > 移动开发 > Android开发

Android 阅读PDF文档

2017-07-13 09:18 381 查看
最近公司需要做PDF 文档阅读,花了点时间研究了下,

收现在 build.gradle 中引入包



然后就是调用

package com.zga.administrator.apptest;

import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;

import es.voghdev.pdfviewpager.library.RemotePDFViewPager;
import es.voghdev.pdfviewpager.library.adapter.PDFPagerAdapter;
import es.voghdev.pdfviewpager.library.remote.DownloadFile;
import es.voghdev.pdfviewpager.library.util.FileUtil;

public class RemotePDFActivity extends BaseSampleActivity implements DownloadFile.Listener {
LinearLayout root;
RemotePDFViewPager remotePDFViewPager;
EditText etPdfUrl;
Button btnDownload;
PDFPagerAdapter adapter;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_remote_pdf);

root = (LinearLayout) findViewById(R.id.remote_pdf_root);
etPdfUrl = (EditText) findViewById(R.id.et_pdfUrl);
btnDownload = (Button) findViewById(R.id.btn_download);

setDownloadButtonListener();
}

@Override
protected void onDestroy() {
super.onDestroy();

if (adapter != null) {
adapter.close();
}
}

protected void setDownloadButtonListener() {
final Context ctx = this;
final DownloadFile.Listener listener = this;
btnDownload.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
remotePDFViewPager = new RemotePDFViewPager(ctx, getUrlFromEditText(), listener);
remotePDFViewPager.setId(R.id.pdfViewPager);
hideDownloadButton();
}
});
}

protected String getUrlFromEditText() {
return etPdfUrl.getText().toString().trim();
}

public static void open(Context context) {
Intent i = new Intent(context, RemotePDFActivity.class);
context.startActivity(i);
}

public void showDownloadButton() {
btnDownload.setVisibility(View.VISIBLE);
}

public void hideDownloadButton() {
btnDownload.setVisibility(View.INVISIBLE);
}

public void updateLayout() {
root.removeAllViewsInLayout();
root.addView(etPdfUrl,
LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
root.addView(btnDownload,
LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
root.addView(remotePDFViewPager,
LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
}

@Override
public void onSuccess(String url, String destinationPath) {
adapter = new PDFPagerAdapter(this, FileUtil.extractFileNameFromURL(url));
remotePDFViewPager.setAdapter(adapter);
updateLayout();
showDownloadButton();
}

@Override
public void onFailure(Exception e) {
e.printStackTrace();
showDownloadButton();
}

@Override
public void onProgressUpdate(int progress, int total) {

}
}


还有一个有关于 BaseSampleActivity

package com.zga.administrator.apptest;

import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;

public class BaseSampleActivity extends AppCompatActivity {

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
configureActionBar();
}

protected void configureActionBar() {
int color = ContextCompat.getColor(this, R.color.pdfViewPager_ab_color);
ActionBar ab = getSupportActionBar();
ab.setBackgroundDrawable(new ColorDrawable(color));
}
}


觉得学有所得,特此记录一笔
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  pdf