Hola,
Descargue el código fuente desde aquí (muestre el archivo pdf en su aplicación de Android mediante programación)
Agregue esta dependencia en su calificación:
compile 'com.github.barteksc:android-pdf-viewer:2.0.3'
activity_main.xml
- Cómo poner un PDF en el cuerpo de un correo electrónico
- Cómo convertir un PDF en un archivo legible por Nook sin las separaciones de línea del PDF creando nuevos párrafos en el archivo de Nook
- Cómo convertir una imagen PDF (PDF escaneado) a un PDF editable de forma gratuita
- Cómo extraer fácilmente texto de un archivo PDF de dos columnas
- ¿Cuál es una buena alternativa gratuita a Adobe Acrobat en OS X para crear un PDF editable?
<Android RelativeLayout: layout_width = "match_parent"
android: layout_height = “match_parent”
android: background = “# ffffff”
xmlns: android = “http://schemas.android.com/apk/res/android”>
<TextView
android: layout_width = “match_parent”
android: layout_height = “40dp”
android: background = “@ color / colorPrimaryDark”
android: text = “Ver PDF”
android: textColor = “# ffffff”
android: id = “@ + id / tv_header”
android: textSize = “18dp”
android: gravity = “center”>
<com.github.barteksc.pdfviewer.PDFView
android: id = “@ + id / pdfView”
android: layout_below = “@ + id / tv_header”
android: layout_width = “match_parent”
android: layout_height = “match_parent” />
MainActivity.java
importar android.app.Activity;
importar android.database.Cursor;
importar android.net.Uri;
importar android.provider.OpenableColumns;
importar android.support.v7.app.AppCompatActivity;
importar android.os.Bundle;
importar android.util.Log;
importar android.view.View;
importar android.widget.ImageView;
importar android.widget.RelativeLayout;
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;
@Anular
vacío protegido 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();
}
@Anular
public void onPageChanged (int página, int pageCount) {
pageNumber = página;
setTitle (String.format (“% s% s /% s”, pdfFileName, página + 1, pageCount));
}
@Anular
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 + “-“);
}
}
}
}
¡Gracias!