2011-12-15 2 views
5

Я искал решения, и до сих пор лучшим, что я думаю для моего проекта, является использование бесплатного шрифта Code 39. Тем не менее, я пробовал печатать некоторые образцы, и сканеры штрих-кода не могут их прочитать.Barcode (код 39) поколение

Я исследовал немного больше и наткнулся на this.

Я напечатал штрих-коды Code 39, используя эту библиотеку, и это сработало отлично, сканеры могут их прочитать.

Проблема в том, что библиотека написана на C#, но не для ASP.net. Я пробовал играть с кодом, но это слишком сложно для моих основных знаний. Есть много функций, включенных в этот код библиотеки, и имеет много других типов штрих-кодов, что затрудняет анализ.

Существуют ли другие способы генерации штрих-кода Code 39? Библиотека в codeproject кажется немного сложной для моих требований.

+3

Вы уверены, что проблема с генератором? Сканеры штрих-кодов должны быть запрограммированы для приема различных типов штрих-кодов, и выше и выше, способность считывать штрих-код зависит от качества печати, а также гарантирует, что если изображение будет изменено, это будет сделано пропорционально. В какой-то момент купоны, которые мы предложили в Интернете, имели стандартный штрих-код UPC, но множество принтеров для клиентов были установлены на достаточно низкое качество, что тот же штрих-код работал только около 50% времени, поэтому мы отказались от использования их на нашем веб-сайте. Мы просто не можем контролировать настройки компьютера/принтера клиента. – David

+0

Привет, Я также пытался использовать несколько приложений для чтения штрих-кодов для мобильных устройств, и они все еще не могут прочитать штрих-код, созданный шрифтом free39. (http://www.squaregear.net/fonts/free3of9.shtml) Однако, когда я пытаюсь создать штрих-код, используя эту библиотеку (http://www.codeproject.com/KB/graphics/BarcodeLibrary.aspx), читатель приложение может его прочитать. –

+0

@PodMays Если вы печатаете штрих-коды из шрифта Code39 и из библиотеки, они выглядят точно так же? Оба изображения имеют острые края? – rsbarro

ответ

2

Во-первых, вы говорите, что библиотека не написана для ASP.NET, но если вы можете создавать изображения с ней, то проще всего написать HttpHandler, который сидит над поверхностью библиотеки и возвращает созданных изображений в браузере. Если это библиотека .NET, я не вижу причин, почему это не должно работать.

Это, как говорится, есть несколько вещей, чтобы обратить внимание при создании Code39 штрих-коды:

  1. Вы производите действительный Code39 штрих-кода (см другие ответы, штрих-код Code39 должен начинаться и заканчиваться *) ?
  2. Является ли штрих-код для печати достаточно острым для сканирования?

Для # 1, я бы проверил, чтобы изображения, которые вы печатали с вашего шрифта Code39, выглядели так же, как изображения из библиотеки. Если они есть, то качество изображения, вероятно, является проблемой.

Что касается №2, я успешно использовал бесплатный шрифт Code 39 с GDI + для создания изображений штрих-кода, которые затем отображал на страницах HTML для печати. Одна из проблем, с которыми я столкнулась при попытке сканирования напечатанных изображений штрих-кодов, заключалась в том, что изображения не были достаточно резкими (края линий штрих-кода были размыты) и не могли быть прочитаны сканерами.

Способ, которым я общался с изображениями низкого качества, заключался в создании большого изображения штрих-кода Code39 (скажем, 1000 x 400), а затем на теге <img>, который отображал этот штрих-код, я бы установил ширину в нечто гораздо меньшее, скажем, (200 пикселей или 2,0 дюйма). Я бы установил только ширину, высота будет масштабироваться пропорционально изображению. Это будет эффективно увеличивать DPI изображения при его печати, что позволяет нам создавать изображения штрих-кодов, которые можно легко отсканировать (особенно, если вы печатаете с использованием лазерного принтера).

EDIT

Почти забыл, одна другая хорошая практика, чтобы использовать при создании штрих кода, чтобы всегда печатать то, что вы Barcoding под изображением штрих-кода. Это ваш отказоустойчивый режим, если изображение штрих-кода не будет сканироваться по какой-либо причине. Вы можете увидеть пример этого, если вы посмотрите на любой стандартный символ UPC. Числа внизу - это именно то, что штрих-код будет читать при сканировании.

5

Сканеры штрих-кода требуют вашего кода 39 штрих-кодов для префикса и суффикса со звездочками для чтения. Пример: *12345*

+0

Это технически верно, но я нашел хотя бы одно медицинское устройство больничного класса, которое этого не знает, и вам нужно создать специально недействительные штрих-коды Code39 для сканирования. – Tremmors

+0

Спасибо за ввод, я поместил * в свой код. –

+0

это спасло меня некоторое время :) –