点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中) 如果使用Crystal R...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中) 如果使用Crystal R...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
如果使用Crystal Reports创建条形码并将其输出为PDF,则条形码扫描仪将正常识别条形码。
但是,导出到Word时,条形码扫描仪无法识别条形码。
即使您查看输出,Word和PDF中的条形码结果也不同。
我正在使用Visual Studio 2008,Crystal Report产品版本为11.5.12.1838。
Windows 7、10出现相同的现象。
字体使用CCodeI2of5_S4。
导出到word时,我找不到条形码输出问题的解决方案。
'============================================ ====================
'Encode_I2of5
将Dim数据作为字符串
将Dim chk作为Number
'替换 " 12345678",其中的数据字段为
data =" 12345678"
'将Check Digit设置为0或1
chk = 0
Dim结果作为字符串
Dim 数据长度为Number
Dim条码字符作为字符串
Dim条码值作为Number
Dim过滤数据为String
Dim过滤长度为数字
Dim transformdata字符串为
Dim cd as 字符串
Dim x作为数字
Dim z作为数字
cd =""
transformdata =""
结果=""
datalength = Len(data )
'过滤器输入
对于x = 0到数据长度-1
条码字符= Mid(数据,x + 1,1,)
如果AscW(条码字符) <= AscW(" 9")和AscW(" barchar")> = AscW(" 0")然后
结果=结果+条码字符
如果
下一步x
< br> filtereddata =结果
filteredlength = Len(filtereddata)
'编码
如果chk = 1然后
如果filteredlength> 253然后
filtereddata = Left(filtereddata,253)
结束If
如果(Len(filtereddata)Mod 2 = 0)然后 '使位数为奇数
filtereddata =" 0" + filtereddata
结束If
Dim generateCheckDigit_I2of5 as字符串
Dim切换为数字
Dim sumx为数字
Dim lastcharpos作为数字
Dim ResultVal作为数字
条码字符=""
条码值= 0
切换= 1
sumx = 0
generateCheckDigit_I2of5 =""
lastcharpos = Len(filtereddata)-1
对于x = lastcharpos至0步骤-1
条码字符= Mid(filtereddata,x + 1,1)
条码值=(AscW( 条码字符)-48)
如果切换= 1然后
sumx = sumx +(条码值* 3)
切换= 0
其他
sumx = sumx +条码值
切换 = 1
结束如果
下一个x
如果((sumx Mod 10)= 0)则
ResultVal = AscW(" 0")
其他
ResultVal =( 10-(sumx Mod 10))+ AscW(" 0")
结束于
generateCheckDigit_I2 of5 = Chr(ResultVal)
cd = generateCheckDigit_I2of5
其他
如果filteredlength> 254然后
filtereddata = Left(filtereddata,254)
如果If
< br> If(Len(filtereddata)Mod 2 = 1)然后'使它为偶数位数
filtereddata =" 0" + filtereddata
结束If
结束If
已过滤数据=已过滤数据+ cd
Dim getI2of5Character as string
Dim inputvalue as Number
Dim num as number
结果=""
num = 0
对于x = 0到Len(filtereddata)-1步骤2
num = Val(Mid(filtereddata,x + 1,2))
getI2of5Character =""
inputvalue = num
如果(inputvalue <= 90)And(inputvalue> = 0)然后
inputvalue = inputvalue + 32
ElseIf(inputvalue <= 99)And(inputvalue> = 91)然后
输入值=输入值+ 100
其他
输入值= -1
结束If
getI2of5Character = Chr(输入值)
结果=结果+ getI2of5Character
下一页x
结果=" {" +结果+"}"
公式=结果
CR 11.5,只有VS随附的是CR Basic(版本10.5)。
或者CR 2008可以与VS 2008一起使用。
要升级到仅支持的.NET SDK,请转到此处,要求VS 2010-> 2017:
https: //wiki.scn.sap.com/wiki/display/BOBJ/Crystal+Reports%2C+Developer+for+Visual+Studio+Downloads
现在出现字体问题,我从此链接下载该字体:
https://en.m.fontke.com/font/22430464/download /
我得到相同的结果,导出为PDF可以扫描条形码。 我有一台扫描仪进行测试。 我在CRD中使用了您的公式来生成条形码。
导出到Word并查看并打印出来,条形码的末尾附加了一些额外的条。
所以我导出到可以扫描的PDF。 然后,我从PDF Writer将报告导出到Word,Word再次在条形码的末尾添加了一些额外的字符。
所以这不是CR问题,请与Microsoft联系并让他们解决此Font问题。
唐
一周热门 更多>