How to Resolve PDFView in Android Studio

 Everything you need to know how to solve this error.

 

 Get help on the following topics

Step-01: Read this...

First Add Dependency on Android Studio

/ * Pdf library dependency add on dependency build.gradle (Module:app) */

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



Step-02: Read this...

Add this code gradle.properties.....

android.enableJetifier = true

Step-03: Read this...

That did not work for me. In order to get my Android project running again, I had to add jcenter() to the setting.gradle(Project Setting) file.


pluginManagement {

    repositories {

        gradlePluginPortal()

        google()

        mavenCentral()

        jcenter()

    }

}

Step-04: Read this...

<com.github.barteksc.pdfviewer.PDFView

        android:id="@+id/pdfView"

        android:layout_width="match_parent"

        android:layout_height="match_parent"/>

Step-05: Read this...

Load a PDF file

All available options with default values:


pdfView.fromUri(Uri)

or

pdfView.fromFile(File)

or

pdfView.fromBytes(byte[])

or

pdfView.fromStream(InputStream) // stream is written to bytearray - native code cannot use Java Streams

or

pdfView.fromSource(DocumentSource)

or

pdfView.fromAsset(String)

    .pages(0, 2, 1, 3, 3, 3) // all pages are displayed by default

    .enableSwipe(true) // allows to block changing pages using swipe

    .swipeHorizontal(false)

    .enableDoubletap(true)

    .defaultPage(0)

    // allows to draw something on the current page, usually visible in the middle of the screen

    .onDraw(onDrawListener)

    // allows to draw something on all pages, separately for every page. Called only for visible pages

    .onDrawAll(onDrawListener)

    .onLoad(onLoadCompleteListener) // called after document is loaded and starts to be rendered

    .onPageChange(onPageChangeListener)

    .onPageScroll(onPageScrollListener)

    .onError(onErrorListener)

    .onPageError(onPageErrorListener)

    .onRender(onRenderListener) // called after document is rendered for the first time

    // called on single tap, return true if handled, false to toggle scroll handle visibility

    .onTap(onTapListener)

    .onLongPress(onLongPressListener)

    .enableAnnotationRendering(false) // render annotations (such as comments, colors or forms)

    .password(null)

    .scrollHandle(null)

    .enableAntialiasing(true) // improve rendering a little bit on low-res screens

    // spacing between pages in dp. To define spacing color, set view background

    .spacing(0)

    .autoSpacing(false) // add dynamic spacing to fit each page on its own on the screen

    .linkHandler(DefaultLinkHandler)

    .pageFitPolicy(FitPolicy.WIDTH) // mode to fit pages in the view

    .fitEachPage(false) // fit each page to the view, else smaller pages are scaled relative to largest page.

    .pageSnap(false) // snap pages to screen boundaries

    .pageFling(false) // make a fling change only a single page like ViewPager

    .nightMode(false) // toggle night mode

    .load();