Hola,
Descargue la fuente desde aquí ( Mostrar archivo PDF dentro de mi aplicación de Android ).
NOTA:
- Agregue su archivo pdf en la carpeta Assest.
- Agregue esta dependencia en su archivo gradle:
compile ‘com.github.barteksc: android-pdf-viewer: 2.0.3’
activity_main.xml
http://schemas.android.com/apk/res/android" ;>
MainActivity.java
paquete pdfviewer.pdfviewer;
importar android.app.Activity;
importar android.os.Bundle;
importar android.util.Log;
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.scroll.DefaultScrollHandle;
import com.shockwave.pdfium.PdfDocument;
import java.util.List;
La clase pública MainActivity extiende la actividad implementa OnPageChangeListener, OnLoadCompleteListener {
privada estática final String TAG = MainActivity.class.getSimpleName ();
public static final String SAMPLE_FILE = “android_tutorial.pdf”;
PDFView pdfView;
Número entero de página = 0;
String pdfFileName;
@Override protected void onCreate (Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
setContentView (R.layout.activity_main);
pdfView = (PDFView) findViewById (R.id.pdfView);
displayFromAsset (SAMPLE_FILE);
}
private void displayFromAsset (String assetFileName) {
pdfFileName = assetFileName;
pdfView.fromAsset (SAMPLE_FILE)
.defaultPage (pageNumber)
.enableSwipe (verdadero)
.swipeHorizontal (falso)
.onPageChange (esto)
.enableAnnotationRendering (verdadero)
.onLoad (esto)
.scrollHandle (nuevo DefaultScrollHandle (este))
.carga();
}
@Override public void onPageChanged (int page, int pageCount) {
pageNumber = página;
setTitle (String.format (“% s% s /% s”, pdfFileName, página + 1, pageCount));
}
@Override public void loadComplete (int nbPages) {
PdfDocument.Meta meta = pdfView.getDocumentMeta ();
printBookmarksTree (pdfView.getTableOfContents (), “-“);
}
public void printBookmarksTree (List tree, String sep) {
para (PdfDocument.Bookmark b: tree) {
Log.e (TAG, String.format (“% s% s, p% d”, sep, b.getTitle (), b.getPageIdx ()));
if (b.hasChildren ()) {
printBookmarksTree (b.getChildren (), sep + “-“);
}
}
}
}