Intégrer MuPDF Lecteur dans une application
Je suis en train de travailler sur des choses qui devraient être en mesure de lire PDF dans mon application et je veux mettre PDF afficher dans mon mise en page personnalisée. J'avais préféré Android PDF Viewer mais quand j'ai effectué zoomIn, zoomOut il prend trop de temps.
Donc, actuellement je suis censé utiliser MuPDF projet open source pour l'intégrer dans mon projet, il est basé sur JNI et je ne suis pas habitué à ça.
Je suis en utilisant Cygwin à la construction de la bibliothèque de code natif. Donc je suis pas clair avec peu de choses:
-
comment intégrer la MuPDF dans mon projet (comme par ma question de titre)?
-
une fois que je vais réussir à intégré alors comment puis-je mettre un lecteur de PDF dans mon vue personnalisée (dans le XML ou programmaticaly)?
- Croyez-moi, frère, si vous allez à l'intégrer alors préparez-vous pour au moins une semaine agitée
- oh vraiment ? ont u mis en place ?
- yup pas qu'presque tous les PDF library, j'ai travaillé sur cela, mais vous ne serez pas obtenir ce que vous voulez tous sont lents et pas de documentation
- la grande qui semble intéressant ..pouvez-vous me faire clair que ce que je veux dose-elle possible ? si quelque chose de positif alors souhaitez moi bonne chance 🙂
- Attendre récemment, j'ai trouver une bibliothèque qui fait tout pour vous, laissez-moi vérifier
- impatient pour votre réponse .tnx
- êtes-vous autorisé à utiliser mupdf dans une application commerciale?
- Non, il n'est pas entièrement vous permettre de les utiliser à des fins commerciales , vous devez les convaincre par la diffusion de détails pour [email protected]
- récemment, j'ai trouver une bibliothèque qui fait tout pour vous, laissez-moi vérifier" .... qu'est-ce que la bibliothèque?!
- Avez-vous trouvé une bonne solution?!
- Accepté de répondre à déjà fonctionné pour moi
- Mais je veux avoir curl/effet flip! Avez-vous une idée ou un exemple de code?!
Vous devez vous connecter pour publier un commentaire.
Je ne sais pas comment faire sous Windows avec cygwin, parce que j'utilise Ubuntu pour le développement. Mais je pense que la procédure devrait être la même.
http://code.google.com/p/mupdf/downloads/list?q=source
Compile thumb : mupdfthirdparty <= jbig2.c
In file included from /home/yury/programming/android/workspace/mupdf-0.9/android/jni/../../thirdparty/jbig2dec/os_types.h:53,
from /home/yury/programming/android/workspace/mupdf-0.9/android/jni/../../thirdparty/jbig2dec/jbig2.c:22:
/home/yury/software/android-ndk-r6b/platforms/android-8/arch-arm/usr/include/stdint.h:48: error: redefinition of typedef 'int8_t'
/home/yury/programming/android/workspace/mupdf-0.9/android/jni/../../thirdparty/jbig2dec/os_types.h:47: note: previous declaration of 'int8_t' was here
La solution est expliqué ici: mupdf pour android: ndk-build problème (erreur: la redéfinition de la définition de type....)
Toutefois, vous pouvez simplement commenter les lignes de la définition de types dans le fichier /tiers/jbig2dec/os_types.h
Après cela, vous recevrez deux bibliothèques: l'une statique et une pour votre application android.
C'était la réponse à la première question. Il y a aussi une grande étape par guide pas à pas dans la android/Readme.txt fichier.
Maintenant la réponse à la deuxième question.
Dans l'application pour android, vous pouvez trouver projet de test. Il y a 3 fichiers:
Il suffit de copier les deux derniers fichiers de votre projet. Et voir un exemple dans MuPDFActivity.java comment vous pouvez incorporer mupdf mise en page dans votre activité. Dans ce fichier, il est fait comme:
Certains des fichiers de code source pour la visionneuse de fichiers PDF dans une application Android. Vérifier les liens et l'essayer:
http://code.google.com/p/apv/source/browse/
http://code.google.com/p/android-pdf/
http://code.google.com/p/droidreader/
http://andpdf.sourceforge.net/
http://soft.udm4.com/downloading/pdf_viewer_open_source_code_in_android/ (lien mort)
http://open-app.org/2011/02/pdf-viewer-a-simple-open-source-pdf-viewer-for-android/ (lien mort)
http://androidunderground.blogspot.com/2011/08/pdf-viewer-has-colors-and-speed-but.html (lien mort)
C'est Comment j'ai réaliser sur mon mac (2012, intel i5):
Étape 1 : Obtenir mupdf-1.2-source.zip
Étape 2 : Obtenir android-ndk-mac-64
Étape 3 : décompresser dans un nouveau dossier d'appel
Android-pdf
et renommer décompressez le dossier àmupdf
etandroid-ndk
(vous pouvez l'appeler ce que vous voulez)Étape 4 : ouvrir un Terminal et utilisez la commande :
cd
jusqu'à ce que vous êtes enandroid-pdf
dossierÉtape 5 : cd
mupdf
de commande:make
(de 40 sec. pour exécuter tous les scripts)Étape 6 : cd
android
(dansmupdf
dir.)Étape 7 : ouvrez le finder aller au dossier
Android-pdf
que vous avez créé queandroid-ndk
faites glisser le fichier d'appelndk-build
en ligne de commande terminal et entrez (essentiellement de l'ajout d'un chemin d'accès à ndk-build pour fonctionner sur mupdf lib.)et au bout de quelques secondes. vous devriez avoir un nouveau dossier à l'intérieur de
mupdf > android > libs > ...
l'utiliser dans votre projet android.Comment utiliser MuPDF avec votre projet Eclipse:
Changement
MUPDF_ROOT := ..
à
Changement
MY_ROOT := ../..
à
Changer tous les
..
dans LOCAL_C_INCLUDES à
Changement
MY_ROOT := ../..
à
Changement tous la
..
dans LOCAL_C_INCLUDES à
Entre les " tags coller de l'ensemble de la liste des activités de
AndroidManifest.xml
à l'intérieur de l' /android dossier, Vous devez copier à partir de votre copie de travail de AndroidManifest.xml à l'intérieur de mupdf.MuPDF en maintenant dans votre projet Eclipse. Pour l'utiliser, appeler
com.artifex.mupdf.ChoosePDFActivity.class
dans votre application. C'est la classe principale pour MuPDF.Pour ouvrir le pdf avec pré-fix fichier:
Uri Uri = Uri.parse("chemin d'accès de fichier pdf");
Intent intent = new Intent(context, MuPDFActivity.class);
intention.setAction(Intention.ACTION_VIEW);
intention.setData(uri);
contexte.startActivity(intent);
Espère que cela aide 🙂
Vérifier ce projet eBookDroid
J'ai vue pager dans mon application. J'ai besoin d'afficher des fichiers pdf sur chaque fragment en vue de radiomessagerie.est-il moyen d'obtenir un aperçu en pdf à partir de
mupdf
? normalement nous appelonsmupdf
comme ci-dessousDonc, si j'utilise
mupdf
pour mon application j'ai appelerMuPDFActivity
sur chaque fragment.Je pense que ce n'est pas une manière correcte?La réponse donnée par
star18bit
assez bien, il résume, mais même suivant que j'ai fait face à beaucoup de problèmes.Comme le
make
commande n'a pas fonctionné pour moi et j'ai eu à le construire à l'aide de Visual Studio. J'ai donc la liste de tous les pré-requis logiciels. Comme la FOURMI. Nous avons également besoin d'ajouter le répertoire du sdk detools
etplatform-tools
dossiers dans le CHEMIN d'accès.Aussi, j'ai eu à faire les changements dans
Core2.mk
fichier, les mêmes que ceux dansCore.mk
. Je ne peux pas donner toutes les informations ici, parce qu'il est beaucoup de choses, donc j'ai fait parvenir ce lien pour des informations complètes:http://howtojava.net/tutorials/android/integrate-mupdf-with-android-in-windows-7