#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 просто удаление и создание того же параметра снова сработало по какой-то причине