Dim 当前行 As Row = Args(0)
Dim 自定义 As String
Dim 打印() As String = 当前行("打印信息").split("\")
If 当前行("内件详情").Contains ("[{") Then
Dim json As String = 当前行("内件详情")
For Each ep As JToken In JArray.Parse(json)
自定义=ep("商品名称").ToString() & " " & ep("规格").ToString() &" 【" & ep("数量").ToString() &"】"
Next
Else
自定义= 当前行("内件详情")
End If
Dim doc As New PrintDoc '定义一个报表
doc.PageSetting.Width =74 '纸张宽度为100毫米
doc.PageSetting.Height =129 '纸张高度为120毫米
Dim rt As New prt.RenderTable() '定义一个表格对象
Doc.PageSetting.LeftMargin = 1 '设置左边距
Doc.PageSetting.RightMargin = 1 '设置右边距
Doc.PageSetting.TopMargin = 2 '设置上边距
Doc.PageSetting.BottomMargin = 1 '设置下边距
rt.Width = "Parent.Width" '对象宽度等于页面宽度
rt.Height = "Parent.Height" '对象高度等于页面高度
'指定行数?列数?列宽?行高
rt.Rows.Count = 10 '设置总行数
rt.Cols.Count = 4 '设置总列数
rt.Rows(0).Height = 9 '
rt.Rows(1).Height = 0 '
rt.Rows(2).Height = 17 '
rt.Rows(3).Height = 11 '
rt.Rows(4).Height = 10 '
rt.Rows(5).Height = 7 '
rt.Rows(6).Height = 14 '
rt.Rows(7).Height = 6 '
rt.Rows(8).Height = 6 '
rt.Rows(9).Height = 37 '
rt.Rows(10).Height = 14 '
'设置列宽度
rt.Cols(0).Width = 8.5 '设置前四列的宽度,剩余的宽度被分配给5列(显示图片的那列)
rt.Cols(1).Width = 29.5
rt.Cols(2).Width = 22
rt.Cols(3).Width = 15
'设置合并单元格
'rt.Cells(0,0).SpanCols =2 '
rt.Cells(1,0).SpanCols = 2 '
rt.Cells(1,2).SpanCols = 2 '
rt.Cells(2,0).SpanCols = 4 '
rt.Cells(3,0).SpanCols = 4 '
rt.Cells(4,0).SpanCols = 2 '
rt.Cells(5,1).SpanCols = 2 '
rt.Cells(5,0).SpanRows = 2 '
rt.Cells(6,1).SpanCols = 2 '
rt.Cells(7,0).SpanRows = 2 '
rt.Cells(7,1).SpanCols = 2 '
rt.Cells(8,1).SpanCols = 2 '
rt.Cells(9,0).SpanCols = 4 '
rt.Cells(10,0).SpanCols = 2 '
rt.Cells(10,2).SpanCols = 2 '
rt.Cells(5,3).SpanRows = 4 '
'设置表格样式
rt.CellStyle.Spacing.All = 1 '单元格内容缩进1毫米
rt.Style.GridLines.All = New prt.Linedef '设置网格线
rt.Style.GridLines.All = new Prt.LineDef(Color.RosyBrown) '设置网格颜色
rt.Style.TextAlignVert = prt.AlignVertEnum.Top '内容靠上对齐
'''下面很简单,指定每一个单元格的内容
rt.Cells(0,1).Style.BackColor = Color.Black
Dim rx As New prt.RenderText '定义一个文本对象
rx.Text = 打印(2) ' 打印(20) '退件标识
rx.Style.Font = New Font("微软雅黑", 16, FontStyle.Bold)
rx.Style.TextColor = Color.white
rt.Cells(0,1).RenderObject = rx '将文本对象放置在单元格中
rt.Cells(0,3).Text= "退标请勿盖住此行!" '"第1/1页"
rt.Cells(0,3).Style.Font = New Font("微软雅黑", 7, FontStyle.Regular) '设置字体
rt.Cells(0,2).Text= "普通订单"
rt.Cells(0,2).Style.Font = New Font("微软雅黑", 12, FontStyle.Bold) '设置字体
rt.Cells(3,0).Text= 当前行("大头笔") '大头笔
rt.Cells(3,0).Style.Font = New Font("微软雅黑",20, FontStyle.Bold) '设置字体
rt.Cells(4,0).Text= 当前行("集包地") '集包地
rt.Cells(4,0).Style.Font = New Font("微软雅黑", 16, FontStyle.Bold) '设置字体
rt.Cells(4,2).Text= Date.Now
rt.Cells(4,2).Style.FontSize = 8 '字体大小为16磅
rt.Cells(5,1).Text= 当前行("收件人") & " " & 当前行("收件电话") '收件人 电话
rt.Cells(5,1).Style.Font = New Font("微软雅黑", 9, FontStyle.Bold) '设置字体
rt.Cells(6,1).Text= 当前行("收件省") & " " &当前行("收件市")& " " &当前行("收件区")& " " &当前行("收件地址") '收件地址
rt.Cells(6,1).Style.Font = New Font("微软雅黑",8, FontStyle.Regular) '设置字体
rt.Cells(5,0).Text= "收"
rt.Cells(5,0).Style.Font = New Font("微软雅黑", 14, FontStyle.Bold) '设置字体
rt.Cells(7,0).Text= "寄"
rt.Cells(7,0).Style.Font = New Font("微软雅黑", 14, FontStyle.Bold) '设置字体
rt.Cells(7,1).Text= 当前行("寄件人") & " "& 当前行("寄件电话") '寄件人电话
rt.Cells(8,1).Text= 当前行("寄件省")& " "&当前行("寄件市")& " "&当前行("寄件区")& " "&当前行("寄件地址") '寄件地址
rt.Cells(8,1).Style.Font = New Font("微软雅黑",8, FontStyle.Regular) '设置字体
rt.Cells(9,0).Text=自定义 '内件
rt.Cells(9,0).Style.Font = New Font("微软雅黑",8, FontStyle.Bold) '设置字体
rt.Cells(10,0).Text= "本次服务适用于中通官网(www.zto.com)公示的快递服务协议条款.您对此单的签收代表您已收到快件且包装完好无损."
rt.Cells(10,0).Style.Font = New Font("微软雅黑",6, FontStyle.Regular) '设置字体
rt.Cells(10,2).Text= 打印(2) '当前行(20) '退件标识
rt.Cells(10,2).Style.Font = New Font("微软雅黑",14, FontStyle.Bold) '设置字体
rt.Cells(4,3).Text= " 已验视 " & Chr(13) & Chr(10) & " 已实名"
rt.Cells(4,3).Style.Font = New Font("微软雅黑",9, FontStyle.Bold) '设置字体
rt.Cells(4,3).Style.GridLines.All = new Prt.LineDef(0.5,Color.Black) '设置网格颜色
Dim rg As New prt.RenderGraphics
Dim Bar As New BarCodeBuilder
Bar.Symbology = Barpro.Symbology.Code128
bar.Code = 当前行("运单编号") '条形码
rg = new prt.RenderGraphics
bar.DrawOnCanvas(rg.Graphics,0,0,1)
rt.Cells(2,0).RenderObject = rg '将单元格内容设置为图片对象rm
Dim rbc As New prt.RenderBarCode()
rbc.Height = 1
rbc.BarCodeType = BarCodeEnum.Code128
rbc.BarDirection = BarDirectionEnum.Up
rbc.Text = 当前行("运单编号")
rbc.ShowText = False
rt.Cells(5,3).RenderObject = rbc '将单元格内容设置为图片对象rm
doc.Body.Children.Add(rt) '将表格对象加入到报表中
Dim rt0 As prt.RenderText '定义一个文本对象
rt0 = New prt.RenderText '设置文本对象的内容
rt0.Text = 打印(2) '设置文本内容
rt0.Width = "115" '宽度等于页面宽度
rt0.Height = "245" '高度等于页面高度
rt0.Style.TextAlignHorz = prt.AlignHorzEnum.Center '水平居中对齐
rt0.Style.TextAlignVert = prt.AlignVertEnum.Center '垂直居中对齐
rt0.Style.Font = New Font("微软雅黑",14, FontStyle.Bold) '设置字体
rt0.Style.TextColor = Color.DarkSlateGray '文本颜色为灰色
Doc.WaterMark = rt0 '作为水印使用
Doc.PrinterName = Args(1)
Doc.Preview() '预览报表