现在能打印了,可能是刚才是超出了页面打印范围,
单现在打印出来的是竖着的,在帮我看下是的代码有问题
现在我修改后的代码是这样的
Dim txt1 As String = e.Form.Controls("TextBox1").Text '定义变量,用于手动输入打印数量
Dim cmb1 As String = e.Form.Controls("ComboBox1").Text '定义变量,用于手动选择打印机
Dim doc As New PrintDoc
doc.PageSetting.Width = 105 '纸张宽度为200毫米
'doc.PageSetting.Height = 170 '纸张高度为170毫米
DoC.PageSetting.LeftMargin = 2 '设置左侧边距为2毫米
DoC.PageSetting.RightMargin = 2 '设置右侧边距为2毫米
DoC.PageSetting.TopMargin = 2 '设置顶部边距为2毫米
doc.PageSetting.Landscape = False '禁止横向打印
'doc.AutoRotate = False '如果纸张的宽度超过高度,要加上这行代码
Dim rg As prt.RenderGraphics
Dim Bar As New BarCodeBuilder
Bar.Symbology = Barpro.Symbology.Code128
Bar.BarWidth = 0.25 '窄条宽度
Bar.BarRatio = 2.3 '设定宽窄比例
Bar.BarHeight = 5 '设定条码高度
Bar.QuietZoneWidth = 2 '静区宽度
Dim t As Table = Tables("ShangPinXiangXiZiLiao") '指定数据来源表
Dim ra As prt.RenderArea
For i As Integer = t.TopPosition To t.BottomPosition
Dim r As Row = t.Rows(i)
For j As Integer = 0 To val(txt1) - 1 '指定每行打印数量
If j Mod 3 = 0 Then
ra = new prt.RenderArea
Doc.Body.Children.Add(ra)
End If
bar.Code = r("ShangPinXiangXiZiLiao_ShangPinHuoHao") '指定条码数据来源列
Bar.QuietZoneWidth = 2
Bar.CodeAlignment = Barpro.Alignment.BelowJustify
Bar.Text = "BOBOYA ¥" & r("ShangPinXiangXiZiLiao_LingShouJia") & "元" '指定条码上方文本说明
Bar.TextAlignment = Barpro.Alignment.AboveLeft
rg = new prt.RenderGraphics
bar.DrawOnCanvas(rg.Graphics,0,0,1)
' rg.Style.Spacing.All = 1
ra.Stacking = prt.StackingRulesEnum.InlineLeftToRight
ra.Style.TextAlignHorz = prt.AlignVertEnum.Center 'prt.AlignHorzEnum.Center
ra.Style.Spacing.Bottom = 2 '设置下间隔为3毫米
ra.Style.Spacing.Right = 5 '设置右间间隔毫米
ra.Style.Spacing.Left = 3 '左边距
ra.Children.Add(rg)
Next
Next
Doc.PrinterName = cmb1 '指定打印机
'Doc.Preview() '打印预览
Doc.Print '直接打印
此主题相关图片如下:20140925_1920391.jpg

上面是想要实现的效果,下面是现在的效果
[此贴子已经被作者于2014-9-25 19:22:25编辑过]