[vb 2005.net] impression

[Résolu/Fermé]
Signaler
Messages postés
53
Date d'inscription
mercredi 23 juillet 2008
Statut
Membre
Dernière intervention
22 octobre 2008
-
Messages postés
53
Date d'inscription
mercredi 23 juillet 2008
Statut
Membre
Dernière intervention
22 octobre 2008
-
Bonjour,

j'ai réussi a faire une fct qui imprime un form full screen sur une page et moi je voudrais savoir comment on pourrait faire pour que l'image ce redimensionne automatiquement a la taille de la feuille ou imprime sur deux page
voici mon code:

Public Sub FichierImprimer()
With PageSetupDialog
.Document = PrintDocument
.PageSettings.Margins.Bottom = 150
.PageSettings.Margins.Top = 150
.PageSettings.Margins.Left = 100
.PageSettings.Margins.Right = 100
If .ShowDialog <> Windows.Forms.DialogResult.OK Then Exit Sub
PrintDocument.DefaultPageSettings = .PageSettings
End With
With PrintDialog
.Document = PrintDocument
.AllowSelection = True
.AllowSomePages = True

If .ShowDialog <> Windows.Forms.DialogResult.OK Then Exit Sub
PrintDocument.PrinterSettings = .PrinterSettings
PrintDocument.DocumentName = "Pages imprimer sur " & .PrinterSettings.PrinterName
PrintDocument.Print()
End With
End Sub
Private Sub PrintDocument_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument.PrintPage
Dim Police As New Font("Arial", 10)
Dim HauteurLigne As Single = Police.GetHeight(e.Graphics)
Dim NbrLignesParPage As Integer
Dim NumLigne As Integer = 0

NbrLignesParPage = e.MarginBounds.Height / HauteurLigne
e.Graphics.DrawImage(ImprimeForm, New PointF(0, 0))
End Sub
Private Sub PrintButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PrintButton.Click
Dim colordefault As Color = Me.BackColor
Me.Visible = False
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.None
Me.BackColor = Color.White
PrintButton.Visible = False
Me.Visible = False
ImprimeForm = New System.Drawing.Bitmap(MyBase.Size.Width, MyBase.Size.Height)
MyBase.DrawToBitmap(ImprimeForm, New System.Drawing.Rectangle(0, 0, MyBase.Size.Width, MyBase.Size.Height))
FichierImprimer()
Me.Visible = True
Me.BackColor = colordefault
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.Fixed3D
PrintButton.Visible = True
Me.Close()
End Sub

merci d'avance de vos réponce

3 réponses

Messages postés
53
Date d'inscription
mercredi 23 juillet 2008
Statut
Membre
Dernière intervention
22 octobre 2008
2
svp
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 42674 internautes nous ont dit merci ce mois-ci

Messages postés
53
Date d'inscription
mercredi 23 juillet 2008
Statut
Membre
Dernière intervention
22 octobre 2008
2
pour ce ki veulent savoir aller voir dans mes sources sur : https://codes-sources.commentcamarche.net/
à: [VB 2005.net] impression
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 42674 internautes nous ont dit merci ce mois-ci

Messages postés
53
Date d'inscription
mercredi 23 juillet 2008
Statut
Membre
Dernière intervention
22 octobre 2008
2
bon en fait j'ai complètemet changer mon code je créer ma page avec un printdocument (c plus facile)
mais j'ai un souci je voudrais faire une nouvelle page en plus de celle de base que j'ai et je n'arrive pas en créer une dexième si la première et pleine

comment on fait?
j'ai essayé e.HasmorePages = true mais cela marche pas


Ps: si vous avez pas bien compris c comme quand on fait "entrer" dans word a la fin d'une page cela en créer une autre, j'aimerai faire la même chose