2011-08-17 15 views
7

Vorrei rendere/aprire il file PDF (memorizzato in SDCard) in Android senza utilizzare un'applicazione o visualizzatore in-build.Rendering PDF Android

1) Abbiamo provato la libreria open source MuPDF ma il rendering utilizzando questa libreria è molto lento.

2) È possibile utilizzare la libreria iText per il rendering di file PDF in Android (ad esempio iText come PDF Viewer).

C'è qualche altra libreria PDF (open source) che può essere utilizzata su Android o suggerire linee guida di base per lo sviluppo di visualizzatore PDF per Android.

risposta

4

Recentemente ho svolto alcune ricerche in questo campo, ho provato più di 14 librerie su Android, ho fatto un semplice benchmark su alcune riviste in formato PDF ad alta risoluzione e sto considerando di utilizzare MuPDF o Radaee nel lavoro mentre uscivano come i migliori.

Ho provato anche VuDroid e apv e sono molto instabili, si bloccano molto spesso su documenti PDF complessi e molto lentamente in compattazione con MuPDF o Radaee.

Poiché MuPDF e Radaee (e alcune altre librerie) sono scritti in puro C e vengono utilizzati su Android tramite NDK, offrono le migliori prestazioni possibili (ed entrambi sono pagati per un uso commerciale).

+0

sembra che tutti i MuPDF (derivati ​​VuDroid, apv), Radaee non siano adatti per l'uso nell'app a pagamento. Quella libreria pdf può essere utilizzata nell'app a pagamento? – manhon

+1

Non sono sicuro di cosa stia esattamente chiedendo, ma se la tua domanda è quale libreria è libera di usare per scopi commerciali, potresti cercare la libreria PDFBox. Sebbene sia una libreria Java, potrebbe esserci qualche porta per Android da qualche parte (ad esempio sembra che stia avviando qualche progetto su GitHub: https://github.com/jeremyvillalobos/android-pdfbox-port) ...esiste anche un'altra libreria java PDF chiamata PDFView di Sun che è completamente gratuita. –

8

1) MuPDF è utile per eseguire il pdf di libri di testo in Android, mentre può essere lento per il rendering di pdf con immagini grandi. Molte personalizzazioni e miglioramenti, in particolare il controllo dell'utilizzo della memoria, devono essere eseguiti se si desidera che MuPDF funzioni in modo veloce e stabile sulla piattaforma Android. Puoi controllare due progetti open source VuDroid e apv basati su MuPDF.

2) Dipende dalle vostre esigenze. L'iText può essere sufficiente per rendere semplice il testo pdf, ma non penso che abbia prestazioni migliori di MuPDF o di altre librerie sviluppate usando C/C++.

Un'altra scelta è quella di utilizzare Poppler. Una storia di successo è la popolare app per Android ezPDF Reader basata su Poppler, anche se sta violando la licenza GPL. Poppler ha bisogno di più lavoro di MuPDF per funzionare senza problemi su Android. È possibile fare riferimento al progetto open source apdfviewer.

+0

Grazie per la risposta rapida - proverà le opzioni suggerite e ti farò sapere ... Allo stesso tempo sto esplorando alcune cose e ho trovato un'altra opzione, ad esempio PDFBox - possiamo usarla in Android come visualizzatore PDF ... – user895935

+2

Perché pensi che ezPDF sia basato su Poppler? – Vanuan

+0

Anche Pressreader di Newspaper Direct usa Poppler, funziona anche molto bene anche se il panning è un po 'lento. –

0

Dai un'occhiata al mio lettore di PDF per Android here at anddev. Come ricordo, utilizza PDFBox modificato (senza elementi relativi alle modifiche) e include il mio convertitore di font (per inviare font ad Android e renderli più veloci).

Non sviluppo più il lettore PDF e posso apportare tutte le mie modifiche a opensource (anche se richiederà un po 'di lavoro e tempo). Puoi provarlo per scoprire come si comporta bene per te. Nota: il lettore non supporta la crittografia e la protezione dalla copia.