¿Cómo mostrar archivos PDF dentro de una aplicación de Android en lugar de cargar en WebView agregando URL de PDF con una URL de Google DOCs e iniciando una aplicación de representación de PDF de terceros instalada en el dispositivo? ¿Hay alguna buena biblioteca gratuita de renderizado de PDF disponible?

Hola,

Descargue el código fuente desde aquí ( Mostrar archivo PDF dentro de mi aplicación de Android ).

Agregue esta dependencia en su archivo gradle:

  compile 'com.github.barteksc: android-pdf-viewer: 2.0.3'

activity_main.xml:

  

      

     


     

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 + "-");
             }
         }
     }

 }

OK, veamos, hay 1 biblioteca que conozco y que he usado para algunos proyectos favoritos http://www.radaeepdf.com/&nbsp ; Echale un vistazo. La documentación es decente y proporcionan SDK completo para que pueda usar todas las funciones y es gratis

También google clases PDFrenderer que básicamente representa las páginas una por una PdfRenderer | Desarrolladores de Android, por lo que el problema es que no podrá tener el efecto de desplazamiento continuo porque solo se representa una página. puede usar varios subprocesos para representar varias páginas PERO esta clase no es segura para subprocesos Tenga cuidado si intenta implementar eso, puede encontrar una pérdida de memoria

Hay pocas bibliotecas gratuitas y de pago.

los 1 gratis son Android PDF Library, qPDF Toolkit – Android PDF SDK Library para crear, renderizar y manipular documentos PDF

1, paga, crea, asegura, convierte a pdf y edita archivos pdf 30 días de prueba gratis

No sé si esto funcionará, pero todavía 1 opción más Una Biblioteca PDF de Java

Pero como sugerencia todavía utilizo la webview. Personalmente no me gusta usar bibliotecas de terceros, a su vez pueden agregar algunos efectos no previstos.

Espero que esto ayude. Actualizaré mi respuesta si encuentro más información.

Paz

Puedes usar el nivel 21 de scincerer clase PdfRenderer [1] (lillipop) [2]

Notas al pie

[1] PdfRenderer | Desarrolladores de Android

[2] Renderiza un archivo PDF usando Java en Android

Deberías revisar esto

jblough / Android-Pdf-Viewer-Library

Visor de PDF de Android

¿Mostrar PDF dentro de la aplicación en Android?

Necesita ayuda para convertir una página Pdf en Bitmap en Android Java

Foxit MobilePDF SDK puede hacerlo:

El SDK # 1 de PDF Library para iOS y Android | Foxit MobilePDF SDK

Es fácil de usar y proporciona elementos de interfaz de usuario integrados.

Foxit MobilePDF SDK consta de tres elementos:

Control de vista

Un control de vista avanzado con una API fácil de usar para mostrar y manipular archivos PDF en Android, iOS y UWP. Con la reconocida y ampliamente utilizada tecnología de representación de PDF de Foxit en su núcleo, el control de vista proporciona funciones de zoom, desplazamiento y navegación de página rápidas y de alta calidad. ¿La mejor parte? Está diseñado para una rápida integración en sus aplicaciones.

Componente de extensiones de IU

El componente UI EXTENSIONS se basa en el control de vista, proporcionando una interfaz de usuario personalizable con herramientas integradas para selección de texto, marcado y dibujo de texto, llenado de formularios, escritura de texto libre, estampado estándar y dinámico, modo nocturno, navegación de esquema y texto completo buscando. El componente de herramientas se proporciona como un componente compilado para una integración rápida, y para una flexibilidad completa, también se proporciona el código fuente que permite a los desarrolladores personalizar la interfaz de usuario predeterminada y controlar con precisión la funcionalidad de las herramientas predeterminadas.

PDF Core API

El PDF Core API es el corazón de este kit de desarrollo rápido, contiene las funciones utilizadas en el control de vista y el componente de extensiones de UI. La API PDF Core se puede usar de forma independiente para la representación, análisis, extracción de texto, firma digital, búsqueda de texto, llenado de formularios, importación / exportación de datos de formularios, creación y manipulación de anotaciones, y mucho más. Haga clic en las Características de arriba para ver todas las características disponibles.

Es el problema más común para los desarrolladores de Android. Stackoverflow se desborda con esta pregunta: p

Puedes comprobar

  1. http://www.mupdf.com
  2. https://github.com/jblough/Andro

Hay una aplicación llamada polaris office.

Lo cual es muy útil para archivos PDF y también para todos los demás archivos.

Es la mejor aplicación de renderizado para amdroid.

Puede descargar desde Play Store.

Htc da esto en el sistema incorporado.

O puede probar cualquier otra oficina para pdf.

Pero te sugiero la oficina de Polaris.

Descargue el archivo o elija abrir con para seleccionar la aplicación deseada

Adobe Reader

Oficina de wps

Visor de PDF de Google

Lo anterior son las aplicaciones decentes para pdf

¿Estás buscando soluciones comerciales?
RadaeePDF.com
Componentes de PDF y herramientas de PDF
Foxit

Descargo de responsabilidad: soy un representante de RadaeePDF.com.

Pruebe este: JoanZapata / android-pdfview
¡Espero eso ayude!

gracias por A a A
puedes usar MuPDF, una biblioteca nativa de Android.

sí, puedes consultar este … https://github.com/bitfield66/Pd

JoanZapata / android-pdfview

esta biblioteca puede ayudarte