以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求教,有关条码打印相关  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=20213)

--  作者:baoxyang
--  发布时间:2012/6/1 14:13:00
--  求教,有关条码打印相关

Dim doc As New PrintDoc() \'定义一个报表
doc.PageSetting.Width = 90 \'纸张宽度为90毫米
doc.PageSetting.Height = 50
Doc.PageSetting.LeftMargin = 5 \'设置左边距
Doc.PageSetting.RightMargin = 1 \'设置右边距
Doc.PageSetting.TopMargin = 1 \'设置上边距
Doc.PageSetting.BottomMargin = 1 \'设置下边距

 Dim ra As New prt.RenderArea \'定义一个容器

 Dim ra1 As New prt.RenderArea \'定义一个容器

        Dim rt As New prt.RenderTable() \'定义一个表格对象
        rt.CellStyle.Spacing.All = 1 \'单元格内容缩进1毫米
        rt.Style.Spacing.Bottom = 0 \'和下一个工资条的距离是3毫米
        rt.Rows.Count = 1 \'设置总行数
        rt.Cols.Count = 2 \'设置总列数
        rt.Height = 19 \'设置表格的高度
\'        rt.Width = "Auto"
        rt.Rows(0).Height = 73
        rt.Cols(0).Width = 70
        rt.Cols(1).Width = 380
        Dim ra1 As New prt.RenderArea \'定义一个容器
        ra1 = rt.Cells(0,0).Area

Dim Bar As New BarCodeBuilder
Bar.Symbology = Barpro.Symbology.Code128
Bar.BarHeight = 15
Bar.QuietZoneWidth = 2
\'Bar.BarWidth = 0.32
Bar.CodeAlignment = Barpro.Alignment.AboveCenter
Bar.TextAlignment = Barpro.Alignment.BelowCenter
Bar.Font = New Font("宋体",10.5)

Dim rm As New prt.RenderImage
rm.Width = 
"Auto" \'设置尺寸,这个尺寸最好和图表尺寸一致,以免打印出来的图表变形。
rm.Height =
"Auto"

rm.Image =  bar.GetImage
rm.Style.ImageAlign.StretchHorz =
False \'禁止拉伸
rm.Style.ImageAlign.StretchVert =
False
rm.Style.Spacing.Top =
3

ra1.Children.Add(rm) \'加入图片到RenderArea中

ra.Children.Add(rt) \'加入到容器中
doc.Body.Children.Add(ra)
\'将图片对象加入报表
doc.Preview()

 

出现结果是当\'Bar.BarWidth = 0.32
当值为默认值时打印出来的条码可以正常扫描,当改变值时打印不能扫描.用条码生成器生成就可以(宽度是一样)

请教,以上代码问题出在哪?


--  作者:狐狸爸爸
--  发布时间:2012/6/4 7:53:00
--  

这个真不清楚,你单独打印一个看看。

[此贴子已经被作者于2012-6-4 7:53:49编辑过]

--  作者:baoxyang
--  发布时间:2012/6/4 8:07:00
--  

我用EXCEL模板方式任意调整条码窄宽打印就可以,用专业报表默认条码窄宽可以,否则不行。这个是否跟图像变形了有关。这个如何防止?请高手指点!