加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

VB.Net 操作打印机

发布时间:2020-12-17 07:57:21 所属栏目:百科 来源:网络整理
导读:首先创建一个打印机类 , 继承 PrintDocument. 重写 OnBeginPrint 方法 , 和 OnPrintPage 方法 . ' 使用 VB.net 操作打印机 Imports System . Drawing . Printing Imports System . IO Imports BarcodeLib Public Class TextFilePrintDocument Inherits Print

首先创建一个打印机类,继承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")

这个参数是需要打印文件的目录

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读