-- 作者:mamuaiqing
-- 发布时间:2013/1/15 23:25:00
--
回林总,这是报表打印,代码如下:
Dim doc As New PrintDoc \'定义一个报表 Dim rt As New prt.RenderTable() \'定义一个表格对象 Dim rx As New prt.RenderText \'定义一个文本对象 Dim CurRow As Row = Tables("订单").Current Doc.PageSetting.TopMargin = 5 \'设置上边距 Doc.PageSetting.BottomMargin = 5 \'设置下边距 Doc.PageSetting.RightMargin = 5 \'设置右边距 Doc.PageSetting.LeftMargin = 5 \'设置左边距 doc.PageSetting.Width = 217 \'纸张宽度为100毫米 doc.PageSetting.Height = 140 \'纸张高度为120毫米
rx = New prt.RenderText \'创建文本对象 rx.text = "XXXXXXXXXX有限公司" rx.Style.TextAlignHorz = prt.AlignHorzEnum.Center \'水平居中排列 rx.Style.CharSpacing = 3 \'字符间距1毫米 rx.Style.Font = New Font("迷你简粗倩", 20) \'设置字体跟大小 doc.Body.Children.Add(rx) \'加入到报表中
rx = New prt.RenderText \'创建文本对象 rx.text = "电话:XXXXXXX XXXXXXX XXXXXX 传真:XXXXXXX" rx.Style.CharSpacing = 0.2 \'字符间距1毫米 rx.Style.FontBold = True \'字体加粗 rx.Style.FontSize = 10 \'大体大小为16磅 rx.Style.TextAlignHorz = prt.AlignHorzEnum.Center \'水平居中排列 rx.Style.Spacing.Bottom = 1 \'和下面的对象(表格)距离3毫米 doc.Body.Children.Add(rx) \'加入到报表中
rx = New prt.RenderText \'创建文本对象 rx.text = "订单" rx.Style.CharSpacing = 0.2 \'字符间距1毫米 rx.Style.Font = New Font("迷你简粗倩", 20) \'设置字体跟大小 rx.Style.TextAlignHorz = prt.AlignHorzEnum.Center \'水平居中排列 rx.Style.Spacing.Bottom = 1 \'和下面的对象(表格)距离3毫米 doc.Body.Children.Add(rx) \'加入到报表中
rx = New prt.RenderText rx.Text = "XX: " & Tables("订单").Current("XX") & " XX: " & Tables("订单").Current("XX") rx.Style.FontBold = True \'字体加粗 rx.Style.FontSize = 11 \'大体大小为16磅 rx.Width = 100 \'宽度为40毫米 rx.Style.Spacing.Left = 14 \'设置下间隔为3毫米 rx.Style.Spacing.Bottom = 0 \'和下面的对象(表格)距离3毫米 doc.Body.Children.Add(rx)
rx = New prt.RenderText rx.Text = "单据编号: " & Tables("订单").Current("编号") rx.Style.FontBold = True \'字体加粗 rx.Style.FontSize = 11 \'大体大小为16磅 rx.x = 162 rx.y = 20 doc.Body.Children.Add(rx)
rx = New prt.RenderText rx.Text = "签订日期: " & Tables("订单").Current("签订日期") rx.Style.FontBold = True \'字体加粗 rx.Style.FontSize = 11 \'大体大小为16磅 rx.x = 162 rx.y = 31.6 doc.Body.Children.Add(rx)
rx = New prt.RenderText rx.Text = "客户姓名: " & Tables("订单").Current("客户姓名") & " 联系电话: " & Tables("订单").Current("联系电话") rx.Style.FontBold = True \'字体加粗 rx.Style.FontSize = 11 \'大体大小为16磅 rx.Width = 200 \'宽度为40毫米 rx.Style.Spacing.Left = 14 \'设置左边隔为3毫米 rx.Style.Spacing.Bottom = 1 \'和下面的对象(表格)距离3毫米 doc.Body.Children.Add(rx)
rx = New prt.RenderText \'创建文本对象 rx.text = "①白色:存根 ②红色:客户 ③黄色:安排" rx.Width = 3 \'对象宽度为40毫米 rx.Style.FontSize = 9 \'大体大小为16磅 rx.x = 206 rx.y = 42 rx.Style.FontBold = True \'字体加粗 doc.Body.Children.Add(rx) \'加入到报表中
rt = New prt.RenderTable\'创建表格对象 rt.Style.GridLines.All = New prt.Linedef \'设置网格线 rt.Style.Padding.Left = 14 \'左边距5毫米 rt.Rows.Count = 8 \'设置总行数 rt.Cols.Count = 9 \'设置总列数 rt.Height = 88 \'设置表格的高度为80毫米 rt.Width = 200 \'设置表格的高度为80毫米 rt.Style.Spacing.Bottom = 2 \'表和和后续对象的垂直间隔为10毫米 rt.Rows(7).Height = 10 \'设置第8行(显示说明的行)的高度为40毫米,剩余高度被平均分排到其他行 rt.Rows(6).Height = 8 \'设置第8行(显示说明的行)的高度为40毫米,剩余高度被平均分排到其他行 rt.Rows(0).Height = 10 \'设置第8行(显示说明的行)的高度为40毫米,剩余高度被平均分排到其他行 rt.Cols(0).Width = 30 \'设置前四列的宽度,剩余的宽度被分配给5列(显示图片的那列) rt.Cols(1).Width = 12 rt.Cols(2).Width = 12 rt.Cols(3).Width = 10 rt.Cols(4).Width = 15 rt.Cols(5).Width = 8 rt.Cols(6).Width = 20 rt.Cells(6,1).SpanCols = 4 \'第7行第2个单元格向右合并4列(用于显示制版费跟订金) rt.Cells(6,5).SpanCols = 2 \'第7行第6个单元格向右合并2列(用于显示制版费跟订金) rt.Cells(6,7).SpanCols = 2 \'第7行第7个单元格向右合并2列(用于显示制版费跟订金) rt.Cells(7,0).SpanCols = 9 \'第8行第1个单元格向右合并9列(用于显示说明) rt.Style.TextAlignVert = prt.AlignVertEnum.Center \'内容垂直居中 rt.Style.TextAlignHorz = prt.AlignHorzEnum.Center \'水平居中排列
rt.Style.FontBold = True \'字体加粗 rt.Cells(0,0).Text = "产品名称" rt.Cells(0,1).Text = "总宽" rt.Cells(0,2).Text = "长度" rt.Cells(0,3).Text = "XX" rt.Cells(0,4).Text = "数量" rt.Cells(0,5).Text = "XX" rt.Cells(0,6).Text = "单价" rt.Cells(0,7).Text = "封口" rt.Cells(0,8).Text = "备注" rt.Cells(6,0).Text= "XXX:" rt.Cells(6,1).Text = CurRow("XXX") &"元"&" " & CUMoney(CurRow("XXX")) rt.Cells(6,5).Text= "XXXX:" rt.Cells(6,7).Text = CurRow("XXX") &"元"&" " & CUMoney(CurRow("XXX")) rt.Cells(7,0).Text = "注: XXXXXXXXXXXXXXXXXXXXXXXXXXXX . " With Tables("订单.订单明细") For r As Integer = 0 To .Rows.Count - 1 \'遍历关联表每一行 rt.Cells(r+1,0).Text = .rows(r)("产品名称") rt.Cells(r+1,1).Text = .rows(r)("总宽") &"cm" rt.Cells(r+1,2).Text = .rows(r)("长度") &"cm" rt.Cells(r+1,3).Text = .rows(r)("XX") &"C" rt.Cells(r+1,4).Text = .rows(r)("数量") rt.Cells(r+1,5).Text = .rows(r)("XXXX") rt.Cells(r+1,6).Text = .rows(r)("单价") &"元" rt.Cells(r+1,7).Text = .rows(r)("XX") rt.Cells(r+1,8).Text = .rows(r)("备注") If rt.Cells(r+1,5).Text = "张" Then rt.Cells(r+1,4).Text = .rows(r)("数量") &"万" ElseIf rt.Cells(r+1,5).Text = "KG" Then rt.Cells(r+1,4).Text = .rows(r)("数量") &"KG" End If Next End With rt.Style.Spacing.Bottom = 0 \'表和和后续对象的垂直间隔为10毫米 doc.Body.Children.Add(rt) rx = New prt.RenderText rx.Text = "XXX: " & Tables("XXX").Current("XXX") rx.Style.FontBold = True \'字体加粗 rx.x = 170 rx.Style.FontSize = 11 \'大体大小为16磅 rx.Style.Spacing.Top = 3 doc.Body.Children.Add(rx)
rx = New prt.RenderText rx.Text = "XXXXXX"
rx.Style.FontBold = True \'字体加粗 rx.x = 19 rx.Style.FontSize = 11 \'大体大小为16磅 rx.Style.Spacing.Top = 3 doc.Body.Children.Add(rx) Doc.PrinterName = "DPK770E"
doc.AutoRotate = False \'禁止自动旋转打印内容
doc.Print()
|