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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Novembre 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 2
    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 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 : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2003
    Messages : 576
    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

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

    Informations forums :
    Inscription : Septembre 2009
    Messages : 319
    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

  4. #4
    Membre expérimenté 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
    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 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 : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2003
    Messages : 576
    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.

  6. #6
    Membre expérimenté 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
    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+

  7. #7
    Candidat au Club
    Inscrit en
    Novembre 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 2
    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

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