2011-12-21 1 views
1

enter image description here Для генерации штрих-кода в asp.net C# используется битмап-объект, который сохранил изображение в jpeg (также проверено изменение расширения изображения gif и dpi). Но проблема в том, что когда мы печатаем штрих-код, качество штрих-кода плохое (оно показывает печать затухания). Хотя качество печати «Zebra GK420» хорошее. Я сделал несколько R D в Google и использовал некоторые демо-файлы для штрих-кода, но проблема с качеством штрих-кода сохраняется. Вот фрагмент кода и выходной документ печати;asp.net C# Проблема с штрих-кодом

Bitmap objBmpImage = new Bitmap(192, 96); 
    Font CR10BP = new Font("Courier New", 10, FontStyle.Bold, GraphicsUnit.Pixel); 
    Font TR10NP = new Font("Times New Roman", 10, FontStyle.Regular, GraphicsUnit.Pixel); 
    Font ID12NP = new Font("IDAutomationHC39M", 12, FontStyle.Regular, GraphicsUnit.Point); 

    Graphics objGraphics = Graphics.FromImage(objBmpImage); 

    objGraphics.Clear(Color.White); 

    objGraphics.DrawString(line1, TR10NP, new SolidBrush(Color.Black), 10, 2); 
    objGraphics.DrawString(line2, TR10NP, new SolidBrush(Color.Black), 10, 12); 
    objGraphics.DrawString(line3, TR10NP, new SolidBrush(Color.Black), 10, 22); 

    objGraphics.TextRenderingHint = TextRenderingHint.SingleBitPerPixel; 

    objGraphics.DrawString(line4, ID12NP, new SolidBrush(Color.Black), 10, 36); 

    objGraphics.Flush(); 

    return objBmpImage; 
+0

Попробуйте BMP или PNG, gif и jpeg форматы с потерями. Кроме того, попробуйте неавтоматический метод для создания и печати штрих-кода, чтобы подтвердить, что это не настройки принтера/метод печати и т. Д. –

+1

Я всегда думал, что принтеры Zebra приняли строку ASCII для штрих-кода и сгенерировали сам образ штрих-кода. – ChrisBD

+0

@GeorgeDuckett: Я не думал, что GIF был потерян (если вам не нужно больше, чем 256 палитр). Хотя вы пишете о jpeg, и это, безусловно, вводит артефакты в изображении. – Chris

ответ

1

При попытке печати штрих-кодов от Zebra принтеров, вы лучше использовать ZPL сказать ему информацию о штрих-кода и с его визуализации на принтере. Это ZPL guide (открывается только для IE) для 420-дюймового принтера. Прочтите руководство о тексте, который вы отправляете на принтер, чтобы он работал. Вы можете отправить текстовый файл из командной строки, чтобы протестировать принтер, используя стандартные команды печати, поэтому вам не нужно постоянно перекомпилировать, когда вы изучаете язык.

Поскольку, похоже, вы используете шрифт 3of9, вы, вероятно, будете использовать^B3, который является командой 3 из 9 для ZPL. Что-то простое, как эта команда (пример из PDF), отобразит штрих-код:

^XA 
^FO100,100^BY3 
^B3N,N,100,Y,N 
^FD123ABC^FS 
^XZ 
+0

Keorner- Пожалуйста, исправьте меня, если я ошибаюсь. Я понял, отправляя текстовый файл для печати после написания этой строки кода в нем. И он установит шрифт принтера зебры и т. Д. –

+0

@zeshanahmad - Правильно. Вы можете печатать из командной строки (чтобы гарантировать, что никакие заголовки не добавляются такими программами, как блокнот), используя print/D: lpt1 filename.txt, где LPT1 является устройством для принтера. –

+0

@ Keorner- Не можем ли мы установить эти свойства принтера manully (щелкнув правой кнопкой мыши свойство принтера что-то подобное)? И выше скрипт написан на языке ZP, но как мы можем это сделать на C#? –

Смежные вопросы