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

VB.NET Discussion :

[VB.NET]Convertir un doc Word en PDF


Sujet :

VB.NET

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 284
    Par défaut [VB.NET]Convertir un doc Word en PDF
    Bonjour ,

    Je chercher désespérement un moyen de convertir un document word en PDF. J'ai trouvé une bibliothèque "iTextSharp" mais je ne sais pas comment l'utiliser.

    Si vous avez d'autres solutions ou un exemple pour iTextSharp je vous en serais reconnaissant.

    Bien à vous

  2. #2
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    Hello,
    je n'ai jamais essayé de le faire, mais vu qu'avec le patch d'office on peut enregistrer directement dans Word en PDF (c'est d'ailleurs comme ca que je le fais quand j'ai besoin d'un PDF au boulot ) tu devrais pouvoir piloter word et lui demander d'enregistrer en PDF et le tour est joué...
    A vérifier mais je pense que c'est une bonne piste.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 284
    Par défaut
    Merci pour votre réponse.

    Je dois juste apporter une petite précision. J'utilise office XP et non le 2007. De plus la plus part de mes clients sont encore en office XP.

  4. #4
    Membre chevronné
    Avatar de m-mas
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2003
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2003
    Messages : 576
    Par défaut
    pour commencer avec itextsharp tu peux voir les tutoriaux http://itextsharp.sourceforge.net/ ce n'est très difficile, il faut commencer à voir comment ça marche et après si tu as une question sur comment ça marche tel ou tel truc tu peux toujours poser ta question mais commence par faire le Hello World !

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 284
    Par défaut
    J'ai bien lu le tuto mais je ne vois pas comment je dois faire pour lui envoyer le contenu avec mise en forme de mon doc WORD.

    Merci

  6. #6
    Membre chevronné
    Avatar de m-mas
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2003
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2003
    Messages : 576
    Par défaut
    Citation Envoyé par olbi Voir le message
    J'ai bien lu le tuto mais je ne vois pas comment je dois faire pour lui envoyer le contenu avec mise en forme de mon doc WORD.

    Merci
    j'ai regardé un peu ce matin pour un problème presque pareil, c'est convertir un Excel vers un PDF. avec iTextsharp il n'y a pas de méthodes pour une conversion directe, ce que je vois c'est lire le document word ou excel et l'écrire avec les fonctions de iTextSharp mais il sera difficile de lire la mise en page et je craint une usine à gaz pour faire quelque chose d'acceptable.
    il y a par contre des outils payants pour cela (http://www.sautinsoft.net/) à 239 $ je pense, ils te donnent une dll que tu pourras distribuer par la suite, j'ai déjà testé un peu et ça marche bien (il y a une version trial)
    sinon je pense à une autre solution, qui est l'installation d'une imprimante virtuelle et l'utilisation d'outils tel que PDFcreator mais la contrainte est qu'il faut installer cette imprimante chez le client et en plus je n'ai pas trouvé pour l'instant comment faire pour donner cette imprimante virtuelle à la commande printdocument.

  7. #7
    Membre éprouvé Avatar de beren.kei
    Inscrit en
    Mai 2008
    Messages
    135
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Mai 2008
    Messages : 135
    Par défaut
    j'ai déjà fait un projet qui gère l'impression pdf d'un doc .txt ou word, mais en C#... j'avais utilisé la dll (gratuite et trouvable sur le net) Interop.PDFCreator.dll

    voici les using necessaires et le code C# :
    (il faut ajouter la dll aux références du projet)

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    using PDFCreator;
     
    private PDFCreator.clsPDFCreator _PDFCreator; (var globale du form)
    private PDFCreator.clsPDFCreatorError pErr; (var globale du form)
     
    private void Etat_pdf_Click(object sender, EventArgs e)
            {
     
     
                PDFCreator.clsPDFCreatorOptions opt;
                FileInfo fi;
                string fname = "", DefaultPrinter;
     
     
                // On récupère des informations sur le fichier à créer en PDF 
                fi = new FileInfo(chemin);
                if (fi.Name.Length > 0)
                {
                    if (fi.Name.IndexOf(".") > 1)
                    {
                        fname = fi.Name.Substring(0, fi.Name.IndexOf("."));
                    }
                    else
                    {
                        fname = fi.Name;
                    }
                }
     
                if (!_PDFCreator.cIsPrintable(fi.FullName))
                {
                    MessageBox.Show("Le fichier '" + fi.FullName + "' n'est pas imprimable!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return;
                }
                try
                {
                    opt = _PDFCreator.cOptions;
                    opt.UseAutosave = 1;
                    opt.UseAutosaveDirectory = 1;
                    opt.AutosaveDirectory = fi.DirectoryName;
                    opt.AutosaveFormat = 0;
                    opt.AutosaveFilename = fname;
                    _PDFCreator.cOptions = opt;
                    _PDFCreator.cClearCache();
     
                    DefaultPrinter = _PDFCreator.cDefaultPrinter;
                    _PDFCreator.cDefaultPrinter = "PDFCreator";
                    _PDFCreator.cPrintFile(fi.FullName);
                    //ReadyState = false;
                    _PDFCreator.cPrinterStop = false;
                    MessageBox.Show("Votre fichier PDF est créé");
                    _PDFCreator.cPrinterStop = true;
                    _PDFCreator.cDefaultPrinter = DefaultPrinter;
                }
                catch (Exception err)
                {
                    MessageBox.Show(err.Message.ToString(), "Erreur ", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
     
     
                appelprocessusexternepdf();
     
            }
     
            public void appelprocessusexternepdf()
            {
                String chemin;
                chemin = Application.StartupPath + "\\Etat.pdf";
                Process notepad = new Process();
                chemin = chemin.Replace(" ", "%20"); // on remplace l'espace par son code ascii
                Process.Start("acroRd32.exe", chemin);
            }
    par contre effectivement il faut que PDF Creator soit installé...

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 284
    Par défaut
    J'avais vu cette solution que j'ai voulu tester mais je n'ai pas trouvé la dll malgré que PDF creator soit installé sur mon poste. Je vais tenter de la télécharger.

    Merci pour votre réponse.

  9. #9
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    J'ai trouvé un moyen tout fait mais je ne sais pas si c'est payant...
    c'est Universal Document Converter
    On peux voir un exemple d'utilisation en code ici et c'est simple...

  10. #10
    Membre chevronné
    Avatar de m-mas
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2003
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2003
    Messages : 576
    Par défaut
    Citation Envoyé par Sankasssss Voir le message
    J'ai trouvé un moyen tout fait mais je ne sais pas si c'est payant...
    c'est Universal Document Converter
    On peux voir un exemple d'utilisation en code ici et c'est simple...
    oui c'est payant, à partir de 69$ ! cela peut être une solution !

  11. #11
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    202
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 202
    Par défaut
    Citation Envoyé par Sankasssss Voir le message
    Hello,
    je n'ai jamais essayé de le faire, mais vu qu'avec le patch d'office on peut enregistrer directement dans Word en PDF (c'est d'ailleurs comme ca que je le fais quand j'ai besoin d'un PDF au boulot ) tu devrais pouvoir piloter word et lui demander d'enregistrer en PDF et le tour est joué...
    A vérifier mais je pense que c'est une bonne piste.
    bonjour,

    j'essaye aussi de passer d'un docx (généré avec l'openXML SDK 2.0) en pdf ... et comme word sait le faire, je pensais que ce serait facile (en tout cas, plus facile que d'ajouter un filigrane avec le sdk).
    mais comme le serveur qui génère le docx n'a pas office ... et que l'opération doit se faire sans intervention humaine ... je sèche un peu.
    surtout, je dois générer une version docx ET pdf du même document, donc je souhaite transformer mon docx en pdf et non pas tout recoder avec iPdfSharp (!!!!!)

    s'il y a des OpenXML SDK gourous par ici ... merci d'avance de vos lumières.

    Nico.

  12. #12
    Membre éclairé
    Inscrit en
    Avril 2005
    Messages
    644
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 644
    Par défaut
    Bonjour,

    Je voulais savoir comment vous aviez résolu le pb de conversion, sachant que j'ai la meme problematique à savoir que le serveur n'a pas office.
    Je suis parti sur une premiere solution avec une solution vb.net utilisant pdfcreator, le pb c que manifestement pdfcreator a besoin qu'office soit installer sur le poste, ce qui ne sera pas le cas chez mon client.
    Qqn a une solution?
    merci d'avance

  13. #13
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2010
    Messages
    291
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 291
    Par défaut
    Bonjour,

    Pour ma part j'utilise pdfcreator en tant qu'imprimante et le tour est joué, ce depuis n'importe quelle logiciel et sans code.
    Après si on veut le faire par le code, il suffit d'automatiser l'impression avec cette imprimante virtuelle.

    A+

  14. #14
    Membre éclairé
    Inscrit en
    Avril 2005
    Messages
    644
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 644
    Par défaut
    pour refaire un peu l'historique de ce que je veux faire:
    Je cree mon docx dynamiquement avec les infos données, ensuite je veux que le pdf soit généré à partir du docx créé, et je veux afficher dans un navigateur web le pdf...Et tout ca en un clic...
    Donc j'en suis à la création du pdf à partir d'un docx, pas moyen de faire autrement qu'en passant par du code.
    Petite contrainte le client n'a pas office 2007.
    Or avec un code vb.net utilisant pdfcreator, à la génération du pdf ca ouvre office 2007 et ca le referme, d'où mon le pb que j'ai...
    Je cherchais le moyen d'utiliser pdfcreator en ligne de commande voir si ca necessitait aussi l'ouverture de Office.

  15. #15
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2010
    Messages
    291
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 291

  16. #16
    Membre éprouvé Avatar de beren.kei
    Inscrit en
    Mai 2008
    Messages
    135
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Mai 2008
    Messages : 135
    Par défaut
    j'ai déjà utilisé pdf creator 2 fois pour des projets demandant une impression pdf, et je n'ai jamais remarqué la nécessité d'avoir office... cela ne viendrait pas plutôt du fait que, si j'ai bien lu, tu veux créer dynamiquement un fichier .docx ?

Discussions similaires

  1. [WD-MAC 2011] Save doc word As Pdf
    Par thais781 dans le forum VBA Word
    Réponses: 1
    Dernier message: 24/11/2013, 11h14
  2. Réponses: 0
    Dernier message: 30/04/2013, 20h05
  3. VBA : Convertir un fichier Word en pdf
    Par shimuno dans le forum VBA Word
    Réponses: 5
    Dernier message: 01/07/2008, 19h20
  4. Convertir un document Word en PDF
    Par nancy54 dans le forum Composants VCL
    Réponses: 3
    Dernier message: 03/04/2006, 18h39
  5. [] Convertir un fichier word en pdf
    Par SpaceFrog dans le forum VBA Word
    Réponses: 7
    Dernier message: 06/12/2002, 16h27

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