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

ASP Discussion :

Ouvrir un document OpenOffice odt


Sujet :

ASP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 38
    Par défaut Ouvrir un document OpenOffice odt
    Bonjour à tous.

    J'essaie actuellement, en vain, d'accéder à un fichier OpenOffice odt.
    J'ai pu trouver des exemples en VB mais je n'ai pas réussi à les intégrer dans mon code asp.
    Certains disent qu'il faut lire ces fichiers comme des fichiers xml (ce que je suis en train d'essayer de faire) mais je ne vois pas comment ce serait possible. Pour moi il faudrait d'abord dézipper le fichier odt (on peut les décompresser et obtenir différents fichiers xml dont un qui contient le contenu texte du fichier odt) et ensuite y accéder, mais cela n'est pas possible pour moi, tout doit être automatisé.

    La finalité de tout cela est que les utilisateurs puissent uploader leur document sur le serveur avec des balises prédéfinies à l'intérieur (par exemple [nomclient]) et que je leur renvoie le même document avec les balises remplacées par les infos qu'ils ont demandé.

    Une âme charitable (ou plusieurs) est donc la bienvenue pour m'aider dans cette vaste entreprise

  2. #2
    Modérateur
    Avatar de roro06
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    1 480
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 480
    Par défaut
    Bonjour

    Pour essayer de te répondre, sans être hors sujet :

    le bout de code suivant permet d'envoyer au client un flux au format pdf, mais lu "comme du XML" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    set xml=Server.CreateObject("Microsoft.XMLHTTP")
    xml.Open "GET", pth, False 
    xml.send
     
        Response.Buffer = True
        Response.Expires = 0
     
        ' Place at end of code.
        Response.ContentType = "application/pdf"
        Response.AddHeader "Content-Type", "application/pdf"
        Response.AddHeader "Content-Disposition", "inline;filename=telechargement.pdf"
        Response.BinaryWrite xml.responseBody
        Response.End
        xml = nothing
    pth représentant, ici, le chemin physique du document PDF à visualiser.

    Tu peux peut-être t'en inpirer pour tes documents ODT (je ne connais pas le format et ne peut te garantir que ça fonctionnera de la même manière), sachant toutefois qu'il faut au minimum modifier le type MIME de la sortie.

    les lignes suivantes, au moins, seront à adapter à tes besoins :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Response.ContentType = "application/pdf"
        Response.AddHeader "Content-Type", "application/pdf"
        Response.AddHeader "Content-Disposition", "inline;filename=telechargement.pdf"
    Un petit coup de ( puisse t'il vivre pour toujours !) (*) m'a donné les pistes suivantes :

    application/vnd.oasis.opendocument.text
    application/x-vnd.oasis.opendocument.text
    testes les deux possibilités.

    (*)


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

    " La vie c'est quelque chose de très fort et de très beau.... La vie appartient a tous les vivants. It's both a dream and a feeling. C'est être ce que nous ne sommes pas sans le rester. La vie c'est mourir aussi....Et mourir c'est vraiment strong...c'est rester en vie au delà de la mort...Tous ceux qui sont morts n'ignorent pas de le savoir."
    (J.C. VanDamme, humoriste et philosophe belge . A moins que ce ne soit l'inverse ...)

    Chuck Norris comprend JC Van Damme.

  3. #3
    Poumtschak
    Invité(e)
    Par défaut
    Citation Envoyé par Aguado Voir le message
    La finalité de tout cela est que les utilisateurs puissent uploader leur document sur le serveur avec des balises prédéfinies à l'intérieur (par exemple [nomclient]) et que je leur renvoie le même document avec les balises remplacées par les infos qu'ils ont demandé.
    Si c'est pour faire un publipostage ou équivalent, il serait peut-être plus simple de générer une source de données en .csv en fonction des champs demandés par les utilisateurs, à charge pour eux ensuite de faire pointer leur document dessus.

    Autant il doit être possible de générer un document OpenDocument sur le serveur ex-nihilo, autant uploader un document bureautique, le parser, l'altérer et le ré-expédier à l'utilisateur me semble pour le moins tordu s'il s'agit d'informatique de gestion.

    Un souci lors de l'analyse des besoins ?

    AMHA bien sûr.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 38
    Par défaut
    @Poumtschak
    Le soucis c'est qu'il y a plein de clients différents avec des mises en pages différentes et des balises différentes. C'est pourquoi l'upload du fichier odt permet seulement de changer les balises et de garder la mise en page appropriée. Et là avec ton fichier csv je vois pas trop comment c'est possible. En même temps c'est ma première expérience dans le publipostage donc il y a de grandes chances que je me trompe ^^

    @roro06
    Je vais regarder plus en détail ce que tu as écrit

    [edit] : en remplaçant les 3 lignes que tu as citées par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Response.ContentType = "application/vnd.oasis.opendocument.text "
    Response.AddHeader "Content-Type", 
    "application/vnd.oasis.opendocument.text "
    Response.AddHeader "Content-Disposition",
    "inline;filename=telechargement.odt"
    cela renvoie bien le fichier odt. Maintenant il ne reste plus qu'à écrire dedans ^^

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 38
    Par défaut
    Mon idée pour le moment est de dézipper le fichier odt sur le serveur, modifier le contenu du fichier content.xml pour mettre les valeurs adéquates à la place des balises, puis de le rezipper (méthode que je trouve quand même bien complexe pour ce que je veux faire, je suis ouvert à toutes propositions plus simple ).

    Pour ce faire j'utilise donc les commandes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    cmd = """C:\Program Files\7-Zip\7z.exe"" x ""C:\Inetpub\wwwroot\Srvwebdev\monsite\fichier.odt"""
     
    wshell.Run cmd, SW_SHOWNORMAL, false
    Set wshell=nothing
    Ceci est censé décompressé le fichier odt mais évidemment cela ne fonctionne pas... Lorsque je l'exécute directement sur le serveur pas de soucis, mais via une page asp cela m'affiche une page blanche (pas de message d'erreur) mais rien n'est décompressé.
    C'est peut-être un problème de droits mais même en mettant tous les droits pour tout le monde sur le dossier (pour tester) ça ne change rien.

    Si quelqu'un a une idée pour résoudre ça je suis preneur

  6. #6
    Modérateur
    Avatar de roro06
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    1 480
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 480
    Par défaut
    Bonjour

    Modifier un document déjà créé, "en live", me semble délicat en ASP, dans la mesure où ce format est relativement nouveau (dans son adoption, en tou cas) alors qu'ASP est déjà à la limite de l'obsolète. Tu trouvera difficilement des outils "tout faits" pour ça.

    Je pense que dans un premier temps, générer un document ODT à partir d'un formulaire HTML serait une bonne approche.

    ceci dit, voici un lien que tu peux regarder :

    http://www.kalitech.fr/clients/doc/VB_APIOOo_en.html


    et également :
    http://fr.openoffice.org/Documentati...rammation.html


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

    " La vie c'est quelque chose de très fort et de très beau.... La vie appartient a tous les vivants. It's both a dream and a feeling. C'est être ce que nous ne sommes pas sans le rester. La vie c'est mourir aussi....Et mourir c'est vraiment strong...c'est rester en vie au delà de la mort...Tous ceux qui sont morts n'ignorent pas de le savoir."
    (J.C. VanDamme, humoriste et philosophe belge . A moins que ce ne soit l'inverse ...)

    Chuck Norris comprend JC Van Damme.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 38
    Par défaut
    Ok je vais regarder ça.

    Vous pensez que ce serait plus simple avec des documents Word? Des exemples doivent pouvoir se trouver plus facilement. Je vais peut-être tenter de me rabattre là-dessus.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ouvrir, éditer, enregistrer documents docx/odt directement sur le serveur
    Par SeigneurMartin dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 17/05/2013, 08h09
  2. Réponses: 4
    Dernier message: 04/07/2007, 13h42
  3. [MFC] Ouvrir un document par double-clique
    Par Choupinou dans le forum MFC
    Réponses: 7
    Dernier message: 03/08/2004, 12h38
  4. [FLASH MX 2004] Ouvrir un document .fla sur Mac
    Par tahiti bob dans le forum Flash
    Réponses: 2
    Dernier message: 12/05/2004, 17h53
  5. Réponses: 3
    Dernier message: 03/06/2003, 13h16

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