Mostrar archivo PDF en la Aplicación

He encontrado esta dos posibilidades para mostrar un archivo pdf.

  1. Abrir un webView con:

    webView.loadUrl("https://docs.google.com/gview?embedded=true&url="+uri);

  2. Abrir el Archivo pdf con una extern Aplicación:

    Intent intent = new Intent(Intent.ACTION_VIEW);
    intención.setDataAndType(Uri.fromFile(outFile),»application/pdf»);
    intención.setFlags(Intención.FLAG_ACTIVITY_NO_HISTORY);
    startActivity(intent);

Tanto de ellos en el trabajo. Pero mi problema es que el pdf es sólo para uso interno y en ambos ejemplos, el usuario podrá descargar o guardar en otra carpeta.

Sé marcos para esto en iOS dev, yo buscando una solución que funciona con Android.

  • Cuando se utiliza un motor de búsqueda para android pdf library, ¿qué aprendiste?
InformationsquelleAutor Laire | 2014-08-06

3 Kommentare

  1. 10

    Android proporciona PDF API de ahora con la que es fácil presentar el contenido del pdf dentro de la aplicación.

    usted puede encontrar los detalles aquí

    A continuación es el ejemplo de fragmento de procesamiento de un archivo pdf en la carpeta de activos.

        private void openRenderer(Context context) throws IOException {
        //In this sample, we read a PDF from the assets directory.
        File file = new File(context.getCacheDir(), FILENAME);
        if (!file.exists()) {
            //Since PdfRenderer cannot handle the compressed asset file directly, we copy it into
            //the cache directory.
            InputStream asset = context.getAssets().open(FILENAME);
            FileOutputStream output = new FileOutputStream(file);
            final byte[] buffer = new byte[1024];
            int size;
            while ((size = asset.read(buffer)) != -1) {
                output.write(buffer, 0, size);
            }
            asset.close();
            output.close();
        }
        mFileDescriptor = ParcelFileDescriptor.open(file, ParcelFileDescriptor.MODE_READ_ONLY);
        //This is the PdfRenderer we use to render the PDF.
        if (mFileDescriptor != null) {
            mPdfRenderer = new PdfRenderer(mFileDescriptor);
        }
    }

    actualización: Este fragmento es de los desarrolladores de google siempre que las muestras.

  2. 4

    Muchas bibliotecas están disponibles para mostrar los archivos pdf dentro de su propia app.

    Para un ejemplo de trabajo utilizando android-pdfView, ver este blog.
    Se muestra el uso básico de la biblioteca para mostrar pdf en la vista vertical y horizontal con pasar el dedo.

    pdfView = (PDFView) findViewById(R.id.pdfView);
    pdfView.fromFile(new File("/storage/sdcard0/Download/pdf.pdf")).defaultPage(1).enableSwipe(true).onPageChange(this).load();
    • Android API 19 provee de factibilidad ahora para presentar el contenido del pdf dentro de una aplicación y por lo tanto no hay necesidad de la 3ª parte de Sdk.

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea