Visual Studio Неправильно Отображает Шрифт Штрих-Кода В Отчетах RDLC

#c# #visual-studio #winforms #rdlc

Вопрос:

У меня следующая проблема: у меня есть приложение Windows form, в котором я печатаю отчеты, и на них должны быть штрих-коды. Когда я нахожусь в конструкторе файлов .rdlc, штрих-код отображается следующим образом: введите описание изображения здесь

(Странные перечеркнутые круги, которые я предполагаю, взяты из квадратных скобок и символа@, потому что данные поступают из параметра). Поэтому, когда я распечатываю это, все печатается нормально, но дело в том, что шрифт штрих-кода, который я использую, должен также содержать текст под этим: введите описание изображения здесь

Теперь, когда я вхожу в Word и набираю один и тот же шрифт штрих-кода (я трижды проверял, что он один и тот же), он ведет себя так, как и ожидалось, я осмотрел все вокруг, но нигде буквально нет сообщений, которые я мог бы найти, которые помогли бы мне, кроме этого, от Microsoft, Это просто говорит мне, что мне это нужно .dll-файл, но он у меня уже есть, и результаты все те же.

ОБНОВЛЕНИЕ: итак, другой отчет, в котором также есть штрих-коды, работает просто отлично, работают следующие штрих-коды: *1868210325S0000100004* , *S00001 000001 00004 FIEG0P01* , *EDG20210325000374570*

штрих-код, который НЕ работает: *JLI-0253932* он принимает значение из параметра «liNumber», который заполняется следующим образом:

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

куда fidelity.liNumber возвращается LI-0253932

Но чего я не понимаю, так это того, что все рабочие штрих-коды заполняются аналогичным образом

Комментарии:

1. в большинстве случаев я сталкивался с этим из-за данных. Шрифты штрих-кодов могут не иметь значения для содержимого нижнего регистра или специальных символов.

2. @DRapp его должен отображать что-то вроде этого: JLI-0253932 кажется ли какой-либо из этих персонажей виновником?

Ответ №1:

В большинстве случаев, когда я сталкивался с этим, это было связано с данными. Шрифты штрих-кодов могут не иметь значения для содержимого нижнего регистра или специальных символов.

Я бы сделал копию вашего отчета для резервного копирования, скопировал подробную информацию, так как у вас есть пробел между строками сведений. Во втором случае измените шрифт обратно на обычный / простой шрифт, например Courier. Затем распечатайте отчет еще раз. Проверьте, чтобы увидеть фактические значения, напечатанные обычным шрифтом, по сравнению с вашим шрифтом штрих-кода. Я бы поспорил, что это верхние/нижние / специальные символы и пробелы, которые НЕ включены в штрих-код.

Кроме того, каждый раз при запуске отчета записывайте фактические значения в текстовый файл и просто продолжайте добавлять текст. Затем вы можете открыть текстовый файл в Word или любом другом редакторе, выбрать весь текст, а затем изменить шрифт на штрих-код. Вы получаете такие же плохие результаты.

Ответ №2:

Воссоздание параметра в обоих файлах .cs следующим образом

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

а затем в файле report .rdlc просто удаление и создание того же параметра снова сработало по какой-то причине