首页 > 其他分享 >android实现pdf阅读器

android实现pdf阅读器

时间:2022-10-23 20:44:40浏览次数:66  
标签:barteksc pdfviewer void 阅读器 github import pdf android com

添加依赖

  implementation 'com.github.barteksc:android-pdf-viewer:3.1.0-beta.1'

MainActivity文件

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;

import com.github.barteksc.pdfviewer.PDFView;
import com.github.barteksc.pdfviewer.listener.OnLoadCompleteListener;
import com.github.barteksc.pdfviewer.listener.OnPageChangeListener;
import com.github.barteksc.pdfviewer.listener.OnPageErrorListener;
import com.github.barteksc.pdfviewer.scroll.DefaultScrollHandle;
import com.github.barteksc.pdfviewer.util.Constants;
import com.github.barteksc.pdfviewer.util.FitPolicy;

import java.io.File;

public class MainActivity extends AppCompatActivity implements OnPageChangeListener, onl oadCompleteListener, OnPageErrorListener {
    private PDFView pdfView;
    //private PDFView pdfView;
    public static final String SAMPLE_FILE = "sample.pdf";
    String pdfFileName;
    Integer pageNumber = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        pdfView = (PDFView) findViewById(R.id.pdfView);
        displayFromAsset("sample.pdf");
    }
    private void displayFromAsset(String assetFileName) {
        pdfFileName = assetFileName;

        pdfView.fromAsset(SAMPLE_FILE)
                .defaultPage(pageNumber)
                .onPageChange(this)
                .enableAnnotationRendering(true)
                .onLoad(this)
                .scrollHandle(new DefaultScrollHandle(this))
                .spacing(10) // in dp
                .onPageError(this)
                .pageFitPolicy(FitPolicy.BOTH)
                .load();
    }

    @Override
    public void onPageChanged(int page, int pageCount) {

    }

    @Override
    public void loadComplete(int nbPages) {

    }

    @Override
    public void onPageError(int page, Throwable t) {

    }
}

layout文件

    <com.github.barteksc.pdfviewer.PDFView
        android:id="@+id/pdfView"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

效果图

 

 GitHub地址 下载前给star

标签:barteksc,pdfviewer,void,阅读器,github,import,pdf,android,com
From: https://www.cnblogs.com/Frank-dev-blog/p/16819466.html

相关文章

  • android获取传感器数据
    效果图  MainActivity源码importandroidx.appcompat.app.AppCompatActivity;importandroid.annotation.SuppressLint;importandroid.content.Context;impor......
  • Android实现类似微信的设置界面
    效果图  导入包implementation'de.hdodenhof:circleimageview:3.1.0'implementation'com.leon:lsettingviewlibrary:1.7.0'layout文件<?xmlversio......
  • android实现全局字体
    效果图  在theme中添加  <itemname="android:fontFamily">@font/a</item> res目录下面创建font,放入名字为a.ttf的字体在manifest中用这个theme即可全局......
  • Android RecyclerView使用ListAdapter高效刷新数据
    原文:AndroidRecyclerView使用ListAdapter高效刷新数据-Stars-One的杂货小窝我们都知道,当RecyclerView数据源更新后,还需要通过adapter调用对应的方法,从而让Recycl......
  • Android使用rxjava
    导入包implementation"io.reactivex.rxjava2:rxjava:2.2.10"implementation"io.reactivex.rxjava2:rxandroid:2.0.2"使用privatevoidexecuteAsyncTask(......
  • 计算机体系结构基础 第三版 电子书 pdf
    作者:胡伟武等出版社:机械工业出版社 链接:计算机体系结构基础第三版  本书由国内从事微处理器设计的一线科研人员编写而成。作者从微处理器设计的角度出发,充......
  • 大规模C++软件开发 卷1 过程与架构 电子书 pdf
    链接:大规模C++软件开发卷1过程与架构  本书通过具体示例演示了基本的设计概念,为各种规模的项目奠定了基础,并演示了成功进行大规模实际开发所需的过程、方法、技......
  • android实现插件化
    新建项目新建一个项目,然后在项目中添加一个项目和一个module   主项目中添加HookManagerimportstaticandroid.os.Environment.DIRECTORY_DOWNLOADS;importa......
  • android实现一键锁屏
    创建AdminReceiverimportandroid.app.admin.DeviceAdminReceiver;publicclassAdminReceiverextendsDeviceAdminReceiver{}在xml中创建device_admin.xml<?xm......
  • android播放60帧动画
    implementation'com.airbnb.android:lottie:4.2.0'导入上面的包下载动画文件json放入assets中布局文件代码 <com.airbnb.lottie.LottieAnimationView......