VB.Net 操作打印机
首先创建一个打印机类,继承PrintDocument.重写OnBeginPrint 方法,和 OnPrintPage方法.
' 使用VB.net操作打印机
ImportsSystem.Drawing.Printing ImportsSystem.IO ImportsBarcodeLib
PublicClassTextFilePrintDocument InheritsPrintDocument
PrivateprintFontAsFont PrivatestreamToPrintAsStreamReader
PublicSubNew(ByValstreamReaderAsStreamReader) MyBase.New() Me.streamToPrint = streamReader
EndSub
ProtectedOverridesSubOnBeginPrint(ByValeAsSystem.Drawing.Printing.PrintEventArgs) MyBase.OnBeginPrint(e) printFont= NewFont("Arial",10) EndSub
ProtectedOverridesSubOnPrintPage(ByValeAsSystem.Drawing.Printing.PrintPageEventArgs) MyBase.OnPrintPage(e) DimlppAsSingle =e.MarginBounds.Height / printFont.GetHeight(e.Graphics) DimyPosAsSingle =0 DimcountAsSingle =0 DimleftMarginAsSingle =e.MarginBounds.Left DimtopMarginAsSingle =e.MarginBounds.Top DimlineAsString =streamToPrint.ReadLine()
While (count < lppAndNotlineIsNothing) yPos= topMargin + (count * printFont.GetHeight(e.Graphics)) e.Graphics.DrawString(line,printFont,Brushes.Black,leftMargin,yPos,NewStringFormat()) count= count + 1
If (count < lpp)Then line= streamToPrint.ReadLine() EndIf
EndWhile
If (line <> Nothing) Then e.HasMorePages= True Else e.HasMorePages= False EndIf
EndSub
EndClass
-----------------
新建一个页面.添加一个按钮.
按钮的点击事件如下 Imports System.IO Imports System.Drawing.Printing
PrivateSubprintButton_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs) HandlesprintButton.Click Try DimstreamToPrintAsStreamReader= NewStreamReader("aa.txt") Try ' 使用缺省打印机 DimpdAsTextFilePrintDocument= NewTextFilePrintDocument(streamToPrint)
IfNotstoredPageSettingsIsNothingThen pd.DefaultPageSettings = storedPageSettings EndIf
DimdlgAsNewPrintDialog() dlg.Document= pd DimresultAsDialogResult= dlg.ShowDialog()
If (result = System.Windows.Forms.DialogResult.OK) Then pd.Print() EndIf Finally streamToPrint.Close() EndTry CatchexAsException MessageBox.Show("error:" + ex.Message) EndTry EndSub
文件存放目录
DimstreamToPrintAsStreamReader = NewStreamReader("aa.txt") 这个参数是需要打印文件的目录 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |