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 :

Générateur de .pdf


Sujet :

VB.NET

  1. #21
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    Je vais tenter d'être complet de mémoire (mais comme déjà dit, une p'tite recherche et tu vas trouver plein de tuto sur le sujet).

    - En mode design, tu ajoutes un dataset à ton projet.
    - Un clic droit sur l'écran de ton dataset (qui devrait être vide) --> Add --> TableAdapter
    - Cela ouvre un assistant dont tu suis les étapes (perso, je remplis à l'aide d'une query)
    - Au terme, cela t'ajoutera au dataset un TableAdapter (logique puisque c'est ce que tu as demandé) mais aussi une DataTable. (Tu peux aussi si tu le désires choisir d'ajouter une DataTable directement mais il te faut alors préciser chaque colonne et son type manuellement).
    - Tu ajoutes un objet crystal report à ton projet et dans celui-ci, tu pourras faire le lien avec ton dataset.
    - Ensuite dans le code, tu remplis le dataset avec les données que tu as besoin d'afficher et tu le définis comme source du rapport.

    Voilà un petit bout de code :
    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
     
                Dim dtainno As New dsInnoTableAdapters.dtaInno
                Dim dsinno As New dsInno
                Dim dtinno As New dsInno.dtInnoDataTable
     
                dtainno.Fill(dtinno, user.Username, dateLastDoc)
                If dtinno.Rows.Count > 0 Then
                    Dim crtinno As New crtInnoFR
     
                    crtinno.SetDataSource(DirectCast(dtinno, DataTable))
                    'export du report en pdf
                    filedestination = New CrystalDecisions.Shared.DiskFileDestinationOptions
                    filedestination.DiskFileName = file & "crtInno" & Today.ToShortDateString.Replace("/", "-") & ".pdf"
                    exportOption = crtinno.ExportOptions
                    With exportOption
                        .ExportDestinationOptions = filedestination
                        .ExportDestinationType = CrystalDecisions.Shared.ExportDestinationType.DiskFile
                        .ExportFormatType = CrystalDecisions.Shared.ExportFormatType.PortableDocFormat
                    End With
                    'crtinno.PrintToPrinter(1, False, 1, 10)
                    crtinno.Export()
                    'affichage du report
                    frmCrystalReport.crtViewer.ReportSource = crtinno
                    frmCrystalReport.ShowDialog()
                End If
    Où crtInnoFR est le nom du rapport Crystal Report. Le reste, je pense que cela doit être clair. Si tu as une question, n'hésite pas.

  2. #22
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2011
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 453
    Par défaut
    Ok alors je viens de regarder ça mais le souci c'est que tout ne vient pas de ma base, une bonne partie en vient bien mais il y a aussi des photos que l'utilisateur va chercher en local sur sa machine et ça je ne peux pas faire de requête pour les ramener dans le dataset

    En plus pour ne pas arranger les choses, mon application se connecte à 2 bases distinctes ...

  3. #23
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    Pour les 2 bases dinstinctes, aucun souci. Quand tu ajoutes le TableAdapter, il te suffit de te connecter à la bonne DB pour faire ta requête. Tu auras deux tables et tu peux parfaitement les lier toutes les deux à ton état crystal report.

    Pour les images en revanche, je n'ai jamais eu à utiliser cela. Mis à part un logo qui ne change jamais et que j'inclus directement à l'état, je ne me suis jamais penché sur la question mais j'imagine que cela doit être réalisable. Je m'en vais faire une petite recherche sur le sujet ^^

  4. #24
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    La recherche ne fut pas longue ^^

    http://www.codeproject.com/KB/vb/Ima...l_Reports.aspx

  5. #25
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2011
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 453
    Par défaut
    D'accord merci beaucoup, je vais me pencher sur la question ^^

  6. #26
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2007
    Messages : 467
    Par défaut
    J'ai une "autre" solution.

    Je ne connais pas forcément le Crystal, mais je suppose que comme tout bon logiciel de reporting, tu peux piloter l'impression ? Du style, ouvrir ton état directement en impression, et du coup, l'état est imprimé directement sur l'imprimante par défaut ?

    Si oui, j'avais fait une routine sympa' pour un soft access. Sans te donner l'intégralité du code, je te donne l'algo (avec comme pré-requis avoir installé PDFCreator) :
    - Définir avant impression l'imprimante "PDFCreator" comme imprimante par défaut du système
    - Utiliser la base de registre pour configurer PDFCreator en enregistrement auto (en lui précisant le nom du fichier & le répertoire)
    - Lancer l'impression de ton report
    - "Déconfigurer" PDFCreator
    - Remettre l'imprimante originale par défaut (que tu auras pris soin de stocker avant modif )

    Je ne sais pas si ça peut t'aider !

    Ou sinon, depuis ton programme, utiliser "pdfenc.exe" (dispo' avec PDFCreator) qui te permettra, à partir d'un fichier existant, de créer un pdf.

  7. #27
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    C'est sympa mais si tu avais lu l'intégralité du sujet, tu saurais que cela ne fonctionne pas car il faudrait installer pdfcreator sur l'ensemble du parc informatique en question.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/11/2011, 12h13
  2. Générateur de PDF xsl:fo compliant
    Par Nighty dans le forum Langage
    Réponses: 1
    Dernier message: 15/02/2009, 19h09
  3. Projet : générateur document PDF avec FPDF
    Par niki78 dans le forum Windows
    Réponses: 2
    Dernier message: 09/04/2008, 05h21
  4. Générateur de document HTML et PDF a partir d'un fichier XML
    Par Fildz dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 03/03/2006, 17h55

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