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

Windows Forms Discussion :

Génération automatique de documents PDF avec Visual Basic Express 2008


Sujet :

Windows Forms

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Génération automatique de documents PDF avec Visual Basic Express 2008
    J'ai lu un article passionant sur ce site :

    Génération automatique de documents PDF avec Visual C++ 2005

    ici :

    http://nico-pyright.developpez.com/t...generationpdf/

    L'objet de mon poste est que j'ai besoin de faire la même chose en VB (j'ai visual basic express 2008) ; à terme j'ai besoin de remplir des formulaires pdf à partir de données extraites d'une base sqlserver 2005.

    Si quelqu'un peut me donner des pistes (je débute)
    merci

  2. #2
    Membre éclairé
    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 : 45
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2003
    Messages : 576
    Points : 719
    Points
    719
    Par défaut
    je connais une bibliothèque gratuite pour .NET et qui est extra ordinaire, c'est pareil que le tutorial, tu utilises une dll qui contient des fonctions pour créer, écrire et sauvegarder un fichier pdf, tu peux voir un exemple ici http://itextsharp.sourceforge.net/tutorial/ch01.html (en c# mais c'est simple à mettre en VB.net) et pour la dll et d'autres ressources http://itextsharp.sourceforge.net
    mon blog http://www.3click-solutions.com/actualites/

    MCP VB.NET (70-305) - (70-306) - (70-310)
    Développeur PHP / Wordpress

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    319
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 319
    Points : 414
    Points
    414
    Par défaut
    je viens apporter ma pierre a l'édifice.
    J'ai fait la même chose il y a peu de temps et pour ne pas avoir a passer par des dll a aller télécharger a droite a gauche, j'ai utilisé excel.
    L'idée est d'utiliser un fichier excel prédéfini et de le remplir cellule par cellule via la base de données, puis de le convertir en pdf

    Pour cela il faut faire 2 imports
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Imports ACRODISTXLib
    Imports Microsoft.Office.Interop.Excel
    Et déclarer quelques variables
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        'variables pour pdf
        Private appXls As Application
        Private sheetXls As Worksheet
        Private acr As ACRODISTXLib.PdfDistiller
    Ensuite, tu déclares ton fichier excel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
                    'definition du fichier XLS
                    appXls = New Application
                    appXls.Workbooks.Open(chemin + ".xls") 'ouverture du fichier excel
                    appXls.Visible = False
    'donne un nom a la feuille
                    sheetXls = appXls.ActiveWorkbook.Worksheets("Rapport")
    Ensuite il n'y a plus qu'a rempli le fichier excel
    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
                    sheetXls.Range("A41").Value = "blabla"
                    sheetXls.Range("A61").Value = "titi"
     
                    sheetXls.Range("A40").Value = "toto"
                    sheetXls.Range("A60").Value = "pouet"
    Et tu fini en le convertissant en pdf, en utilisant cutepdf
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
                    acr = New ACRODISTXLib.PdfDistiller
                    'attribution du chemin du fichier sans son extension 
                    chemfic = chemin
                    sheetXls.PrintOut(Copies:=1, ActivePrinter:="CudePDF Writer", Collate:=True, Preview:=False, PrintToFile:=True, PrToFileName:=chemfic & ".ps")
                    acr.FileToPDF(chemfic & ".ps", chemfic & ".pdf", "")
                    System.Runtime.InteropServices.Marshal.ReleaseComObject(acr)
                    System.GC.Collect()
                    Kill(chemfic & ".ps")
    J'espere que je n'ai rien oublié, et que ca t'aidera

    Cordialement

    Nasty
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'TODO : trouver une signature mieux que celle la

  4. #4
    Membre actif Avatar de AJemni
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2008
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2008
    Messages : 242
    Points : 290
    Points
    290
    Par défaut
    Salut,
    J'ai fait la même chose à l'aide de C# et Reporting Service il y à 2 semaines et je crois que c'est possible avec VB.
    vous avez seulement besoin d'une seule chose : Reporting Service installé(bien evidemment le VS2005).
    et dans votre code vb utilise la class LocalReport (imports Microsoft.Reporting.WinForms) et il suffit d'ajouter un fichier Rapport à votre solution et de créer ton rapport et de lui associé un dataSource qui peut être évidemment un DataSet.
    Si cette solution t'interesse, puisque vous possedez déjà SQL Server 2005, je peux vous aider avec des bouts de code.

    A+

  5. #5
    Membre éclairé
    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 : 45
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2003
    Messages : 576
    Points : 719
    Points
    719
    Par défaut
    Nasty, dans ta solution il y a déjà une contrainte pour l'utilisateur : il faut qu'il installe cute pdf, ensuite tu fais en 2 étapes ce qu'on peut faire avec itextsharp en une seule et pour finir essai de tester l'écriture d'un fichier Excel de 50 pages seulement (ce qui n'est pas beaucuop) et puis le convertir en pdf et compare le temps de traitement avec une génération directe avec itextsharp qui va se faire en quelques secondes.

    la solution itextsharp est une solution de rapidité et de portabilité, tu peux déployer ton application où tu veux, tu es sûr que cela va marcher rapidement et sans contraintes

    pour la solution avec Reporting Services je ne connais pas.
    mon blog http://www.3click-solutions.com/actualites/

    MCP VB.NET (70-305) - (70-306) - (70-310)
    Développeur PHP / Wordpress

  6. #6
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 2
    Points : 1
    Points
    1
    Par défaut formulaires pdf
    En fait mes pdf à remplir sont assez élaborés, c'est pour cette raison que la méthode de nico-pyright en c++ est très séduisante.

    Mais voilà, le c++ c'est trop compliqué pour moi pour l'instant.

    Je regarde vos réponses

    merci

  7. #7
    Membre actif Avatar de AJemni
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2008
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2008
    Messages : 242
    Points : 290
    Points
    290
    Par défaut
    Salut,
    Beeeeenh puisque le reporting ne te convient pas alors essay ce lien

    et concerant le LocalReport et Reporting Service voici un petit exemple (c'est la creation d'un rapport sous format image mais tu peut simplement modifié le paramètre format de la methode render par PDF est tous sera reglot et pour infos il y a 2 surcharges de cette methode )

    A+

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    319
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 319
    Points : 414
    Points
    414
    Par défaut
    Morsi, je suis d'accord avec toi, il y a bien la contrainte d'utiliser cutePdf, moi j'ai pas pu faire autrement c'est mon employeur qui m'a dit d'utiliser ca (et question portabilité, j'ai pas eu besoin de m'y intéresser ).
    Pour la conception, il est vrai que lors de la configuration, cela va durer un peu longtemps (j'ai mis 5h a faire mes 12pages) mais après, je suis incapable de comparer par rapport a ta méthode.
    Et puis de toute façon, on est la pour s'entraider, et si on peut faire quelque chose d'encore plus performant en mixant toutes nos idées, ca en aidera plein d'autre.
    Cordialement
    Nasty
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'TODO : trouver une signature mieux que celle la

  9. #9
    Membre éclairé
    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 : 45
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2003
    Messages : 576
    Points : 719
    Points
    719
    Par défaut
    Citation Envoyé par nasty Voir le message
    Morsi, je suis d'accord avec toi, il y a bien la contrainte d'utiliser cutePdf, moi j'ai pas pu faire autrement c'est mon employeur qui m'a dit d'utiliser ca (et question portabilité, j'ai pas eu besoin de m'y intéresser ).
    Pour la conception, il est vrai que lors de la configuration, cela va durer un peu longtemps (j'ai mis 5h a faire mes 12pages) mais après, je suis incapable de comparer par rapport a ta méthode.
    Et puis de toute façon, on est la pour s'entraider, et si on peut faire quelque chose d'encore plus performant en mixant toutes nos idées, ca en aidera plein d'autre.
    Cordialement
    Nasty
    tout a fait

    Avec itextsharp je te garanti une génération en moins d'1 minute quelque soit la complexité de ton état

    A+
    mon blog http://www.3click-solutions.com/actualites/

    MCP VB.NET (70-305) - (70-306) - (70-310)
    Développeur PHP / Wordpress

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    319
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 319
    Points : 414
    Points
    414
    Par défaut
    Merci morsi, je vais faire comme fcosnier, et étudier l'idée...
    Cordialement
    Nasty
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'TODO : trouver une signature mieux que celle la

Discussions similaires

  1. [Débutant] Problème avec visual basic express 2010
    Par Bylliboy dans le forum VB.NET
    Réponses: 5
    Dernier message: 19/05/2014, 17h09
  2. Réponses: 19
    Dernier message: 11/03/2014, 12h13
  3. Créer Activex avec Visual Basic express 2010
    Par saluts92 dans le forum VB.NET
    Réponses: 8
    Dernier message: 15/02/2012, 11h24
  4. connexion BD Oracle avec Visual Basic Express 2010
    Par hello_world88 dans le forum VB.NET
    Réponses: 3
    Dernier message: 14/05/2011, 17h18
  5. Problème de connection avec Visual Basic Express 2008
    Par qlaimand dans le forum Outils
    Réponses: 3
    Dernier message: 05/04/2009, 21h15

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