Android平台自身没有直接可以阅读和处理pdf的方案,在github上面有一个第三方开源的pdf开发SDK,其主页地址是:
https://github.com/JoanZapata/android-pdfview
android-pdfview使用比较简单,关键的地方是PDFView,将PDFView作为像Android的ImageView或者TextView一样写进xml布局文件:<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <com.joanzapata.pdfview.PDFView android:id="@+id/pdfView" android:layout_width="match_parent" android:layout_height="match_parent" /> </FrameLayout>
然后在Java上层代码直接加载pdf文件资源装载进去即可:
package zhangphil.pdfview; import com.joanzapata.pdfview.PDFView; import com.joanzapata.pdfview.listener.OnPageChangeListener; import android.app.Activity; import android.os.Bundle; import android.widget.Toast; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); PDFView pdfView = (PDFView) findViewById(R.id.pdfView); // 在我这个测试例子中,事先准备一个叫做sample.pdf的pdf大文件放到assets目录下。 // 从assets文件目录下读取名为 sample.pdf的文件,缺省把该pdf定位到第一页。 pdfView.fromAsset("sample.pdf").defaultPage(1).onPageChange(new OnPageChangeListener() { @Override public void onPageChanged(int page, int pageCount) { // 当用户在翻页时候将回调。 Toast.makeText(getApplicationContext(), page + " / " + pageCount, Toast.LENGTH_SHORT).show(); } }).load(); } }