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 :

Impression du contenu d'un RichTextBox grâce à une imprimante


Sujet :

VB.NET

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 28
    Par défaut Impression du contenu d'un RichTextBox grâce à une imprimante
    Salut tout le monde,

    J'ai chopé du source sur le net qui permettrait d'imprimer le contenu d'un RichTextBox et qui dit ça :

    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
    With Printer
     
                ' Police d'impression
                .Font = "Times New Roman"
     
                ' taille de police d'impression
                .FontSize = 10
     
                'qualité d'impression 300 DPI
                .PrintQuality = 300
     
                'position du curseur
                .CurrentX = 1000
     
                'au début de l'impression
                .CurrentY = 1000
     
            End With
     
            Printer.Print (me.RichTextBox1.Text); PrinterPage
     
            Printer.EndDoc()
    ===>seulement printer est souligné, et qd je pose ma souris dessus, on me dit : le nom printer n'est pas déclarer... donc j'aurais voulu savoir en tant que quoi il fallait le déclarer?

    aussi le point virgule juste avant printerpage est aussi souligner est on me dit caractère non valide ... que dois-je faire, est-ce un bon source?

    Merci!

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    c'est du code vb6 et non vb.NET

    pour faire la meme chose en .NET c'est à peine plus compliqué
    il faut faire un new printerdocument je crois (system.drawing.print surement)
    et dans l'évènement print mettre le code d'impression


    enfin vous avez l'air d'un débutant, donc je vous conseille de lire http://plasserre.developpez.com/vsommair.htm
    qui d'ailleurs comporte une partie sur l'impression
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 28
    Par défaut
    Bon j'ai suivi son exemple apres avoir installé le PowerPack et en continuant a utiliser du code VB6...



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Imports Microsoft.VisualBasic.PowerPacks.Printing.Compatibility.VB6
     
     
    Dim pr As New Printer        'Instanciation de l'imprimante par défaut
     
    Dim pFont As New Font("Arial", 14)    'Une nouvelle font
     
    pr.Font = pFont
     
    pr.Print("This text will print in 14 point ")  'Texte à imprimer
     
    pr.EndDoc()    'fin, on lance l'impression

    ... et ca marche...


    Maintenant j'aimerai bien savoir comment on fait pour imprimer le contenu d'une RichTextBox.

    Si qqn le sait, ben jveux bien le savoir!

    Thanks!

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    super

    dis moi donc l'utilité d'utiliser vb.net pour développer en vb6 ?????
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 28
    Par défaut
    Bon je t'ai écouter ... j'ai utilisé le code VB.net qui était dans le lien que tu m'as filé et que voici :

    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
     
     
    Imports System.Drawing.Printing
     
     
     
    Public Class Form1
     
    Inherits System.Windows.Forms.Form
     
     
     
    Dim pd As  New PrintDocument 'Assumes the default printer
     
     
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
     
        AddHandler pd.PrintPage, AddressOf Me.Pd_PrintPage
     
    End Sub
     
     
    Private Sub Pd_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs)
     
    e.Graphics.DrawString("Hello", New Font("Arial", 80, FontStyle.Bold),   Brushes.Black, 150, 125)
     
    End Sub
     
     
    Private Sub ButtonPrint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonPrint.Click
     
        pd.Print()
     
    End Sub
     
     
     
    End Class


    Bon avec ce code j'arrive donc à imprimer "Hello" , mais le but serait d'imprimer le contenu d'une RichTextBox ... et la je suis coincé!

    Et ce que tu peux m'en dire un peu plus stp?

    Merci et @+

  6. #6
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    tu veux dire en couleur et avec les styles ? ou juste le texte ?
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 28
    Par défaut
    Juste le texte tel qu'il est dans le RichTextBox.

  8. #8
    Membre éprouvé

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Billets dans le blog
    1
    Par défaut
    tiens, je l'ai trouvé sur un site externe:
    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
        * ' Text1 est un richtextbox
         'dlgCommonDialog est un Commondialog
     
     
         Dim Impr As Printer
         Set Impr = Printer
         Impr.Print "Test : " 'ou autre chose que vous voulez :)
         Text1.SelStart = 0
         Text1.SelLength = Len(Text1.Text)
         Impr.ScaleMode = vbInches
         Impr.CurrentX = 2
         Impr.CurrentY = 2
         Text1.SelPrint Impr.hDC
         Impr.EndDoc
         Text1.SelStart = 0
         Text1.SelLength = 0

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 28
    Par défaut
    coucou,

    Bon alors j'ai copié ce code à l'interieur de mon bouton d'impression et apparemment ya plusieurs boulettes que j'ai du mal à contourner...

    La premiere ( à la première ligne), il me disent que "le type 'printer' non defini". Et il me propose de le remplacer soit par :

    -PowerPack.Printing.Compatibility.VB6.Printer
    -PrinterUnit
    -ou Splitter

    -La deuxième (à la deuxième ligne), qd je met Et je je fais un retour à la ligne, il y a le "set" qui disparait et "Printer" qui se souligne et qd je pose ma souris dessus, il ya marqué :" 'Printer' est un type et ne peut être utilisé en tant qu'expression"

    -La troisieme (à la neuvième ligne), je marque donc RichTextBox1 (qui remplace Text1) puis un point, puis vient la liste deroulante dans laquel il n'ya pas de selPrint (ou rien de proche qui y ressemble) et il me disent donc que selPrint n'est pas un membre de 'system.Windows.forms.richtextBox'

    Donc voilà si qqn sait ce qu'il faut faire, ben n'hésitez pas à me le dire...

    Merci bien... ++

  10. #10
    Membre éprouvé

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Billets dans le blog
    1
    Par défaut
    Mouai, faisons comme si je n'avais pa mis de code alors...

    tiens, voilà un lien de la MSDN, ce sera plus simple, il y a de la lecture, tu as de adaptation à faire si tu ne veux pas créer la dll, mais ça va le faire
    http://support.microsoft.com/kb/811401/fr

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 28
    Par défaut
    .... pas besoin c'est très simple ... il suffit de remplacer "Hello" par RichTextBox.Text

    Et basta!

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 29/04/2010, 16h24
  2. Réponses: 11
    Dernier message: 23/04/2009, 16h18
  3. Réponses: 1
    Dernier message: 18/08/2008, 14h08
  4. Réponses: 2
    Dernier message: 31/01/2007, 09h45

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