2010-12-16 4 views
2

Je planifie une application iOS qui permettra de parcourir des documents sur mon serveur en utilisant un WebService. L'utilisateur aura la possibilité de télécharger des documents (PDF et MS Office) pour les rendre disponibles hors ligne. Maintenant, je sais que iPhone/iPad est capable de visualiser toutes sortes de formats de documents, y compris PDF, DOC (X), XLS (X) si elles sont reçues par e-mail par exemple. Je suppose qu'ils sont tous gérés par le même "module de prévisualisation".Afficher les documents PDF et Office à partir de votre propre application?

La question est: si j'ai les documents dans le stockage de mon application, comment puis-je utiliser la même fonctionnalité?

Solution dans ObjC ou MONOTOUCH est bien, ou juste pointant mon dans la bonne direction en général.

René

Répondre

3

Vous pouvez utiliser le qui présentera à l'utilisateur un menu leur offrant "Quick Look" (qui ouvrira le fichier dans l'application) ou l'option pour ouvrir le fichier dans une autre application en fonction de ce que l'utilisateur a installé .

Le même exemple de code que j'ai utilisé ressemble à ceci (où e.Result est le résultat d'un appel à mon service Web).

string path = Environment.GetFolderPath(Environment.SpecialFolder.Personal); 
string filePath = Path.Combine(path, e.Result.Filename); 
if (!File.Exists(filePath)) 
{ 
    File.WriteAllBytes(filePath, e.Result.DocumentData); 
} 

UIDocumentInteractionController docControl = UIDocumentInteractionController.FromUrl(NSUrl.FromFilename(filePath)); 
docControl.Delegate = new UIDocumentInteractionControllerDelegateClass(this); 

InvokeOnMainThread(delegate { 
    docControl.PresentOptionsMenu(new RectangleF(0,-260,320,320), tbnv.View, true); 
}); 

La classe déléguée contient de la vue overrides où la vue de prévisualisation apparaît (si vous voulez passer la vue actuelle à cela et faire en sorte que c'est le point de vue sera présenté l'aperçu dans).

+0

Merci! Savez-vous s'il existe une liste de types de fichiers supportés nativement sur une nouvelle installation dans laquelle des applications tierces n'ont pas de type de document enregistré? – Krumelur

+0

Il existe un document Apple qui répertorie les types de fichiers pris en charge par iOS. Il peut être trouvé ici: http://developer.apple.com/library/ios/#documentation/FileManagement/Conceptual/DocumentInteraction_TopicsForIOS/Articles/UsingtheQuickLookFramework.html – Luke

0

Dans mon application, je permet aux utilisateurs de voir PDF via l'application en utilisant un contrôle UIWebView, et le chargement juste l'url du PDF en elle. Cela devrait également fonctionner pour les fichiers PDF internes. Je ne l'ai jamais essayé avec d'autres types de documents, mais j'imagine que la même approche fonctionnerait.

Questions connexes