IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Documents Java Discussion :

Conversion fichier Excel vers fichier PDF sur Mac


Sujet :

Documents Java

  1. #1
    Invité
    Invité(e)
    Par défaut Conversion fichier Excel vers fichier PDF sur Mac
    Bonjour,

    Je ne sais pas si je suis dans le bon forum. Je cherche à utiliser l'outil de conversion JODConverter. J'arrive à l'installer par cette commande que je tape dans le terminal shell (je développe sur Mac). OpenOffice qui est bien installé s'ouvre alors bien en arrière-plan. J'essaye alors ce code Java pour effectuer une conversion d'un fichier Excel en fichier PDF. Ca fonctionne également.

    Cependant, cette solution ne fonctionne plus lorsque j'exécute cette ligne de commande (pour ouvrir OpenOffice en arrière-plan) directement dans le code Java avant le code de conversion, par ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
            try {
               Runtime.getRuntime().exec(new String[]{"soffice", "-headless", "-accept=\"socket,host=127.0.0.1,port=8100;urp;\"",
                "-nofirststartwizard"});
            } catch (IOException ex) {
                Logger.getLogger(Export.class.getName()).log(Level.SEVERE, null, ex);
            }
    Bien que OpenOffice s'ouvre également en arrière-plan par cette méthode, une exception "java.net.ConnectException: Connection refused" est levée sur la ligne :

    Par contre, si je fais l'exécution de la ligne de commande dans le code Java avec la conversion sur une plate-forme Windows, cela marche. C'est sur Mac que ça ne marche que lorsque j'externalise l'exécution de la ligne de commande manuellement dans le terminal et non dans le code Java avec le code de conversion. Est-ce une histoire de chemin dans la ligne de commande ? Pourtant, je spécifie bien le chemin absolu depuis la racine du disque dur.

    Merci pour vos réponses, si vous en avez.

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Je ne pense pas que cela soit une erreur de path, sinon tu aurais une exception à l'appel de Runtime.exec(). Vérifie que ton port est bien ouvert (et que c'est bien le port que tu demandes) et est lié à l'application soffice, avec netstat -nap. Si ce n'est pas le cas, essaye de lancer l'application par l'intermédiaire d'un open -a :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Runtime.getRuntime().exec(new String[]{"open","-a","soffice", "--args", "-headless", "-accept=\"socket,host=127.0.0.1,port=8100;urp;\"",
                "-nofirststartwizard"});
    Ou peut être en ajoutant le switch -g (pour lancer en arrière plan) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Runtime.getRuntime().exec(new String[]{"open","-g","-a","soffice", "--args", "-headless", "-accept=\"socket,host=127.0.0.1,port=8100;urp;\"",
                "-nofirststartwizard"});
    Sinon, c'est quoi soffice exactement ? un script ? un app ?
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 073
    Points : 7 977
    Points
    7 977
    Par défaut
    Un truc de Staroffice j'imagine
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par wax78 Voir le message
    Un truc de Staroffice j'imagine
    Ça je m'en doute (de OpenOffice en l'occurence). Ce qui m'intéresse particulièrement, c'est de savoir si le fichier est un script, un exécutable, un bundle...
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Merci pour vos réponses joel.drigo et wax78.

    Pour répondre à ta question, joel.drigo, quand on regarde l'icône du fichier "soffice" attribuée par défaut par l'OS, il s'agit d'un petit écran noir avec le texte "exec" inscrit dedans. Et d'ailleurs, quand on double-clique dessus, ça lance l'application OpenOffice. Ce qui m'amène à dire que c'est donc un exécutable.

    Sinon j'ai essayé de regarder dans la documentation et par des recherches à quoi correspondait la commande netstat -nap dont tu me parles. Je vois que ça permet de lister la liste des ports ouverts sur le réseau. Par contre, je n'ai rien trouvé sur "-nap" (c'est quoi ça ?).

    La commande "netstat" me renvoie donc une longue liste, mais je ne vois nulle part dedans l'application soffice ou le port 8100 dedans (après avoir lancé la ligne de commande).

    Mais peut-être que c'est bien une histoire de port en effet. Parce que je viens de régler un autre souci sur Mac concernant la connexion d'une application Java sur une base MySQL. En effet, pour Windows, cela fonctionne en ne spécifiant juste que le nom du serveur pour l'accès à la base de données, alors que pour Mac, il fallait que je rajoute le port, sinon ça ne marchait pas (les ports attribués doivent donc être différent). Autre remarque pour ce cas qui a peut-être joué aussi concernant le démarrage du serveur MySQL, j'utilise wamp sur Windows et MAMP sur Mac. Ce souci ne concerne donc peut-être que wamp et MAMP.

  6. #6
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Harry_Potter Voir le message
    Merci pour vos réponses joel.drigo et wax78.

    Pour répondre à ta question, joel.drigo, quand on regarde l'icône du fichier "soffice" attribuée par défaut par l'OS, il s'agit d'un petit écran noir avec le texte "exec" inscrit dedans. Et d'ailleurs, quand on double-clique dessus, ça lance l'application OpenOffice. Ce qui m'amène à dire que c'est donc un exécutable.
    Dans le finder, bouton droit sur le fichier : si tu as "Afficher le contenu du paquet", c'est un app. Un script peut aussi lancer un exécutable.

    Citation Envoyé par Harry_Potter Voir le message
    Sinon j'ai essayé de regarder dans la documentation et par des recherches à quoi correspondait la commande netstat -nap dont tu me parles. Je vois que ça permet de lister la liste des ports ouverts sur le réseau. Par contre, je n'ai rien trouvé sur "-nap" (c'est quoi ça ?).
    • -a : Affiche toutes les connexions TCP actives et les ports TCP et UDP sur lesquels l'ordinateur écoute.
    • -p : Affiche le nom du programme impliqué dans la création de chaque connexion et le PID associé (Linux uniquement).
    • -n : Affiche les connexions TCP actives, cependant les adresses et les ports sont affichés au format numérique, sans tentative de résolution de nom.


    Citation Envoyé par Harry_Potter Voir le message
    La commande "netstat" me renvoie donc une longue liste, mais je ne vois nulle part dedans l'application soffice ou le port 8100 dedans (après avoir lancé la ligne de commande).
    Si tu ne vois aucune application avec le port 8100, c'est que soit l'application n'est pas lancée, soit elle ne l'est pas sur le port 8100. Si tu ne vois pas soffice, c'est soit qu'il n'est pas lancé, soit que le process ne s'appelle pas comme ça. Éventuellement, tu peux faire un netstat avant de lancer et un après, pour voir : si tu as un nouveau process, c'est celui-là. Si le port n'est pas le 8100, c'est qu'il y a un problème avec ce port (déjà utilisé peut être), ou alors c'est un problème d'environnement (des variables de l'environnement nécessaires à soffice ne sont pas automatiquement copiées dans l'environnement créé pour le lancement de la commande).
    Une alternative : essaye de lancer la commande avec ProcessBuilder au lieu de Runtime.exec().


    Citation Envoyé par Harry_Potter Voir le message
    Mais peut-être que c'est bien une histoire de port en effet. Parce que je viens de régler un autre souci sur Mac concernant la connexion d'une application Java sur une base MySQL. En effet, pour Windows, cela fonctionne en ne spécifiant juste que le nom du serveur pour l'accès à la base de données, alors que pour Mac, il fallait que je rajoute le port, sinon ça ne marchait pas (les ports attribués doivent donc être différent). Autre remarque pour ce cas qui a peut-être joué aussi concernant le démarrage du serveur MySQL, j'utilise wamp sur Windows et MAMP sur Mac. Ce souci ne concerne donc peut-être que wamp et MAMP.
    Je connais ni wamp, ni namp, donc je peux pas te répondre à ce sujet.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  7. #7
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 211
    Points : 8 316
    Points
    8 316
    Billets dans le blog
    52
    Par défaut
    Le port par défaut pour mysql est le port 3306. En tout cas pour toutes les versions classique que j'ai vue tournée.
    Il semble que si tu n'ai pas fait attention pendant l'installation, que le port ne soit pas à cette valeur :
    http://documentation.mamp.info/en/documentation/mamp/ (Voir section : 3.2 Ports)

    Lors que tu ne fournit pas la valeur, celle-ci est souvent supposé à 3306. Donc si ta configuration ne correspond pas cela ne fonctionne pas.

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  8. #8
    Invité
    Invité(e)
    Par défaut
    @kolodz : effectivement c'est bien ça. MAMP indique bien "Pour vous connecter au serveur MySQL dans vos propres scripts PHP, utilisez les paramètres suivants: [...] Port 3306". Cependant, comme indiqué dans le lien que tu mets, la configuration par défaut semble être différente puisqu'ils mettent que le port est 8889.

    Ok joel.drigo pour netstat -nap. Je comprends pourquoi je ne trouvais pas la commande. Je tapais la commande telle quelle ("netstat -nap" et non "netstat -n", nestat -a" et "netstat -p"). C'est pour ça que ça ne changeait pas grand chose. Bon par contre, je ne vois toujours pas l'application "soffice" comme ça. Mais n'y aurait-t'il pas plus simple ? Pour Mac tout du moins. Plutôt que de taper cette commande, j'ouvre le moniteur d'activité, et je remarque des infos qui semblent similaires à ce dont tu me parles (PID, ports, ...). Mais là non plus je ne vois pas le port 8100. La solution à ce problème semble cependant être par ici.

    J'ai sinon essayé avec ProcessBuilder avec ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new ProcessBuilder("soffice", "-headless", "-accept=\"socket,port=8100;urp;\"").start();
    Mais il y a toujours l'exception :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "java.net.ConnectException: connection failed: socket,host=localhost,port=8100,tcpNoDelay=1: java.net.ConnectException: Connection refused"
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "Exception in thread "main" com.artofsolving.jodconverter.openoffice.connection.OpenOfficeException: could not obtain service: com.sun.star.ucb.FileContentProvider"
    , alors que quand j'exécute la ligne de commande dans le terminal en externe du code Java de conversion, ça fonctionne bien.

    Message d'erreur complet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    run:
    févr. 16, 2015 4:02:34 PM Excel.Export convertirDocs
    GRAVE: null
    java.net.ConnectException: connection failed: socket,host=localhost,port=8100,tcpNoDelay=1: java.net.ConnectException: Connection refused
    	at com.artofsolving.jodconverter.openoffice.connection.AbstractOpenOfficeConnection.connect(AbstractOpenOfficeConnection.java:79)
    	at Excel.Export.convertirDocs(Export.java:282)
    	at Excel.Export.<init>(Export.java:77)
    	at Lanceur.Lanceur.main(Lanceur.java:49)
     
    févr. 16, 2015 4:02:34 PM com.artofsolving.jodconverter.openoffice.connection.AbstractOpenOfficeConnection getService
    INFOS: trying to (re)connect
    Exception in thread "main" com.artofsolving.jodconverter.openoffice.connection.OpenOfficeException: could not obtain service: com.sun.star.ucb.FileContentProvider
    	at com.artofsolving.jodconverter.openoffice.connection.AbstractOpenOfficeConnection.getService(AbstractOpenOfficeConnection.java:119)
    	at com.artofsolving.jodconverter.openoffice.connection.AbstractOpenOfficeConnection.getFileContentProvider(AbstractOpenOfficeConnection.java:129)
    	at com.artofsolving.jodconverter.openoffice.converter.OpenOfficeDocumentConverter.convertInternal(OpenOfficeDocumentConverter.java:116)
    	at com.artofsolving.jodconverter.openoffice.converter.AbstractOpenOfficeDocumentConverter.convert(AbstractOpenOfficeDocumentConverter.java:104)
    	at com.artofsolving.jodconverter.openoffice.converter.AbstractOpenOfficeDocumentConverter.convert(AbstractOpenOfficeDocumentConverter.java:74)
    	at com.artofsolving.jodconverter.openoffice.converter.AbstractOpenOfficeDocumentConverter.convert(AbstractOpenOfficeDocumentConverter.java:70)
    	at Excel.Export.convertirDocs(Export.java:289)
    	at Excel.Export.<init>(Export.java:77)
    	at Lanceur.Lanceur.main(Lanceur.java:49)
    Caused by: java.net.ConnectException: connection failed: socket,host=localhost,port=8100,tcpNoDelay=1: java.net.ConnectException: Connection refused
    	at com.artofsolving.jodconverter.openoffice.connection.AbstractOpenOfficeConnection.connect(AbstractOpenOfficeConnection.java:79)
    	at com.artofsolving.jodconverter.openoffice.connection.AbstractOpenOfficeConnection.getService(AbstractOpenOfficeConnection.java:115)
    	... 8 more
    Java Result: 1
    BUILD SUCCESSFUL (total time: 1 second)
    Dernière modification par Invité ; 16/02/2015 à 16h08.

  9. #9
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Harry_Potter Voir le message
    Ok joel.drigo pour netstat -nap. Je comprends pourquoi je ne trouvais pas la commande. Je tapais la commande telle quelle ("netstat -nap" et non "netstat -n", nestat -a" et "netstat -p"). C'est pour ça que ça ne changeait pas grand chose. Bon par contre, je ne vois toujours pas l'application "soffice" comme ça. Mais n'y aurait-t'il pas plus simple ? Pour Mac tout du moins. Plutôt que de taper cette commande, j'ouvre le moniteur d'activité, et je remarque des infos qui semblent similaires à ce dont tu me parles (PID, ports, ...). Mais là non plus je ne vois pas le port 8100. La solution à ce problème semble cependant être par ici.
    Les switch sont combinables (donc on peut faire -na). Mais j'ai regardé sur un mac à l'instant et c'est le switch p qui n'est pas reconnu par le Mac et qu'il n'y a pas d'équivalent (p sur linux, b sur Windows) (Faut toujours qu'Apple fasse son truc dans son coin pas comme tout le monde). Mais si tu as ça dans le moniteur d'activité (avec port et nom de process, ça le fait aussi. Si tu ne vois pas de port 8100 ouvert, c'est qu'il n'y a pas de port 8100 ouvert.

    Citation Envoyé par Harry_Potter Voir le message
    J'ai sinon essayé avec ProcessBuilder avec ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new ProcessBuilder("soffice", "-headless", "-accept=\"socket,port=8100;urp;\"").start();
    As-tu essayé la commande que je t'ai donnée ?

    Citation Envoyé par Harry_Potter Voir le message
    Mais il y a toujours l'exception :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "java.net.ConnectException: connection failed: socket,host=localhost,port=8100,tcpNoDelay=1: java.net.ConnectException: Connection refused"
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "Exception in thread "main" com.artofsolving.jodconverter.openoffice.connection.OpenOfficeException: could not obtain service: com.sun.star.ucb.FileContentProvider"
    , alors que quand j'exécute la ligne de commande dans le terminal en externe du code Java de conversion, ça fonctionne bien.

    Message d'erreur complet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    run:
    févr. 16, 2015 4:02:34 PM Excel.Export convertirDocs
    GRAVE: null
    java.net.ConnectException: connection failed: socket,host=localhost,port=8100,tcpNoDelay=1: java.net.ConnectException: Connection refused
    	at com.artofsolving.jodconverter.openoffice.connection.AbstractOpenOfficeConnection.connect(AbstractOpenOfficeConnection.java:79)
    	at Excel.Export.convertirDocs(Export.java:282)
    	at Excel.Export.<init>(Export.java:77)
    	at Lanceur.Lanceur.main(Lanceur.java:49)
     
    févr. 16, 2015 4:02:34 PM com.artofsolving.jodconverter.openoffice.connection.AbstractOpenOfficeConnection getService
    INFOS: trying to (re)connect
    Exception in thread "main" com.artofsolving.jodconverter.openoffice.connection.OpenOfficeException: could not obtain service: com.sun.star.ucb.FileContentProvider
    	at com.artofsolving.jodconverter.openoffice.connection.AbstractOpenOfficeConnection.getService(AbstractOpenOfficeConnection.java:119)
    	at com.artofsolving.jodconverter.openoffice.connection.AbstractOpenOfficeConnection.getFileContentProvider(AbstractOpenOfficeConnection.java:129)
    	at com.artofsolving.jodconverter.openoffice.converter.OpenOfficeDocumentConverter.convertInternal(OpenOfficeDocumentConverter.java:116)
    	at com.artofsolving.jodconverter.openoffice.converter.AbstractOpenOfficeDocumentConverter.convert(AbstractOpenOfficeDocumentConverter.java:104)
    	at com.artofsolving.jodconverter.openoffice.converter.AbstractOpenOfficeDocumentConverter.convert(AbstractOpenOfficeDocumentConverter.java:74)
    	at com.artofsolving.jodconverter.openoffice.converter.AbstractOpenOfficeDocumentConverter.convert(AbstractOpenOfficeDocumentConverter.java:70)
    	at Excel.Export.convertirDocs(Export.java:289)
    	at Excel.Export.<init>(Export.java:77)
    	at Lanceur.Lanceur.main(Lanceur.java:49)
    Caused by: java.net.ConnectException: connection failed: socket,host=localhost,port=8100,tcpNoDelay=1: java.net.ConnectException: Connection refused
    	at com.artofsolving.jodconverter.openoffice.connection.AbstractOpenOfficeConnection.connect(AbstractOpenOfficeConnection.java:79)
    	at com.artofsolving.jodconverter.openoffice.connection.AbstractOpenOfficeConnection.getService(AbstractOpenOfficeConnection.java:115)
    	... 8 more
    Java Result: 1
    BUILD SUCCESSFUL (total time: 1 second)
    Tant que ton port 8100 n'est pas ouvert par LibreOffice, tu auras cette exception et c'est normal.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  10. #10
    Invité
    Invité(e)
    Par défaut
    Citation : Envoyé par Harry_Potter
    J'ai sinon essayé avec ProcessBuilder avec ce code :

    new ProcessBuilder("soffice", "-headless", "-accept=\"socket,port=8100;urp;\"").start();

    Citation : Envoyé par joel.drigo
    As-tu essayé la commande que je t'ai donnée ?
    Je n'avais pas remis les commandes que tu m'as indiqué sur ProcessBuilder, mais je viens de le faire, sans ou avec le "-g". Toujours pas de connexion avec ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new ProcessBuilder("open", "-g", "-a", "soffice", "--args", "-headless", "-accept=\"socket,port=8100;urp;\"").start();

  11. #11
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Harry_Potter Voir le message
    Je n'avais pas remis les commandes que tu m'as indiqué sur ProcessBuilder, mais je viens de le faire, sans ou avec le "-g". Toujours pas de connexion avec ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new ProcessBuilder("open", "-g", "-a", "soffice", "--args", "-headless", "-accept=\"socket,port=8100;urp;\"").start();
    Récupère le flux de sortie/erreur et envoie le vers la sortie standard ou un log, pour voir s'il n'y a pas de traces.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  12. #12
    Invité
    Invité(e)
    Par défaut
    Donc je recopies ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    run:
    févr. 16, 2015 4:53:30 PM Excel.Export convertirDocs
    GRAVE: null
    java.net.ConnectException: connection failed: socket,host=localhost,port=8100,tcpNoDelay=1: java.net.ConnectException: Connection refused
    	at com.artofsolving.jodconverter.openoffice.connection.AbstractOpenOfficeConnection.connect(AbstractOpenOfficeConnection.java:79)
    	at Excel.Export.convertirDocs(Export.java:282)
    	at Excel.Export.<init>(Export.java:77)
    	at Lanceur.Lanceur.main(Lanceur.java:49)
     
    févr. 16, 2015 4:53:30 PM com.artofsolving.jodconverter.openoffice.connection.AbstractOpenOfficeConnection getService
    INFOS: trying to (re)connect
    Exception in thread "main" com.artofsolving.jodconverter.openoffice.connection.OpenOfficeException: could not obtain service: com.sun.star.ucb.FileContentProvider
    	at com.artofsolving.jodconverter.openoffice.connection.AbstractOpenOfficeConnection.getService(AbstractOpenOfficeConnection.java:119)
    	at com.artofsolving.jodconverter.openoffice.connection.AbstractOpenOfficeConnection.getFileContentProvider(AbstractOpenOfficeConnection.java:129)
    	at com.artofsolving.jodconverter.openoffice.converter.OpenOfficeDocumentConverter.convertInternal(OpenOfficeDocumentConverter.java:116)
    	at com.artofsolving.jodconverter.openoffice.converter.AbstractOpenOfficeDocumentConverter.convert(AbstractOpenOfficeDocumentConverter.java:104)
    	at com.artofsolving.jodconverter.openoffice.converter.AbstractOpenOfficeDocumentConverter.convert(AbstractOpenOfficeDocumentConverter.java:74)
    	at com.artofsolving.jodconverter.openoffice.converter.AbstractOpenOfficeDocumentConverter.convert(AbstractOpenOfficeDocumentConverter.java:70)
    	at Excel.Export.convertirDocs(Export.java:289)
    	at Excel.Export.<init>(Export.java:77)
    	at Lanceur.Lanceur.main(Lanceur.java:49)
    Caused by: java.net.ConnectException: connection failed: socket,host=localhost,port=8100,tcpNoDelay=1: java.net.ConnectException: Connection refused
    	at com.artofsolving.jodconverter.openoffice.connection.AbstractOpenOfficeConnection.connect(AbstractOpenOfficeConnection.java:79)
    	at com.artofsolving.jodconverter.openoffice.connection.AbstractOpenOfficeConnection.getService(AbstractOpenOfficeConnection.java:115)
    	... 8 more
    Java Result: 1
    BUILD SUCCESSFUL (total time: 0 seconds)
    dans une sortie standard ou log ?

    Mais qu'appelles-tu "sortie standard ou log" ?

  13. #13
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Ça c'est la trace de ton application, pas des programmes externes lancés par Runtime.exec() ou ProcessBuilder.

    Tu peux utiliser inheritIO pour forcer les flux d'erreur et de sortie du process à aller dans les flux de ton application :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Process p = new ProcessBuilder().inheritIO().command( ... ).start();
    Sinon pour les voir, on peut utiliser des StreamGobbler :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    ProcessBuilder p = ...
     
    p.start();
     
    StreamGobbler errorGobbler = new StreamGobbler(p.getErrorStream(), System.err);
    StreamGobbler outputGobbler = new StreamGobbler(p.getInputStream(), System.out);
     
    outputGobbler.start();
    errorGobbler.start();
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    public class StreamGobbler extends Thread {
        private final InputStream is;
        private final PrintStream printStream;
     
        private StreamGobbler(InputStream is, PrintStream printStream) {
            this.is = is;
            this.printStream = printStream;
        }
     
        @Override
        public void run() {
            try {
                BufferedReader br = new BufferedReader(new InputStreamReader(is));
                for(String line=br.readLine(); line!=null; line=br.readLine()) { 
                    printStream.println(line);
                }
            }
            catch (IOException ioe) {
                ioe.printStackTrace();
            }
        }
    }
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  14. #14
    Invité
    Invité(e)
    Par défaut
    J'ai essayé ce que tu me montres pour voir le flux de sortie, en faisant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Process p = new ProcessBuilder().inheritIO().command("open", "-g", "-a", "soffice", "--args", "-headless", "-accept=\"socket,port=8100;urp;\"").start();
    --> pas d'autre sortie visible que la même exception dans la fenêtre "Output" de NetBeans.

    Et si je fais, en ayant créé la classe "StreamGobbler" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
                ProcessBuilder p = new ProcessBuilder("open", "-g", "-a", "soffice", "--args", "-headless", "-accept=\"socket,port=8100;urp;\"");
     
                p.start();
     
                StreamGobbler errorGobbler = new StreamGobbler(p.getErrorStream(), System.err);
                StreamGobbler outputGobbler = new StreamGobbler(p.getInputStream(), System.out);
     
                outputGobbler.start();
                errorGobbler.start();
    --> NetBeans souligne en rouge les méthodes "getErrorStream()" avec le message "cannot find symbol". J'ai vu que ce sont par contre des méthodes de la classe "Process" et non de la classe "ProcessBuilder". Je remplace donc la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ProcessBuilder p = new ProcessBuilder("open", "-g", "-a", "soffice", "--args", "-headless", "-accept=\"socket,port=8100;urp;\"");
    par la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Process p = Runtime.getRuntime().exec(new String[]{"open", "-g", "-a", "soffice", "--args",
                                                                   "-headless", "-accept=\"socket,port=8100;urp;\""});
    et j'enlève la ligne "p.start();" sinon il marque aussi "cannot find symbol" sur cette ligne. Par contre, il souligne en rouge "StreamGobbler" en signalant que l'accès est privé. Logique, je vois que tu as mis le constructeur privé. C'est une erreur ? Sinon, je ne savais pas qu'on pouvait définir un constructeur privé. Pour que ça compile correctement, j'ai donc mis le constructeur public.

    J'exécute mais ça ne met pas plus de flux de sortie.

    Sinon, je viens de penser à l'application "Console" sur Mac. Est-ce que ça n'afficherait pas ce dont tu indiques par flux de sortie standard ou log pour afficher les traces ? Voici les messages de cette console :

    "soffice:
    WARNING: The Gestalt selector gestaltSystemVersion is returning 10.9.2 instead of 10.10.2. Use NSProcessInfos's operatingSystemVersion property to get correct system version number.
    Call location:"

    Et 7 autres tâches "soffice" ci-dessous, numérotées de 0 à 6.
    "0 CarbonCore - 0x"[...]"Gestalt_SystemVersion_block_invoke"[...]
    "1 libdispatch.dylib - 0x"[...]"_dispatch_client_callout"[...]
    "2 libdispatch.dylib - 0x"[...]"dispatch_once_f"[...]
    "3 CarbonCore - 0x"[...]"_Gestalt_SystemVersion"[...]
    "4 CarbonCore - 0x"[...]"Gestalt"[...]
    "5 libvcl.dylib - 0x"[...]"initNSAppv"[...]
    "6 libvcl.dylib - 0x"[...]"ImplSMainHookPh"[...]

    A noter que je suis sur la version Yosemite de Mac qui est la 10.10.2. La version antérieure, Mavericks est la 10.9. Je ne sais pas si ça a un rapport.

  15. #15
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Harry_Potter Voir le message
    NetBeans souligne en rouge les méthodes "getErrorStream()" avec le message "cannot find symbol". J'ai vu que ce sont par contre des méthodes de la classe "Process" et non de la classe "ProcessBuilder". Je remplace donc la ligne :
    Oui j'ai fait ça un peu vite. C'était Process p = new ProcessBuilder(...).start();

    Citation Envoyé par Harry_Potter Voir le message
    cette ligne. Par contre, il souligne en rouge "StreamGobbler" en signalant que l'accès est privé. Logique, je vois que tu as mis le constructeur privé. C'est une erreur ? Sinon, je ne savais pas qu'on pouvait définir un constructeur privé. Pour que ça compile correctement, j'ai donc mis le constructeur public.
    Oui, pareil, faute de "frappe"... mais si la méthode par inheritIO ne donne rien, inutile d'essayer avec la vieille méthode.

    Citation Envoyé par Harry_Potter Voir le message
    J'exécute mais ça ne met pas plus de flux de sortie.
    ça c'est plus gênant, parce que j’espérais avoir quelques informations.

    Citation Envoyé par Harry_Potter Voir le message
    Sinon, je viens de penser à l'application "Console" sur Mac. Est-ce que ça n'afficherait pas ce dont tu indiques par flux de sortie standard ou log pour afficher les traces ? Voici les messages de cette console :
    Oui et non. Ce qui m'intéressait c'est de savoir si le lancement de soffice dans le contexte de Java pouvais signaler des erreurs. Ce qu'il raconte dans la console shell quand on le lance en dehors de Java, n'a pas vraiment d'intérêt en ce qui nous concerne : savoir pourquoi le port 8100 ne s'ouvre pas lorsqu'on lance soffice via Java.

    Citation Envoyé par Harry_Potter Voir le message
    A noter que je suis sur la version Yosemite de Mac qui est la 10.10.2. La version antérieure, Mavericks est la 10.9. Je ne sais pas si ça a un rapport.
    ça, j'en sais rien du tout, mais je ne pense pas.


    Bon, on va essayer autre chose : à la place de "-accept=\"socket,port=8100;urp;\"", essaye "-accept=socket,port=8100;urp;". Les guillemets doivent être là pour empêcher le shell d'évaluer les point-virgules, mais en Java, ce n'est pas utile, et peut-être que ça fait que soffice ne comprend pas bien le paramètre.

    Par ailleurs, en regardant un peu la commande soffice (un .bin à priori, donc ni un app, ni un sh), je vois qu'il y a un paramètre -nofirststartwizard. s'il y a un assistant qui tente de s'afficher au démarrage, alors qu'on est en headless, il bloque peut être toute l'application qui attend indéfiniment quelque chose qu'il ne recevra jamais. Essaye en ajoutant en plus ce switch à la commande.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  16. #16
    Invité
    Invité(e)
    Par défaut
    Oui effectivement dans le même répertoire que le fichier "exec" "soffice", il y a aussi un "soffice.bin". Mais ce sont 2 fichiers qui sont peut-être différents. Peut-être qu'ils s'appellent l'un l'autre aussi. Il y a même aussi un "sofficerc". Tout ça dans le fichier applicatif "OpenOffice.app" (que je peux ouvrir dans le Finder comme tu l'as d'ailleurs indiqué en faisant un clic droit dessus et "Afficher le contenu du paquet") - dossier "Contents/program".

    J'ai ré-essayé avec le paramètre "-nofirststartwizard" mais c'est pareil. Toutefois, quand tu dis qu'un assistant peut s'ouvrir et bloquer l'application, ça pourrait venir de là le souci. Parce qu'effectivement, quand j'exécute la ligne de commande dans le code Java, il y a toujours l'icône d'OpenOffice qui apparaît dans le dock et qui reste "ouvert", mais sans la fenêtre d'accueil que l'on a à l'ouverture normale d'OpenOffice (pour créer/ouvrir un document). Mais cette icône apparaît aussi de la même manière dans le dock lorsque j'exécute la ligne de commande dans le terminal shell. Et la fenêtre du terminal où j'ai lancé la ligne de commande ne redonne d'ailleurs pas la main tant que je n'ai pas quitté cette icône OpenOffice. A noter aussi que lorsque OpenOffice est lancé et que l'on clique sur "OpenOffice" en haut à gauche entre le menu "Pomme" et "Fichier", on voit le texte du menu "Quitter" : "Quitter OpenOffice" tandis que ce texte est "Quit NewApplication" lorsqu'on exécute "soffice" (par le terminal ou le code Java).

    Petite remarque sinon par rapport à l'application "Console" de Mac. Ce n'est pas la même application que l'application "Terminal" où là on exécute le shell ou bash. La "Console" semble plus conçue pour tracer des erreurs sur les applications.

  17. #17
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Que donne "-accept=socket,port=8100;urp;" ? Essaye aussi de lancer soffice.bin au lieu de soffice.

    Pour l'icône, je ne pense pas que cela pose un problème. Cependant, si tu ne vois pas l'icône lorsque tu lances sous Java, alors que tu le vois en lançant depuis un shell, c'est un signe que le lancement ne se passe pas bien sous Java.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  18. #18
    Invité
    Invité(e)
    Par défaut
    L'icône d'OpenOffice apparaît quand je lance la ligne de commande depuis le Terminal ou depuis Java.

    J'ai testé avec "-accept=socket,port=8100;urp;" et en lançant "soffice.bin" : même erreur.

  19. #19
    Invité
    Invité(e)
    Par défaut
    Sinon joel.drigo,

    Comme on semble ne pas trop trouver de solution à ce problème, et que je vois que tu es modérateur, ne serait-ce pas envisageable de déplacer ce sujet dans la section Mac ?

  20. #20
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    ça peut être une bonne idée de (re)poser la discussion sur le forum Macintosh, ou peut-être même sur le forum LibreOffice. Ils ont auront peut-être des idées, mais le problème reste indissociable de Java (puisque ça fonctionne quand tu lances soffice sur le Mac en dehors de Java).

    Mais je ne pense pas que la discussion toute entière doivent être déplacée : tout nos échanges sur les ProcessBuilders, et autres, à mon avis, risque de gêner, voire de rebuter certains qui pourrait penser que relire autant de messages risque très long et fastidieux. Et puis, ça concerne Java, comme je le disais.

    Pose la question, en citant le contexte (c'est pour lancer soffice depuis une application Java, sur Windows ça fonctionne, pas sur Mac, etc...) et ajoute que tu as déjà posé la question sur le forum java (en mettant le lien), et que cela ne t'a pas permis de résoudre le problème.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

Discussions similaires

  1. Réponses: 4
    Dernier message: 11/09/2014, 13h40
  2. Réponses: 2
    Dernier message: 01/06/2011, 12h14
  3. script conversion Excel vers fichier KML ou KMZ
    Par aminepop dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 26/07/2010, 12h19
  4. Réponses: 12
    Dernier message: 19/03/2010, 18h33
  5. Conversion de fichier Excel vers Fortran : comment ?
    Par gibobo dans le forum Fortran
    Réponses: 2
    Dernier message: 12/03/2007, 18h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo