当前,我正在开发桌面应用程序,我需要从本地存储(桌面)打印图像(png文件)。
很简单,当我按下按钮时,它将发送图像进行打印。看我的功能,它不起作用。 (为证明我在PDF打印机中打印了图像,但是当我打开图像的pdf时,PDF为空)。 我从工具箱中添加了一个PrintDocument1。
Imports System.Drawing
Imports System.Drawing.Printing
Imports System.Windows.Forms
Public Class Certificate
Private streamToPrint As StreamReader
Private ReadOnly pd As New PrintDocument()
Private Sub PrintCertificateButton_Click(sender As Object, e As EventArgs) Handles PrintCertificateButton.Click
Try
streamToPrint = New StreamReader("C:\Users\m.cerna\Desktop\screenshot.png")
Try
pd.Print()
Finally
streamToPrint.Close()
End Try
Catch ex As Exception
MessageBox.Show("An error has occurred trying to print" & vbCrLf & "Error code: ", ex.Message)
End Try
End Sub
End Class
答案 0 :(得分:0)
我解决了这个问题! 我更改了功能,曾经用过:
AddHandler PrintDocument1.PrintPage,AddressOf Me.PrintImage
我分享了我的新功能:)我在http://vbcity.com/forums/t/25494.aspx
上找到了它Private Sub PrintCertificateButton_Click(sender As Object, e As EventArgs) Handles PrintCertificateButton.Click
Try
AddHandler PrintDocument1.PrintPage, AddressOf Me.PrintImage
PrintDocument1.Print()
Catch ex As Exception
MsgBox(ex, MsgBoxStyle.Critical, "Error during Print")
End Try
End Sub
Private Sub PrintImage(ByVal sender As Object, ByVal ppea As PrintPageEventArgs)
ppea.Graphics.DrawImage(Image.FromFile("C:\Users\m.cerna\Desktop\screenshot.png"), ppea.Graphics.VisibleClipBounds)
ppea.HasMorePages = False
End Sub