以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  条码宽度  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=145189)

--  作者:刘林
--  发布时间:2020/1/11 12:34:00
--  条码宽度
 For r As Integer = 0 To Rows.Count -1
            Dim ra As New prt.RenderArea
            Dim rt As prt.RenderText
            ra.Width = 70 \'宽度53毫米
            ra.Height = 29.5 \'高度24毫米
            ra.Style.Spacing.All = 0
            ra.Style.Borders.All = New prt.Linedef(0, Color.Red) \'设置边框
            ra.SplitHorzBehavior = prt.SplitBehaviorEnum.Never \'禁止水平分割
            ra.SplitVertBehavior = prt.SplitBehaviorEnum.Never \'禁止垂直分割
            Doc.Body.ChildRen.Add(ra) \'将容器加入到报表中
            Dim rg As prt.RenderGraphics
            Dim Bar As New BarCodeBuilder
            Bar = New BarCodeBuilder
            Bar.Symbology = Barpro.Symbology.Code128
            BAR.DisplayCode = False
            Doc.Stacking = prt.StackingRulesEnum.InlineLeftToRight
            bar.Code = Rows(r)("考号")
            Bar.Text =Rows(r)("姓名") & "   " & Rows(r)("考号")
            Bar.BarRatio = 6
            Bar.BarHeight = 10
            Bar.TextAlignment = Barpro.Alignment.BelowCenter
            rg = new prt.RenderGraphics
            bar.DrawOnCanvas(rg.Graphics,2,2,1)
            rg.Style.Spacing.All = 0
            rg.y=10
            RG.Width=100
            ra.Children.Add(rg)
            
            
        Next


老师,我想做个考号条形码,条码的宽度调不到呢,我想把条码设置为58且居中,改宽度无效呢

--  作者:有点蓝
--  发布时间:2020/1/11 14:07:00
--  
Dim doc As New PrintDoc \'定义一个报表
For r As Integer = 0 To 2
    Dim ra As New prt.RenderArea
    Dim rt As prt.RenderText
    ra.Width = 70 \'宽度53毫米
    ra.Height = 29.5 \'高度24毫米
    ra.Style.Spacing.All = 0
    ra.Style.Borders.All = New prt.Linedef(1, Color.Red) \'设置边框
    ra.SplitHorzBehavior = prt.SplitBehaviorEnum.Never \'禁止水平分割
    ra.SplitVertBehavior = prt.SplitBehaviorEnum.Never \'禁止垂直分割
    Doc.Body.ChildRen.Add(ra) \'将容器加入到报表中
    Dim rg As prt.RenderGraphics
    Dim Bar As New BarCodeBuilder
    Bar = New BarCodeBuilder
    Bar.Symbology = Barpro.Symbology.Code128
    BAR.DisplayCode = False
    Doc.Stacking = prt.StackingRulesEnum.InlineLeftToRight
    bar.Code = "12345678"
    Bar.Text =("姓名") & "   " & ("考号")
    Bar.BarRatio = 6
    Bar.BarHeight = 10
Bar.BarWidth = 0.5
    Bar.TextAlignment = Barpro.Alignment.BelowCenter
    Dim rm As New prt.RenderImage
    rm.Image = Bar.GetImage
    rm.Style.ImageAlign.StretchHorz = False \'禁止图片水平拉伸
    rm.Width = "Parent.Width" \'宽度等于页面宽度
    rm.y = 8
    rm.Style.ImageAlign.AlignHorz = prt.ImageAlignHorzEnum.Center
    rm.Style.ImageAlign.AlignVert = prt.ImageAlignVertEnum.Center
    ra.Children.Add(rm)
Next

doc.Preview() \'预览

--  作者:刘林
--  发布时间:2020/1/12 6:55:00
--  

此主题相关图片如下:111.jpg
按此在新窗口浏览图片


此主题相关图片如下:12.jpg
按此在新窗口浏览图片




Dim img As Image = Image.FromFile("C:\\Users\\Administrator\\Desktop\\b1.jpg") ’图片地址哦!
Dim bmap As Bitmap
bmap = New Bitmap(img)
Dim source As New RGBLuminanceSource(bmap, bmap.Width, bmap.Height)
Dim bitmap As com.google.zxing.BinaryBitmap = New com.google.zxing.BinaryBitmap(New com.google.zxing.common.GlobalHistogramBinarizer(source))
Dim asd As new com.google.zxing.MultiFormatReader
Dim result As com.google.zxing.Result = asd.decode(bitmap)
MessageBox.Show(result.Text)

老师用例子中代码识别图片中二维码时,当有下面的字时识别就出问题,当裁剪掉文字就可以(虽然慢点),请老师有不改进办法实现混合也能识别
[此贴子已经被作者于2020/1/12 7:04:14编辑过]

--  作者:有点蓝
--  发布时间:2020/1/12 20:31:00
--  
我使用微信扫码可以识别哦。看看是不是扫描枪的问题。或者换个不同的编码,比如code39
--  作者:刘林
--  发布时间:2020/1/12 22:14:00
--  
老师,我用了手机扫码是可以,我现在的问题就是如果切图,将第一个图(含有下面文字)出错,第二个图就不出错,我现面就是如果有文字也不影响读出条码内容,code39试了,code93也试了还是不行,只要图片中含有文字就出错,请老师指导如何在有文字下可以识别二维码,我现在要达到的目的不是手机扫描,也不是扫描枪扫描,而是图片用上面代码识别出错
[此贴子已经被作者于2020/1/12 22:22:06编辑过]

--  作者:有点蓝
--  发布时间:2020/1/12 22:34:00
--  
没搞懂。什么切图?另外上面的是条形码,又和二维码有什么关系?
--  作者:刘林
--  发布时间:2020/1/13 8:24:00
--  
老师,请3楼的代码,分别测一下两个图片就知道问题了,我是在探索,网络阅卷,在试卷上固定位置读取条码信息(考号)
[此贴子已经被作者于2020/1/13 8:23:51编辑过]

--  作者:有点蓝
--  发布时间:2020/1/13 8:54:00
--  
这个是组件本身的问题,无法解决。试试截取图片的时候不要截取条码之外的文字。
--  作者:刘林
--  发布时间:2020/1/13 23:30:00
--  
我的问题就是只要取了条码之外的文字就出问题,我就是想请教如何实现即使有条码外文字也能识别
--  作者:有点蓝
--  发布时间:2020/1/14 8:33:00
--  
换个方式,比如百度AI开放平台接口https://ai.baidu.com/ai-doc/OCR/qk3h7y5o7

http://foxtable.com/bbs/dispbbs.asp?boardid=2&Id=139788

或者阿里云也有条码识别接口的