Ouvrir le fichier WebDAV word sur OSX
j'ai une application Java qui ouvre les fichiers WebDAV sur MS Word. Cela fonctionne avec succès sur Windows avec le code suivant:
Runtime.getRuntime().exec("cmd /c start winword " + webdavUrl);
mais sur Mac OSX ce n'est pas possible. J'ai essayé cette fonction, mais elle ouvre seulement un document vide:
Runtime.getRuntime().exec(new String[]{"open", "-a", "Microsoft Word", webdavUrl});
si je crée un fichier à partir de L'URL, je peux ouvrir le fichier mais je perds sa référence à L'URL WebDav.
j'ai trouvé un discussion à propos d'un code javascript qui peut faire ce processus à partir du navigateur.
une idée?
3 réponses
D'abord, pouvez-vous accéder au répertoire où se trouve le mot doc? vous montez votre webdav?
je crois que le terminal sera à la recherche d'un chemin, qui est votre webdavUrl. Pour déboguer, essayez d'exécuter la même commande mais seulement avec les arguments-R et webdavUrl.
Runtime.getRuntime().exec(new String[]{"open", "-R", webdavUrl});
- R affichera le fichier dans finder et de cette façon vous savez que le terminal peut en fait naviguer à votre webdavUrl.
vous pouvez essayer l'un des suivants:
1 : utilisez L'Api Desktop comme décrit ici .
File myFile = new File(webdavUrl);
Desktop.getDesktop().open(myFile);
2 :
Utilisez ms-word:
uri comme détaillé ici .
par exemple, Inscrivez "ms-word:ofe|u|http://webdavUrl"
sur votre navigateur.
Si vous avez Microsoft Office (2010 SP2+) installé ceci devrait ouvrir l'application word avec votre document charger.
les ressources suivantes peuvent être utiles car elles couvrent différentes façons d'ouvrir/éditer des fichiers word dans un serveur webdav.
Après presque 4 semaines d'enquête, j'ai réussi à trouver une solution à ce problème:
- tout d'abord, du côté du serveur, créez un end-point pour ouvrir le document word avec le javascript bibliothèque . Cette bibliothèque utilise le Plugin Sharepoint Browser pour ouvrir le document sur Word 2011 Pour Mac OSX avec le protocole Webdav.
-
maintenant sur java, utilisez la console pour ouvrir Safari avec le URL du point final pour ouvrir le document word. Pour cela, vous aurez peut-être besoin de passer L'URL du document en tant que paramètre pour le point final.
Runtime.getRuntime().exec(new String[]{"open", "-a", "Safari", getWebdavUrl(document)}); private static String getWebdavUrl(Document document) throws JSONException, UnsupportedEncodingException { RestClient client = RestClient.getClient(); String baseUrl = client.SERVER_URL + "webdav_end_point"; JSONObject params = new JSONObject(); params.put("url", document.getUrl()); //convert the JSON params to GET params for the URL String url = baseUrl + RestClient.buildParamsString(params); //https://wwww.example.com/webdav_end_point?url=www.example.com/path/to/webdav/document.docx return url; }
cela permet d'ouvrir le document sur Word 2011 Pour MAC OSX, mais vous devez traiter avec la sécurité et la session de l'utilisateur si vous avez des restrictions sur l'édition du document. Quoi qu'il en soit, j'ai mis en œuvre Cette solution avec succès et c'est la seule solution que j'ai trouvé qui complète le processus.