Штрих-коды в SSRS

В настоящее время я использую SSRS 2012 и хочу внедрить штрих-коды в один из моих отчетов. Я читал в сети множество вещей о количестве проблем, которые возникают у людей при попытке сделать это, поэтому я бы разместил здесь и постараюсь избежать подводные камни.

Как я уже сказал, у меня установлен SSRS 2012, и у меня также есть несколько файлов TTF со штрих-кодом, которые нам нужно было использовать для чего-то еще. Мои вопросы: можно ли это использовать для преобразования моего 0100415332 в штрих-код, который можно сканировать? и куда мне нужно поместить эти файлы, я читал, что они должны идти в C: \ Windows \ Fonts на клиентской машине, но где на стороне сервера?

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

Любая помощь - это то, в чем я могу ошибиться, или что еще мне может понадобиться сделать, прежде чем приступить к этому, будет очень признательно.

Спасибо P


person PJD    schedule 04.09.2014    source источник
comment
Можно ли использовать сборку, генерирующую изображение, вместо шрифта TTF?   -  person Sébastien Sevrin    schedule 30.04.2015
comment
какой формат штрих-кода вы используете? code39? код 128? для разных форматов штрих-кодов требуются разные начальные и конечные символы.   -  person pancho018    schedule 08.09.2015
comment
Я использовал шрифт «3of9» в одном из своих отчетов - казалось, что он во многом зависит от считывающего устройства и качества принтера относительно того, можно ли считывать штрих-код или нет. Также я добился большего успеха при экспорте в PDF и печати из него, чем при печати прямо из IE.   -  person B.M.    schedule 28.09.2015
comment
@PJD, ты когда-нибудь решал это. У меня такая же проблема   -  person mark1234    schedule 05.01.2016


Ответы (1)


У вас должна получиться простая установка шрифта штрих-кода на сервере, который вы планируете использовать.
https://docs.microsoft.com/en-us/windows/desktop/gdi/font-installation-and-deletion

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

Public Function GetBarCode(InString as string)
Dim nSum As Decimal, i As Decimal, checkdigit as Decimal
Dim Checksum As Decimal, Checkchar As Decimal
Dim MyString As String, CVal As Decimal, sValues as string

sValues = "ä!" + chr(34) + "#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyzÂÃÄÅÆÇÈÉÊËÌÍ"
' Initialize running total with value of Subset B start character
nSum = 104

' Scan the string and add character value times position
For i = 1 To Len(InString) Step 1    
    MyString = Mid(InString, i, 1)
    ' Get the numeric value of the character and subtract 32 to shift (the space character, ASCII value 32, has a numeric value of 0 as far as Code 128 is concerned)
    CVal = instr(svalues,mystring)-1
    ' Add the weighted value into the running sum
    nSum = nSum + (CVal * i)
Next i
' Calculate the Modulo 103 checksum
Checksum = nSum Mod 103
if checksum = 0 then checksum = 174
' Now format the final output string: start character, data, check character, and stop character
MyString = "{" +  InString + right(left(sValues,Checksum),1) + "~"
MyString = Replace (MyString," ", "ä")
GetBarCode = MyString

End Function
person Frank Ball    schedule 15.11.2018