以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  请教:条码打印语句  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=114176)

--  作者:lanbor
--  发布时间:2018/1/30 23:18:00
--  请教:条码打印语句
如上图是在条码软件里面打印出来的样本,
纸张宽:30mm,高20mm, 正方型QRCode条码边长10mm,左边的”还料,柜号“为固定提示文本字符

----------以下是制作了一个按钮,输入的样本语句--------
Dim doc As New PrintDoc
Dim img As prt.RenderImage
Dim Bar As New BarCodeBuilder
Bar.Symbology = Barpro.Symbology.QRCode
Bar.BarRatio = 0.3
Bar.BarHeight = 20
Doc.Stacking = prt.StackingRulesEnum.InlineLeftToRight
bar.Code = e.Form.Controls("BarCode").text      \'输入条码内容字符“G2-1-1"
img = new prt.RenderImage
img.Image = bar.GetImage
Doc.Body.Children.Add(img)
Doc.Preview()
---------------要达到我的目的,还不会操作格式代码---

请教,以上代码还需要如何修改?
才能达到,只要向bar.code传送相应条码字符,
直接驱动打印机打印一枚上述格式条码

先谢谢专家!

[此贴子已经被作者于2018/2/1 21:05:07编辑过]

--  作者:有点甜
--  发布时间:2018/1/31 9:43:00
--  

Dim doc As New PrintDoc \'定义一个报表
Dim rt As New prt.RenderTable() \'定义一个表格对象
doc.Body.Children.Add(rt) \'将表格对象加入到报表中
\'rt.Style.GridLines.All = New prt.Linedef(Color.DarkGray) \'将表格的颜色设为深灰色
rt.Rows.Count = 2 \'设置行数
rt.Cols.Count = 2 \'设置列数
rt.Width = 30 \'设置表格的宽度
rt.Height = 30 \'设置表格的高度
Dim img As prt.RenderImage
Dim Bar As New BarCodeBuilder
Bar.Symbology = Barpro.Symbology.QRCode
Bar.BarRatio = 0.3
Bar.BarHeight = 20
bar.Code = "G2-1-1"
img = new prt.RenderImage
img.Image = bar.GetImage
rt.Cells(0,1).RenderObject = img \'将单元格内容设置为图片对象rm
rt.cells(0,0).text = "aaa"
rt.cells(1,0).text = "bbb"
rt.cells(1,1).text = "ccc"

Doc.Preview()


--  作者:lanbor
--  发布时间:2018/1/31 11:34:00
--  感谢专家详细指教,再请教。
感谢专家详细指教!
在之前我在条码生成器中,调整过:容错级别为:L,模组尺寸:0.6、上/下文本间距为:0
在批量打印参数中,纸张设置为:自定义型,:30、高20、上/下/左/右边距:0
才能基本从打印机打印出来。

再请教一下:
在代码中:如何操作上述参数?
参考之前的代码,预览时,是A4副面的纸,能打印,无法看到内容。
先谢谢专家!


[此贴子已经被作者于2018/1/31 11:38:24编辑过]

--  作者:有点甜
--  发布时间:2018/1/31 11:57:00
--  

1、生成条码,参考 http://www.foxtable.com/webhelp/scr/2092.htm

 

2、设置打印页面,参考

 

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

 

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

 


--  作者:lanbor
--  发布时间:2018/2/1 21:05:00
--  多谢专家一路指点,再请教!

图片点击可在新窗口打开查看此主题相关图片如下:bar01.jpg
图片点击可在新窗口打开查看
我用下面的代码,能实现上面的状态,并能正常打印
Dim doc As New PrintDoc \'定义一个报表
Dim rt As New prt.RenderTable()
Doc.PageSetting.Height=30
Doc.PageSetting.Width=20
doc.Body.Children.Add(rt)
Doc.PageSetting.LeftMargin = 1
Doc.PageSetting.RightMargin = 1
Doc.PageSetting.TopMargin = 1
Doc.PageSetting.BottomMargin = 1
\'rt.Style.GridLines.All = New prt.Linedef(Color.DarkGray) \'将表格的颜色设为深灰色
Dim img As prt.RenderImage
Dim Bar As New BarCodeBuilder
Bar.Symbology = Barpro.Symbology.QRCode
Bar.BarRatio = 0.2
bar.BarWidth= 25
Bar.BarHeight = 17
\'Bar.QRCodeErrorCorrectionLevel = Barpro.QRCodeErrorCorrectionLevel.L
\'Bar.QRCodeModuleSize = 0.7
\'Bar.Rotate = Barpro.Rotate.Degree90
bar.Code ="G2-99-99"
img = new prt.RenderImage
img.Image = bar.GetImage
rt.Rows.Count = 2
rt.Cols.Count = 3
rt.Width = 25
rt.Height = 17
rt.X=2
rt.Y=2
rt.Cells(0,1).SpanCols = 2
rt.Cells(1,1).SpanCols = 2 \'第2行第2个单元格向右合并2列  ’希望这条码图能占用这2列位置并居中放置
rt.cells(1,1).Style.TextAlignHorz=prt.AlignHorzEnum.Center 
rt.Cells(0,1).RenderObject = img
rt.Cells(0,1).RenderObject.Style.TextAlignHorz=prt.AlignHorzEnum.Center  ‘没有作用,不懂如何写
rt.cells(0,0).text = "取件"
rt.cells(1,0).text = "柜号:"
rt.cells(1,1).text = "G2-99-99" \'e.Form.Controls("BarCode").text
Doc.Preview()
\'-----------------------
请教:
如何设置能将 rt.Cells(0,1).RenderObject = img 这行的条码图居中打印?
先谢谢专家!

[此贴子已经被作者于2018/2/1 21:11:11编辑过]

--  作者:有点甜
--  发布时间:2018/2/1 21:12:00
--  

img.Style.ImageAlign.AlignHorz = prt.ImageAlignHorzEnum.Center \'图片水平居中
img.Style.ImageAlign.AlignVert = prt.ImageAlignVertEnum.Center \'图片垂直居中

rt.cells(0,1).Style.BackColor = color.red
rt.Cells(0,1).RenderObject = img \'将单元格内容设置为图片对象rm