[vb 2005.net] impression
Résolu
orzhov
Messages postés
53
Date d'inscription
Statut
Membre
Dernière intervention
-
orzhov Messages postés 53 Date d'inscription Statut Membre Dernière intervention -
orzhov Messages postés 53 Date d'inscription Statut Membre Dernière intervention -
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
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
A voir également:
- [vb 2005.net] impression
- Spouleur d'impression - Guide
- Money 2005 - Télécharger - Comptabilité & Facturation
- Net framework 2.0 - Télécharger - Divers Utilitaires
- Paint net - Télécharger - Dessin & Illustration
- Impression livret a5 - Guide
3 réponses
pour ce ki veulent savoir aller voir dans mes sources sur : https://codes-sources.commentcamarche.net/
à: [VB 2005.net] impression
à: [VB 2005.net] impression
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
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