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 :

Création de PDF [Débutant]


Sujet :

VB.NET

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2014
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Mars 2014
    Messages : 53
    Points : 54
    Points
    54
    Par défaut Création de PDF
    Bonjour à tous !

    Je développe actuellement une application Web en VB.NET, et je dois générer des fichiers PDF. Soucis, je ne sais absolument pas comment faire ! Je dispose d'un modèle, et je dois le remplir en fait, actuellement, le système utilisé passe par une application non-web qui génère des fichiers en passant par Excel, mais (Eh oui, je suis en stage) mon tuteur veut que les PDF soient générés via la page web, une idée ?

    Pour infos : C'est ma toute première approche avec le VB, je suis un habitué du PHP ^^

    Merci d'avance

    Krishnak

  2. #2
    Membre expert

    Développeur NTIC
    Inscrit en
    Janvier 2011
    Messages
    1 670
    Détails du profil
    Informations personnelles :
    Âge : 33

    Informations professionnelles :
    Activité : Développeur NTIC
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 670
    Points : 3 942
    Points
    3 942
    Par défaut
    Salut ! Tu peux te servir de iTextsharp (équivalent de itext pour java mais en .net).

    http://dotnet.developpez.com/articles/itextsharp/
    L'homme est un fou pour l'homme. Toi qui viens de me mettre un aie au moins le courage d'expliquer pourquoi tu n'es pas d'accord.

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2014
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Mars 2014
    Messages : 53
    Points : 54
    Points
    54
    Par défaut
    Citation Envoyé par Mr_Exal Voir le message
    Salut ! Tu peux te servir de iTextsharp (équivalent de itext pour java mais en .net).
    Oui j'ai effectivement trouvé ItextSharp sur le net, mais je n'arrive pas à l'utiliser ><

    Ne serait-ce qu'au téléchargement je me retrouve avec 7 fichiers Zip, je ne sais pas lequel je dois référencer dans le projet etc ...
    Si quelqu'un avait le courage et la patience de me faire une petite explication je lui en serais reconnaissant :p

    Mes fichiers Zip si ça peut être utile :
    -itextsharp-dll-core.zip
    -itextsharp-dll-core-wo_Drawing.zip
    -itextsharp-dll-pdfa.zip
    -itextsharp-dll-xtra.zip
    -itextsharp-src-core.zip
    -itextsharp-src-pdfa.zip
    -itextsharp-src-xtra.zip

    :p

    -- Edit --

    Je n'avais pas vu le lien, je vais regarder ça avant tout !

  4. #4
    Membre expert

    Développeur NTIC
    Inscrit en
    Janvier 2011
    Messages
    1 670
    Détails du profil
    Informations personnelles :
    Âge : 33

    Informations professionnelles :
    Activité : Développeur NTIC
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 670
    Points : 3 942
    Points
    3 942
    Par défaut
    D'un autre site :

    Met la DLL dans le répertoire bin de ton projet, et ajoute une référence dessus.

    http://msdn.microsoft.com/fr-fr/libr...8VS.80%29.aspx
    L'homme est un fou pour l'homme. Toi qui viens de me mettre un aie au moins le courage d'expliquer pourquoi tu n'es pas d'accord.

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2014
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Mars 2014
    Messages : 53
    Points : 54
    Points
    54
    Par défaut
    J'avais déjà vu ce lien :p

    Donc j'ai ajouté uniquement itextsharp.dll venu du dossier itxtesharp-dll-core, c'est suffisant ? Ou je dois référencer les 7 ?

    -- Edit --
    Donc certains dossiers contiennent en fait le code source d'iTextSharp, les fichiers src, ce qui semble logique au final !
    J'ai ajouter au projet les dll :
    - itextsharp.dll
    - itextsharp.pdfa.dll
    - itextsharp.xtra.dll

    Dans tout les exemples que je vois sur le net, je dois créer une variable de type Document, j'essaie donc "Dim fichier AS Document" mais cela ne fonctionne pas :/

  6. #6
    Membre expert

    Développeur NTIC
    Inscrit en
    Janvier 2011
    Messages
    1 670
    Détails du profil
    Informations personnelles :
    Âge : 33

    Informations professionnelles :
    Activité : Développeur NTIC
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 670
    Points : 3 942
    Points
    3 942
    Par défaut
    Citation Envoyé par Krishnak Voir le message
    J'avais déjà vu ce lien :p

    Donc j'ai ajouté uniquement itextsharp.dll venu du dossier itxtesharp-dll-core, c'est suffisant ? Ou je dois référencer les 7 ?

    -- Edit --
    Donc certains dossiers contiennent en fait le code source d'iTextSharp, les fichiers src, ce qui semble logique au final !
    J'ai ajouter au projet les dll :
    - itextsharp.dll
    - itextsharp.pdfa.dll
    - itextsharp.xtra.dll

    Dans tout les exemples que je vois sur le net, je dois créer une variable de type Document, j'essaie donc "Dim fichier AS Document" mais cela ne fonctionne pas :/
    Tu as bien mis les dll dans le bin du projet ET les références dans le projet ?
    L'homme est un fou pour l'homme. Toi qui viens de me mettre un aie au moins le courage d'expliquer pourquoi tu n'es pas d'accord.

  7. #7
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2014
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Mars 2014
    Messages : 53
    Points : 54
    Points
    54
    Par défaut
    Les deux dll autre que itextsharp.dll n'étaient pas dans mon bin, mais après changement et régénération du projet, cela reste toujours impossible ><

  8. #8
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    VB.NET et ASP.NET n'ont rien en commun avec PHP, la philosophie est fondamentalement différente. Le meilleur conseil que l'on puisse te donner à ce stade, c'est de revoir les bases grâce à ce cours très complet sur VB.NET : http://plasserre.developpez.com/cours/vb-net/ (la réponse à ta question se situe dans le chapitre VI).

    Cela te permettra de prendre en main l'outil Visual Studio, et de te familiariser avec le langage et la progammation orientée objets. Il ne faut pas mettre la charrue avant les boeufs
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  9. #9
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2014
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Mars 2014
    Messages : 53
    Points : 54
    Points
    54
    Par défaut
    J'ai utilisé du C# en cours, tout comme du Java, du Java pour Android aussi, donc (surtout grâce à C#) je connais l'environnement, mais pour le Web c'est une première, et mon soucis et que je ne peux pas me permettre de suivre tout un cours (même s'il est plutôt bien fait d'après ce que j'ai vu) je n'en ait pas le temps
    Après la génération de PDF étant un part très importante de mon appli web, je devrais pouvoir me pencher dessus quelques heures !

    -- Edit --

    Je viens de voir en lisant le début du cours, qu'il ne traite pas d' ASP

    Je traite des programmes Windows: Windows Forms et WPF mais pas ASP Web
    Mon application Web est composé de page .aspx, contenant en CodeBehind des fichiers .aspx.vb, je reste dans le bon en postant mon soucis ici ? Ou je dois me rendre dans la partie ASP.NET du forum ??? En attendant je vais lire le chapitre que tu m'a recommandé

    -- Edit2 --

    Il faut vraiment que je réfléchisse des fois :/ J'avais complètement zaapé l'import d'iTextSharp en début de code ... Comme quoi, j'ai passé des heures dessus hier et après une nuit de repos, des bons conseils, et l'utilisation de patience :p
    Je vous tiens au courant de l'évolution des choses !

    --Edit3 Il y a une limite ? Par ce que je m'en rapproche la nan ? :p --

    Il est en vie !
    Bon je ne crée actuellement qu'un PDF affichant le célèbre "Hello World!" je vous présente mon code de solution si jamais celui-ci intéresse quelqu'un, de plus si vous voyez des choses à modifier dites le moi

    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
    Imports iTextSharp.text
    Imports iTextSharp.text.pdf
    Imports System.IO
     
    Public Class T_Test
        Inherits System.Web.UI.Page
     
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
     
        End Sub
     
        Protected Sub btn_test_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btn_test.Click
     
            'Création du PDF
            Dim test = New Document(PageSize.A4, 50, 50, 25, 25)
            Dim output = New FileStream(Server.MapPath("MyFirstPDF.pdf"), FileMode.Create)
            Dim writer = PdfWriter.GetInstance(test, output)
     
            'Ouverture du document pour écriture
            test.Open()
     
            ' Création d'un paragraphe 'Hello World!'
            Dim welcomeParagraph = New Paragraph("Hello World!")
     
            ' Ajout du paragraphe au document
            test.Add(welcomeParagraph)
     
            'Fermeture du document -A ne surtout pas oublier- 
            test.Close()
        End Sub
    End Class
    Je me suis également aidé du site : http://www.4guysfromrolla.com/articles/030911-1.aspx , vous devriez vous rendre compte du copier/coller :p
    Un grand merci à vous, je passe le post en résolu !

  10. #10
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par Krishnak Voir le message
    Après la génération de PDF étant un part très importante de mon appli web, je devrais pouvoir me pencher dessus quelques heures !
    Sur ce point, c'est à toi de voir Personnellement je suis totalement autodidacte, et je t'assure qu'au début il est difficile de faire les choses correctement sans y passer un minimum de temps, faire des POC, tester, retester, lire, relire..... Comme on dit on a jamais rien sans rien

    Citation Envoyé par Krishnak Voir le message
    Je viens de voir en lisant le début du cours, qu'il ne traite pas d' ASP
    Effectivement le cours ne traite pas d'ASP.NET, cependant le code behind reste du VB.NET, et qu'on soit en WPF, WinForms ou ASP.NET, ça reste exactement la même chose Sauf pour l'affichage du coup, qui sera géré par ASP.NET au lieu de WPF/WinForms.

    Citation Envoyé par Krishnak Voir le message
    Mon application Web est composé de page .aspx, contenant en CodeBehind des fichiers .aspx.vb, je reste dans le bon en postant mon soucis ici ? Ou je dois me rendre dans la partie ASP.NET du forum ??? En attendant je vais lire le chapitre que tu m'a recommandé
    Si ton problème est lié à VB.NET uniquement, tu peux poster ici. Sinon effectivement il vaut mieux t'orienter vers le forum ASP.NET. Mais dans ce cas je pense que tu as fait le bon choix.

    Citation Envoyé par Krishnak Voir le message
    Bon je ne crée actuellement qu'un PDF affichant le célèbre "Hello World!" je vous présente mon code de solution si jamais celui-ci intéresse quelqu'un, de plus si vous voyez des choses à modifier dites le moi
    Dans l'absolu, ton code est bon et il fonctionne, cependant il ne tient pas vraiment compte des principes d'architecture. Je t'invite à prendre connaissance de ce tutorial : L'architecture multicouche mise en œuvre sur une application Web ASP.Net.

    L'idée, c'est de séparer les couches pour bien organiser le code :
    • L'interface (User Interface - UI) : utilise la couche Business depuis le code behind.
    • La couche Business (Business Logic Layer - BLL) : valide les données provenant de l'UI, et récupère les données provenant de la DAL lorsque l'UI en a besoin.
    • La couche d'accès aux données (Data Access Layer - DAL) : récupère les données depuis la base de données. Seule la couche Business est censée la consommer.


    Un des principes à respecter au maximum : l'UI ne devrait jamais faire appel à la DAL directement.

    Tu l'auras compris, l'UI est le projet Web. La BLL et la DAL peuvent être chacune une DLL distincte, ou plus selon les cas et la taille de l'application.

    Dans ton cas, il conviendrait donc d'avoir :
    • Un projet Web
    • Une DLL pour la couche Business (BLL) qui serait responsable de la génération du PDF, et qui interrogerait la DAL pour obtenir les données.
    • Une DLL pour la couche d'accès aux données (DAL), qui serait responsable de récupérer les données à stocker dans ton document PDF.


    Bref voilà quelques info complémentaires pour faire du code propre
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  11. #11
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2014
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Mars 2014
    Messages : 53
    Points : 54
    Points
    54
    Par défaut
    je t'assure qu'au début il est difficile de faire les choses correctement sans y passer un minimum de temps
    Je suis entièrement d'accord ! Je ne compte plus le nombres d'erreurs idiotes que j'ai pu faire :p

    Je vais lire le tuto sur les couches, j'ai vu ça il y a deux ans en cours, mais depuis j'ai un peu mis ça à la trappe ! Actuellement tout mon code se passe directement en brut dans le projet, je vais tenter de corriger ça et de le rendre 'aux normes' ^^

    Encore merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Pdf] [0.6] Problème avec la création de PDF
    Par sinleon dans le forum Autres composants
    Réponses: 12
    Dernier message: 02/03/2007, 11h47
  2. Erreur sur Création de Pdf grâce à PdfCreator
    Par clauded07 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 11/01/2007, 15h43
  3. Création fichier PDF : problème insertion texte HTML
    Par isazazou dans le forum Documents
    Réponses: 2
    Dernier message: 21/11/2006, 15h13
  4. [FPDF] Création de PDF
    Par Taz_8626 dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 18/04/2006, 15h48
  5. [xml] oracle et création de pdf...
    Par MatMeuh dans le forum XQUERY/SGBD
    Réponses: 7
    Dernier message: 28/11/2004, 14h21

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