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

C++Builder Discussion :

Creation fichier word et intégration d'images


Sujet :

C++Builder

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 93
    Par défaut Creation fichier word et intégration d'images
    Bonjour,

    Je souhaite convertir un pdf en doc.
    Il est tres facile de convertir un pdf en fichiers images (png, jpg, ...)
    Mais je n'arrive pas ensuite à créer un fichier .Doc ou .rtf et à insérer dedans mes images en taille maximale (de sorte qu'elle prenne toute la page...)

    Merci d'avance

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 93
    Par défaut
    J'ai déja essayé d ouvrir mon html via microsoft word mais le résultat n'est pas concluant...

  3. #3
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Salut Djang0
    Ton fichier image est il deja sur ton disque avant de l'integrer dans Word

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 93
    Par défaut
    Salut,

    Oui mes fichiers images sont sur mon disque.

  5. #5
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Alors deja voici le lien sur la FAQ OleWord
    Voici un bout de code qui place une image sur la feuille les dimensions sont parametrables, je n'ai pas cherche a l'automatiser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Variant shpCanvas, vFileName;
    vFileName = "C:\\Documents and Settings\\blondelle\\Mes documents\\Mes images\\Grue_Atelierxx.jpg";
     
    shpCanvas =  vWDocument.OlePropertyGet("Shapes").OleFunction("AddCanvas", 0, 0, 600, 800); // AddCanvas, left, top, width, height
     
    // attention au Canvas et image ils doivent correspondre au niveau des dimensions
    // sinon on a le droit a une exception totalement inexplicite
     
    shpCanvas.OlePropertyGet("CanvasItems").OleFunction("AddPicture", vFileName, false, true, 1, 1, 599, 799); //  AddPicture, FileName, LinkToFile, SaveWithDocument, Left, Top, Width, Height

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 93
    Par défaut
    C'est cool tout ca !
    Merci beaucoup !
    je viens de tester rapidement
    C'est pas mal !
    J'ai encore quelques petits problèmes : il faut d'abord ouvrir word manuellement sous windows pour que ca fonctionne mais je veux le faire via une commande système pour contrer le problème.
    Et puis lors de la fermeture du word apres la sauvegarde il me met une erreur et la je vois pas mais je chercherai plus cette après-midi.

    Merci beaucoup blondelle.
    je travail dessus cette après-midi à fond et je vous dit quoi
    merci

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 93
    Par défaut
    J'ai passé la première erreur en rajoutant juste
    system ("start WINWORD.EXE");
    Sleep(6000);

    Mais ensuite lors de la fermeture il me met une erreur que j'arrive pas à analyser : je vais demander a un collègue cette aprem

    Apres la sauvegarde de mon travail, il me fait une erreur :
    le project a provoqué une classe d'exception Evarianttypecasterror avec le message : Impossible de convertir le variant de type (Boolean) en type (Dispatch).
    processus stoppé.

    C'est lors de l'execution via c++ builder mais peut etre qu'en executant directement l'exe, l erreur va passer a la trappe. Je test cette aprem.

    je fais ca pour stoppé et il plante à la ligne en rouge
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        vWDocuments.OleFunction("Close");
        // on libere les Variants
        vMSWord = Unassigned;
    
    
        vMSWord.OleFunction("Quit");
        // on libere les Variants
        vMSWord = Unassigned;

  8. #8
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Pour ouvrir Word regarde le lien que je t'ai passe il y a aussi un Tuto sur le site, si tu a des problemes Post je t'aiderais

  9. #9
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Pour ouvrir Word
    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
     
    // #include <utilcls.h>  <---- ne pas oublier
     
    try
            {
    //    vMSWord = Variant::GetActiveObject("Word.Application");
        vMSWord = Variant::CreateObject("Word.Application");
            }
    catch(...)
            {
        vMSWord = Variant::CreateObject("Word.Application");
            }
    vMSWord.OlePropertySet("Visible", true);
     
    vWDocuments = vMSWord.OlePropertyGet("Documents");
    vWDocument = vWDocuments.OleFunction("Add");
    pour quitter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    vMSWord.OleFunction("Quit");
    vMSWord = Unassigned;

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 93
    Par défaut
    effectivement pas besoin de passer par la
    Oui l'erreur est résolu pour la fermeture

    j'avais en fait mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
        //Procedure pour fermer le document
     
        vWDocuments.OleFunction("Close");
        // on libere les Variants
        vMSWord = Unassigned;
     
        //Procedure pour quitter word
     
        vMSWord.OleFunction("Quit");
        // on libere les Variants
        vMSWord = Unassigned;
    Il suffisait juste de mettre la procédure pour quitter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
        //Procedure pour quitter word
     
        vMSWord.OleFunction("Quit");
        // on libere les Variants
        vMSWord = Unassigned;
    je continue et te tient au courant !
    Merci pour ton aide

  11. #11
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Si tu veut utiliser "Close " puis " Quit " il faut dans ton cas l'ecrire comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        vWDocuments.OleFunction("Close", NULL, NULL);
        vMSWord.OleFunction("Quit");
        // on libere les Variants
        vMSWord = Unassigned;

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 93
    Par défaut
    D'accord,
    je travail sur un projet plus urgent jusqu'à jeudi et je reprend ce projet jeudi.
    je te tiens au courant.
    merci

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 93
    Par défaut
    L'enregistrement fonctionne tres bien mais il se fait au dernier format word installé sur le pc.
    Sais-tu s'il est possible de changer le format : le mettre en rtf ou doc compatible avec word 97 ?
    Merci d'avance

  14. #14
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 93
    Par défaut
    Oui, mais ca c'est pour excel,
    dans le passage sur word, il n'y a rien du même genre donc je me suis dit qu'il l'avait oublié et que peut etre quelqu'un savait faire

  16. #16
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Oui grossiere erreur de ma part voici comment il faut faire pour le format RTF
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    void __fastcall TForm1::Button5Click(TObject *Sender)
    {
        Variant vFileName;
        vFileName = "c:\\book11.doc";
        vWDocument.OleProcedure("Saveas", vFileName, 6);
    }

  17. #17
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 93
    Par défaut
    C'est pas grave
    et l'important c est de reconnaitre ces erreurs
    bravo et merci
    Je me met sur autre chose jusqu'a jeudi
    y a un audit qui passe jeudi donc je dois fignoler d autres trucs

  18. #18
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 93
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        vFileName = "c:\\book1.doc";
        vWDocument.OleProcedure("Saveas", vFileName,19);
    Je fais ca pour l'enregistrer au format doc compatible avec word 97 et la il me crée un fichier 3 ko avec l'emplacement de l'image mais cet emplacement est vide
    car avec les fichiers rtf, ca me crée des fichiers trop gros ( de l ordre de 2 mo pour une image de 100 ko

    Tu n'aurais pas une autre idée

  19. #19
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 93
    Par défaut
    Bon en fait meme quand j enregistre au format 97 ca me crée des fichiers de 2 mo .......

    donc ca ne pourra passer dans mon automate
    Je vais chercher une autre solution.

  20. #20
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 93
    Par défaut
    Est ce que tu aurais une documentation pour OleWord - quelque chose d'un peu plus développé que la faq - ?

    Peut être qu'en modifiant les options de l'appel lors de la fonction de sauvegarde, je pourrai réussir à avoir un fichier de taille inférieure.
    Sinon tu connais peut etre les détails de cette fonction .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
        vFileName = "c:\\book1.doc";
        vWDocument.OleProcedure("Saveas", vFileName, 6);

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. problème creation fichier word c#
    Par zone45 dans le forum Développement Windows
    Réponses: 0
    Dernier message: 18/06/2014, 14h00
  2. [XL-2003] creation fichier word en texte sous vba excel
    Par pulco41 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 06/01/2011, 16h00
  3. creation fichier word en texte sous vba excel
    Par pulco41 dans le forum Word
    Réponses: 6
    Dernier message: 06/01/2011, 15h37
  4. Réponses: 10
    Dernier message: 17/08/2007, 09h38
  5. Extraire les images contenues dans un fichier word
    Par elreybubu dans le forum Delphi
    Réponses: 2
    Dernier message: 25/10/2006, 13h07

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