Foxtable(狐表)用户栏目专家坐堂 → 关于条码打印的问题


  共有2159人关注过本帖树形打印复制链接

主题:关于条码打印的问题

帅哥哟,离线,有人找我吗?
top5522700
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:19 积分:384 威望:0 精华:0 注册:2017/9/27 17:57:00
关于条码打印的问题  发帖心情 Post By:2018/7/4 14:59:00 [只看该作者]

想打印条码 采用了专业报表的方式设计了标签,
但是直接打出来条码有锯齿,但是转换成PDF的话 打印出来的还是很清晰的,
专业报表里面可以有办法改善这方面的问题么,因为不想通过生成PDF的方式手动点选打印


图片点击可在新窗口打开查看此主题相关图片如下:上为打印报表打印下为pdf.jpg
图片点击可在新窗口打开查看

                Dim ID111 As String = e.Form.Controls("A031ID1").text
                Dim ID222 As String = e.Form.Controls("A031ID2").text
                
                Dim fl As String = "c:\data\test.pdf"
 
                Dim doc As New PrintDoc '定义一个报表
                doc.PageSetting.Width = 60 '纸张宽度为100毫米
                doc.PageSetting.Height = 40 '纸张高度为120毫米
                Dim art As New prt.RenderTable() '定义一个表格对象
                
                Doc.PageSetting.LeftMargin = 2 '设置左边距
                Doc.PageSetting.RightMargin = 2 '设置右边距
                Doc.PageSetting.TopMargin = 2 '设置上边距
                Doc.PageSetting.BottomMargin = 2 '设置下边距
                art.Width = "Parent.Width" '对象宽度等于页面宽度
                art.Height = "Parent.Height" '对象高度等于页面高度
                
                doc.Body.Children.Add(art) '将表格对象加入到报表中
                art.Rows.Count = 5 '设置行数
                art.Cols.Count = 5 '设置列数
                art.Rows(4).height = 5
                
                art.Cells(0,0).SpanCols = 2 
                art.Cells(0,2).SpanCols = 3 
                art.Cells(1,1).SpanCols = 4 
                art.Cells(2,0).SpanCols = 5
                art.Cells(3,0).SpanCols = 5
                art.Cells(4,0).SpanCols = 4
                
                art.cells(1,0).text = "型号:"
                art.Cells(1,0).Style.TextAlignHorz = prt.AlignHorzEnum.Center '水平居中
                art.Cells(1,0).Style.TextAlignVert = prt.AlignHorzEnum.Center '水平居中
                art.cells(4,0).text = "北京测试维修"
                art.Cells(4,0).Style.Font = New Font("宋体", 8 , FontStyle.Bold) '设置文本对象的字体
                art.cells(1,1).text = e.Form.Controls("A031PM").text
                art.cells(0,2).text = e.Form.Controls("A031ItemNo").text
                art.Cells(0,2).Style.TextAlignHorz = prt.AlignHorzEnum.Center '水平居中
                art.Cells(0,2).Style.TextAlignVert = prt.AlignHorzEnum.Center '水平居中
                
                Dim BarID1 As New BarCodeBuilder
                BarID1.Symbology = Barpro.Symbology.Code128
                BarID1.Code = ID111
                BarID1.QuietZoneWidth = 3
                BarID1.SaveImage("c:\ID111.bmp",1200)
                
                Dim BarID2 As New BarCodeBuilder
                BarID2.Symbology = Barpro.Symbology.Code128
                BarID2.Code = ID222
                BarID2.QuietZoneWidth = 3
                BarID2.SaveImage("c:\ID222.bmp",1200)
                
                Dim rm1 As New prt.RenderImage() '定义一个图片对象
                rm1.Image = GetImage("c:\ID111.bmp") '请改为实际的图标名称和路径
                
                rm1.Style.ImageAlign.AlignHorz = prt.ImageAlignHorzEnum.Center '图片水平居中
                rm1.Style.ImageAlign.AlignVert = prt.ImageAlignVertEnum.Center '图片垂直居中
                rm1.Style.ImageAlign.StretchHorz = False '禁止水平方向扩展图片
                rm1.Style.ImageAlign.StretchVert = False '禁止垂直方向扩展图片
                art.Cells(2,0).RenderObject = rm1 '将单元格内容设置为图片对象rm
                
                Dim rm2 As New prt.RenderImage() '定义一个图片对象
                rm2.Image = GetImage("c:\ID222.bmp") '请改为实际的图标名称和路径
                rm2.Style.ImageAlign.AlignHorz = prt.ImageAlignHorzEnum.Center '图片水平居中
                rm2.Style.ImageAlign.AlignVert = prt.ImageAlignVertEnum.Center '图片垂直居中
                rm2.Style.ImageAlign.StretchHorz = False '禁止水平方向扩展图片
                rm2.Style.ImageAlign.StretchVert = False '禁止垂直方向扩展图片
                'doc.Body.Children.Add(art) '将表格对象加入到报表中
                art.Cells(3,0).RenderObject = rm2 '将单元格内容设置为图片对象rm
                
                Dim rm3 As New prt.RenderImage() '定义一个图片对象
                rm3.Image = GetImage("2233__EXGX.jpg") '请改为实际的图标名称和路径
                rm3.Width = 20'宽度等于页面宽度
                rm3.Height = "Auto" '高度由图片大小自动决定
                rm3.Style.ImageAlign.AlignHorz = prt.ImageAlignHorzEnum.Center '图片水平居中
                rm3.Style.ImageAlign.AlignVert = prt.ImageAlignVertEnum.Center '图片垂直居中
                rm3.Style.ImageAlign.StretchHorz = True '禁止水平方向扩展图片
                rm3.Style.ImageAlign.StretchVert = True '禁止垂直方向扩展图片
                art.Cells(0,0).RenderObject = rm3 '将单元格内容设置为图片对象rm

                doc.AutoRotate = True
                doc.PageSetting.Landscape = True
                'doc.Print()
                doc.SavePDF(fl) '保存为PDF文件

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/4 15:58:00 [只看该作者]

用这种方式打印条码

 

http://www.foxtable.com/webhelp/scr/2093.htm

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
top5522700
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:19 积分:384 威望:0 精华:0 注册:2017/9/27 17:57:00
  发帖心情 Post By:2018/7/4 18:47:00 [只看该作者]

那在请教一下老师 这个功能我怎样做能将条形码添加在之前绘制的指定表格art.Cells(2,0)里
我这直接加的话 会变成两页标签 

Dim ccc As New prt.RenderGraphics()

Dim BarID1 As New BarCodeBuilder
BarID1.Symbology = Barpro.Symbology.Code128
BarID1.Code = ID111
BarID1.QuietZoneWidth = 3
BarID1.DrawOnCanvas(ccc.Graphics,0,0,1)


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/4 22:14:00 [只看该作者]

Dim doc As New PrintDoc '定义一个报表
Dim rt As New prt.RenderTable() '定义一个表格对象
doc.Body.Children.Add(rt) '将表格对象加入到报表中
rt.Style.GridLines.All = New prt.Linedef '设置网格线
'下面的代码向表格中填入值
rt.Cells(0, 0).text = 123

Dim ccc As New prt.RenderGraphics()
Dim BarID1 As New BarCodeBuilder
BarID1.Symbology = Barpro.Symbology.Code128
BarID1.Code = "3333"
BarID1.QuietZoneWidth = 3
BarID1.DrawOnCanvas(ccc.Graphics,0,0,1)
rt.cells(1,0).RenderObject = ccc

rt.Cells(2, 0).text = 765

doc.Preview() '预览报表


 回到顶部