.net создание штрих-кода
Я занимаюсь разработкой веб-приложения для генерации штрих-кода с использованием asp.net/c#, мне было интересно, лучше ли использовать библиотеку штрих-кодов или достаточно шрифта штрих-кода. Я сталкивался с некоторыми примерами, но при использовании шрифта штрих-кода я обнаружил, что есть звездочка (*) перед каждым кодом, используемым для создания штрих-кода. И я не найду никаких бесплатных библиотек штрих-кодов. Я хочу сгенерировать код 39 или 93. Пожалуйста, помогите мне решить
3 ответа
По моему опыту, библиотеки, которые генерируют штрих-коды с помощью графических примитивов, таких как прямоугольники, намного превосходят шрифты штрих-кодов. Причины:
- Шрифты намного больше, часто на порядки, и их передача занимает намного больше времени. Это особенно проблематично для последовательных соединений.
- Производимые шрифты штрих-кодов зачастую менее точны, поскольку принтеры могут пытаться сглаживать столбцы.
- Шрифты подвержены таким вещам, как стили, перенос слов, замена шрифтов и другие эффекты, которые затрудняют их управление.
Есть много бесплатных библиотек изображений штрих-кодов. Если вы не нашли ничего, вы бы выглядели не очень хорошо.
Штрих-код 3 из 9 требует защитных полос в начале и конце кода, чтобы сканер знал, где код начинается и заканчивается. При печати легенды для кода 3 из 9 эти защитные полосы традиционно отображаются в виде звездочек. Эти звездочки предназначены только для людей, читающих легенду, они не являются частью кода и фактически звездочка не является юридическим кодом 3 из 9 символов. Если вы удалите защитные полосы, сканер не сможет прочитать штрих-код.
Вот метод расширения, который я использую, который не требует установки шрифта:
public static Image GetBarCode(this string data, int fontSizeEm)
{
data = "*" + data + "*";
Image img = null;
Graphics drawing = null;
try
{
using (var pfc = new PrivateFontCollection())
{
pfc.AddFontFile(@"{{PATH TO YOUR FONT FILE}}");
using (var myfont = new Font(pfc.Families[0], fontSizeEm))
{
img = new Bitmap(1, 1);
drawing = Graphics.FromImage(img);
var textSize = drawing.MeasureString(data, myfont);
img.Dispose();
drawing.Dispose();
img = new Bitmap((int) textSize.Width, (int) textSize.Height);
drawing = Graphics.FromImage(img);
drawing.DrawString(data, myfont, new SolidBrush(Color.Black), 0, 0);
}
drawing.Save();
}
return img;
}
catch
{
//Handle exception
return null;
}
finally
{
if(drawing!= null)
drawing.Dispose();
}
}
Попробуй jquery-штрихкод
Это библиотека JavaScript для создания штрих-кодов. Проверьте этот вопрос для других альтернатив.