我在vb.net中做一个文件,做完后自动把文件送入打印机打印,vb.net中该用啥命令,请指教,另我想在javascript trim一个字符串怎样实现,在线等。
以下是打印richtext中的文本的例子:*******************************************
以下为打印部分的功能代码*************************************************
Private Sub printdoc_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles printdoc.PrintPage
Dim g As Graphics 定义指向Grapics的指针
Dim linesperpage As Long 定义每页中可打印的文本行数
Dim current As Long 定义打印的当前行
Dim y As Double 当前的纵坐标
Dim left As Double 定义左边距
Dim top As Double 定义顶边距
Dim stroutput As String 定义将要输出的文本
Dim printfont As System.Drawing.Font 定义打印字体
Dim brush As New System.Drawing.SolidBrush(Color.Black) 定义打印时使用的刷子
Dim activechild As Form 定义当前活动的子窗体
Dim thebox As RichTextBox 定义子窗体中的RICHTEXTBOX控件
activechild = Me.ActiveMdiChild 获得当前活动的SON窗体
thebox = CType(activechild.ActiveControl, RichTextBox) 获得当前活动子窗体中的控件
printfont = thebox.Font 获得打印的字体
g = e.Graphics 获得对象
left = e.MarginBounds.Left 设置页面的左边距
top = e.MarginBounds. 设置页面的顶边距
linesperpage = e.MarginBounds.Height / printfont.GetHeight(g) - 4 设置每页将要打印的行数,顶端空出两行用于打印标题,底煅空出两行用于打印注脚.
y = top 设置打印的起始位置
g.DrawString(activechild.Text, printfont, brush, left, y) 输出标题
y = top + 2 * printfont.GetHeight(g) 设置正文的输出位置
循环输出正文的每一行()
While current < linesperpage
stroutput = line.ReadLine() 读取将要输出的内容
If Not stroutput Is Nothing Then 如果没有将要打印的内容,则中止循环
y = y + printfont.GetHeight(g) 计算将要输出的纵坐标的位置
g.DrawString(stroutput, printfont, brush, left, y) 输出正文
Else
Exit While
End If
End While
y = e.MarginBounds.Bottom - printfont.GetHeight(g) 设置注脚的输出位置
g.DrawString("footer", printfont, brush, e.MarginBounds.Width / 2, y) 输出注脚
If Not stroutput Is Nothing Then 如果这一页没有打印完正文,则将属性设置为true,这将再一次激发printpage事件
e.HasMorePages = True
Else
e.HasMorePages = False
End If
End Sub
**************************以下为页面设置功能代码******************************
Private Sub menpagesetup_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles menpagesetup.Click
Dim pagesetup As New PageSetupDialog()
pagesetup.Document = printdoc
pagesetup.ShowDialog()
End Sub
******************************以下为打印设置功能代码************************
Private Sub menprintsetup_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles menprintsetup.Click
Dim printersetup As New PrintDialog()
printersetup.Document = printdoc
printersetup.ShowDialog()
End Sub
******************************以下为打印预览功能代码************************
Private Sub menprintview_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles menprintview.Click
Dim activechild As Form = Me.ActiveMdiChild
If Not activechild Is Nothing Then
Dim preview As New PrintPreviewDialog()
Me.PrintPreviewDialog1.Document = printdoc
Dim thebox As RichTextBox
thebox = CType(activechild.ActiveControl, RichTextBox)
line = New System.IO.StringReader(thebox.Text)
Try
Me.PrintPreviewDialog1.StartPosition = FormStartPosition.CenterScreen
Me.PrintPreviewDialog1.ShowDialog()
Catch e1 As Exception
MsgBox(e1.StackTrace)
End Try
End If
End Sub
*******************************以下为打印功能的代码*****************************
Private Sub menprint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles menprint.Click
Dim activechild As Form = Me.ActiveMdiChild
If Not activechild Is Nothing Then
Dim printersetup As New PrintDialog()
printersetup.Document = printdoc
If printersetup.ShowDialog() = DialogResult.OK Then
Dim thebox As RichTextBox
thebox = CType(activechild.ActiveControl, RichTextBox)
line = New System.IO.StringReader(thebox.Text) 初始化字符串流
Try
printdoc.Print()
Catch e1 As Exception
MsgBox(e1.StackTrace)
printdoc.PrintController.OnEndPrint(printdoc, e)
End Try
End If
End If
End Sub