Visual Studio RDLC 报告中的条码字体显示不正确

Visual Studio Incorrectly Displays Barcode Font In RDLC Reports

我有以下问题:我有一个 windows 表单应用程序,我可以在其中打印报告,并且报告上应该有条形码。当我在 .rdlc 文件设计器中时,条形码显示如下:

(我假设奇怪的划掉的圆圈来自方括号和 @ 符号,因为数据来自参数)。 所以当我打印出来时,一切都打印出来了,但问题是,我使用的条形码字体应该也有这样的文字:

现在,当我进入 Word 并输入相同的条形码字体(我三次检查它是否相同)时,它的行为符合预期 我找遍了所有地方,但除了 this one by Microsoft 它只是告诉我我需要那个 .dll 文件,但我已经找到它并且结果仍然相同。

更新:所以其他也有条形码的报告工作得很好,工作的条形码是:*1868210325S0000100004* , *S00001+000001+00004+FIEG0P01* , *EDG20210325000374570*

无效的条码:*JLI-0253932* 它从参数“liNumber”中获取值,该参数的填充方式如下:

parameters[6] = new ReportParameter("liNumber", "J" + fidelity.liNumber, true);

其中 fidelity.liNumber returns LI-0253932

但我不明白的是所有工作条形码都以类似的方式填充

像这样在两个 .cs 文件中重新创建参数

string jliNumber = "J" + fidelity.liNumber;
parameters[6] = new ReportParameter("liNumber", jliNumber, true);

然后在报告 .rdlc 文件中,出于某种原因再次删除和创建相同的参数有效

大多数时候我 运行 都是因为数据。条形码字体可能没有小写内容或特殊字符的值。

我会复制一份您的报告作为备份,复制详细信息,因为您在详细信息行之间有 space。在第二种情况下,将字体改回正常/简单的字体,如 Courier。然后再次打印报告。检查以正常字体与条形码字体打印的实际值。我敢打赌它们是 upper/lower / 特殊字符和 space 条形码中没有包含。

此外,每次 运行 报告时,将实际值写入文本文件并继续追加文本。然后,您可以在 Word 或任何编辑器中打开文本文件,select 所有文本,然后将字体更改为条形码。你得到同样糟糕的结果吗?