首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ZXing生成条形码

使用ZXing生成条形码
EN

Stack Overflow用户
提问于 2020-06-16 21:58:01
回答 1查看 404关注 0票数 0

我是RDLC报告功能的新手,我希望从SQL数据库中的产品数据生成标签。当用户打开此产品/部件时,他们会看到相关信息。当用户单击一个按钮时,这将打开报告,该报告将把参数传递给报告以生成标签。

代码语言:javascript
复制
        Dim myparam As ReportParameter
        Dim testParameter As New List(Of ReportParameter)

        myparam = New ReportParameter("PartID", "Test")
        testParameter.Add(myparam)

        myparam = New ReportParameter("MRPID", "Test MRP")
        testParameter.Add(myparam)

        myparam = New ReportParameter("PartName", "Test Name")
        testParameter.Add(myparam)

        ReportViewer1.LocalReport.SetParameters(testParameter)

        Dim writer As New BarcodeWriter
        writer.Format = BarcodeFormat.CODE_128
        PictureBox1.Image = writer.Write(MRPID)

        Me.ReportViewer1.RefreshReport()

正如您所看到的,我正在使用XLing生成我的条形码,我已经成功地使用了上面看到的3行代码。但是,我不知道如何传递这个参数,或者在运行时在报告中生成这个参数。条形码将从MRPID ie(TV001232)生成。我知道这部分是错误的"writer.Write( MRPID )“,但我将参数值替换为MRPID,这样您就可以理解我想要实现的是什么。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-17 17:10:21

首先使用以下命令将您的图像转换为Base64字符串:

代码语言:javascript
复制
Public Function ImageToBase64(ByVal image As Image, ByVal format As System.Drawing.Imaging.ImageFormat) As String
    Dim base64String As String = ""
    Using ms As New System.IO.MemoryStream()
        image.Save(ms, format)
        Dim imageBytes As Byte() = ms.ToArray()
        base64String = Convert.ToBase64String(imageBytes)
    End Using
    Return base64String
End Function

所以这就是:

代码语言:javascript
复制
myparam = New ReportParameter("MRPID", "Test MRP")
testParameter.Add(myparam)

应该是这样的:

代码语言:javascript
复制
Dim writer As New BarcodeWriter
writer.Format = BarcodeFormat.CODE_128
myparam = New ReportParameter("MRPID", ImageToBase64(writer.Write(MRPID),<THE IMAGE FORMAT OF YOUR IMAGE>))
testParameter.Add(myparam)

然后,在您的报告中设置以下内容:

代码语言:javascript
复制
MIMEType = select the correct MIME type from the dropdown list
Source = Database
Value = <Expression>

在表达式窗口中:

代码语言:javascript
复制
=System.Convert.FromBase64String(Parameters!MRPID.Value)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62410268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档