web-dev-qa-db-fra.com

Ouvrir PDF dans l'application PhoneGap réalisée en HTML et CSS

J'ai un problème étrange avec mon application iPad dans Phone Gap. Le problème est que je dois ouvrir le document PDF dans mon application via des liens. Lorsque je clique sur le lien qui ouvre le PDF, il me montre le document PDF sans lien de retour.

Par conséquent, lorsque j'ouvre le document PDF dans mon application via un lien, cela me mène dans une impasse et je ne peux absolument pas revenir à la page principale de mon application.

Ma question est la suivante: comment puis-je avoir une barre supérieure lorsque j'ouvre un PDF qui pourrait me ramener à ma page d'accueil? Tout élément interne pour l'iPad peut être?

Merci beaucoup.

8
Steve

Essayez d’utiliser le plugin In App Browser.

Si vous utilisez une version ultérieure de Phonegap/Cordova (2.8.0, 2.9.0, etc.), elle devrait l’accompagner - rien d’autre à installer.

http://docs.phonegap.com/fr/2.9.0/cordova_inappbrowser_inappbrowser.md.html#InAppBrowser

Cela vous permettra d'ouvrir le PDF dans une nouvelle "fenêtre" superposant votre application. Il comporte un bouton "Terminé" que les utilisateurs peuvent utiliser pour le fermer et revenir à votre application lorsqu'ils ont terminé.

Vous ouvriez le PDF à l'aide du navigateur intégré à l'application, en utilisant quelque chose comme:

window.open('http://whitelisted-url.com/pdftoopen.pdf', '_blank');

C'est à dire. l'option _blank déclenche le plug-in de navigateur intégré. Si vous utilisiez plutôt _system, il pourrait ouvrez-le dans iBooks (devinez-le - sans être sûr à 100% s'il utiliserait iBooks).

12
asgeo1

Essayez de préfixer https://docs.google.com/viewer?url= dans l'URL 

comme, window.open('https://docs.google.com/viewer?url=http://www.example.com/example.pdf&embedded=true', '_blank', 'location=yes');

4
BetRob

Essayez ceci pour ouvrir n'importe quel type de document à partir d'une URL en procédant comme suit:

Cela fonctionne pour moi à la fois sur Android et IOS. Je l'ai utilisé pour les fichiers images etPDFouverts. 

Android : Il ouvre les fichiers en utilisant les applications système, le cas échéant, sinon une erreur que vous pouvez gérer.

IOS: Il ouvre les fichiers dans une fenêtre contextuelle comme la vue avec les boutons Terminé et Option.

Il ne montre pas votre URL de documents.

La source est disponible ici: https://github.com/ti8m/DocumentHandler

1
SANAT

J'ai fini par utiliser WebIntent

comme décrit ici . La difficulté consistait à modifier WebIntent.Java pour identifier correctement le type de fichier:

String type = obj.has("type") ? obj.getString("type") : null;  
 // New code starts  
 Uri uri = obj.has("url") ? Uri.parse(obj.getString("url")) : null;  
 String extension = MimeTypeMap.getFileExtensionFromUrl(obj.getString("url"));  
 if(extension != null){  
      MimeTypeMap mimeTypeMap = MimeTypeMap.getSingleton();  
      type = mimeTypeMap.getMimeTypeFromExtension(extension);  
 }  
 // New code ends  
 JSONObject extras = obj.has("extras") ? obj.getJSONObject("extras") : null;
0
lucas

Merci, asgeo1,

Je l'ai résolu en utilisant window.open().

<a href="#" onclick="window.open('http://12example.pdf', '_blank', 'location=no');"><img src="images/samplens.jpg" border="0" /></a>

J'espère que ça aide.

0
Steve