IMPRIMER UN FICHIER TEXTE EN DOTNET

Signaler
Messages postés
939
Date d'inscription
vendredi 25 octobre 2002
Statut
Membre
Dernière intervention
27 janvier 2009
-
Messages postés
3
Date d'inscription
vendredi 12 décembre 2008
Statut
Membre
Dernière intervention
15 mars 2011
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/5650-imprimer-un-fichier-texte-en-dotnet

Messages postés
3
Date d'inscription
vendredi 12 décembre 2008
Statut
Membre
Dernière intervention
15 mars 2011

oh ci bon mai j cherche le code d'un bouton imprimer ki prend des information de la base de donne , les traiter sur une doc et les imprimer
merci
Messages postés
7
Date d'inscription
jeudi 26 juillet 2007
Statut
Membre
Dernière intervention
29 octobre 2008

Salut tout le monde,

J'ai modifié le bouzin un petit peu, dans le cas où la ligne soit trop longue. Avec ce code, elle se termine à droite de la feuille.

Du coup, il faut dessiner un rectangle dans lequel sera imprimée la ligne et si elle est plus longue que le rectangle, le retour à la ligne se fait automatiquement.

Private Sub pd_PrintPage(ByVal sender As Object, ByVal ev As Printing.PrintPageEventArgs)
Dim linesPerPage As Single = 0
Dim yPos As Single = 0
Dim count As Integer = 0
Dim leftMargin As Single = 50
Dim topMargin As Single = 70
Dim Line As String = Nothing

' nombre de lignes par page
linesPerPage = ev.MarginBounds.Height / printFont.GetHeight(ev.Graphics)

' impression de chaque ligne de la page
While count < linesPerPage
Line = streamToPrint.ReadLine()
If Line Is Nothing Then
Exit While
End If

yPos = topMargin + count * printFont.GetHeight(ev.Graphics)
Dim rectangle As New RectangleF(leftMargin, yPos, 700, 150)
ev.Graphics.DrawString(Line, printFont, Brushes.Black, rectangle)

'mesure la longueur de la chaine pour savoir si il faut l'imprimer sur une ou plusieurs lignes
Dim stringSize As New SizeF
stringSize = ev.Graphics.MeasureString(Line, printFont)
count += 1 + (stringSize.Width \ 700) 'si la longueur est > 700, alors l'impression se fait sur x lignes
End While

' s'il reste des lignes, on imprime une autre page
If Not (Line Is Nothing) Then
ev.HasMorePages = True
Else
ev.HasMorePages = False
End If
End Sub
Messages postés
3
Date d'inscription
vendredi 12 mars 2004
Statut
Membre
Dernière intervention
22 juin 2004

Therealkiller dit: Ok je viens de trouver la VRAI source MSDN...

OUUUUUU??
Je démarre sous .net avec la migration d'une appli de compta avec des tones de Printer.Print :((((

Alors un petit coup de pouce serait cool pour que l'impression de mes états refonctionne...
Messages postés
88
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
27 mars 2006

c bien ce ke je pensai pour le html c different c con imprime le code html . Personne oré une solution . Merci
Afficher les 11 commentaires