Jednoduše neumím, ale už dávno jsem spráskal něco podle nějakého kódu asi z Internetu. Funguje mi to, ale neptejte se proč a jak. Je tam jeden PictureBox a button, co spustí tisk:
Imports System.Drawing.Printing
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim ChybaTisku = True
Dim PocetPokusu = 0
Do While ChybaTisku
Try
Dim TiskObr As New PrintDocument
AddHandler TiskObr.PrintPage, AddressOf Me.TiskObrazku
Dim g As Graphics = Graphics.FromImage(PictureBox1.Image)
TiskObr.DefaultPageSettings.Landscape = False
TiskObr.Print()
ChybaTisku = False
Catch ex As Exception
PocetPokusu += 1
If PocetPokusu Mod 3 = 0 Then
If vbYes = MsgBox("Potíže s tiskem trvají! Chcete pokračovat v programu BEZ dalšího pokusu o tisk obrázku? " & vbCrLf & vbCrLf & _
"Odpověď ""Ano"" ukončí pokus o tisk, odpověď ""Ne"" proceduru tisku zopakuje", MsgBoxStyle.Question _
Or MsgBoxStyle.YesNo, "Tisk u PictureBox") Then ChybaTisku = False
Else
MsgBox("Při tisku OBRÁZKU došlo k potížím, ověřte stav tiskárny! " & vbCrLf & vbCrLf & _
"Nejprve odstraňte závadu, pak teprve klepněte na OK!!! Pokus o tisk se zopakuje.", MsgBoxStyle.Exclamation, "Tisk u PictureBox")
End If
End Try
Loop
End Sub
Private Sub TiskObrazku(ByVal sender As Object, _
ByVal pp As PrintPageEventArgs)
pp.PageSettings.Landscape = True
pp.Graphics.DrawImage(PictureBox1.Image, 0, 0)
pp.HasMorePages = False
End Sub
End Class
|