Android PDF预览集成方案

Android 应用里的 PDF 预览需求还挺常见的,尤其是一些教育类、阅读类、企业资料类 App,用得多。AndroidPdfViewer就是一个还不错的开源库,集成流程简单,体验也挺流畅的,适合快速上手。

Vitamio 团队开发的这个库,API 设计得蛮直观的,加载 PDF 不用大费周章——写几行代码就能跑起来。你只需要在build.gradle里加一行依赖:

implementation 'com.github.barteksc:android-pdf-viewer:3.2.0'

,在布局里放个PDFView控件,用fromFile或者fromUrl来加载 PDF,直接。

比如你想打开本地的 PDF 文件,可以这样写:

PDFView pdfView = findViewById(R.id.pdfView);
File file = new File("/path/to/your/pdf");
pdfView.fromFile(file).load();

支持网络地址的 PDF 加载也是一样的套路,用fromUrl就行。

你还可以加一些配置项,比如默认显示哪一页、是否开启夜间模式、横向滚动要不要关掉等。甚至可以监听 PDF 加载完成或页面切换的事件,功能还是比较全的:

pdfView.fromFile(file)
  .defaultPage(0)
  .nightMode(false)
  .scrollHorizontally(false)
  .load();

事件监听器也简单:

pdfView.setOnLoadCompleteListener(new OnLoadCompleteListener() {
  @Override
  public void loadComplete(int nbPages) {
    // 加载完啦
  }
});

如果你不小心把内存撑爆了,那多半是忘记释放资源了。记得在onDestroy()里加上pdfView.destroy(),干净利落。

进阶玩法也有,比如搜索、高亮、书签、手势啥的,官方没封死,源码都在 GitHub 上,感兴趣可以自己加。MuPDFAdobe PDF SDK这些更重的库,也可以考虑,但大部分需求这个库都能扛住。

如果你想省事,又想体验还不错,那AndroidPdfViewer还蛮值得一试的,尤其适合中小型项目或想快速交付的场景。

zip 文件大小:112.67MB