Перейти к содержимому


Barcode EAN-13 - Rails


  • Закрытая тема Тема закрыта
Сообщений в теме: 2

#1 Ulquiorra

Ulquiorra

    4th Espada

  • Сообщений 1326
  • Торрентов 149
  • Длинный нос 2010
  • ГородLas Noches, Hueco Mundo

Отправлено 11 Июль 2014 - 13:37

Собственно ..
Barcode, он же штриховой код (штрихкод) -  http://en.wikipedia.org/wiki/Barcode
EAN-13 - стандарт штрихкода (из названия можно сообразить, что состоит из 13 символов) - http://ru.wikipedia...._Article_Number

Требуется:
В Ruby on Rails запостить данный штрихкод + вывести под него числа

Пока тестово используется X-Barcode - http://girliemac.com/x-barcode/

<x-barcode code="1234567890123" color="black"></x-barcode>

В него без особых проблем передаются нужные числа ..
Проблема - на некоторых браузерах он не отображается + есть проблемы с его печатью

В поисках замены X-Barcode на что-то другое, кто пользовался - поделитесь
п.с. находил Barby Barcode - http://toreto.re/barby/ , но вставить его нормально не смог - то ли он не подходит, то ли руки не из того места - если кто пользовался им, объясните, как :)

#2 Ulquiorra

Ulquiorra

    4th Espada

  • Сообщений 1326
  • Торрентов 149
  • Длинный нос 2010
  • ГородLas Noches, Hueco Mundo

Отправлено 11 Июль 2014 - 15:54

Найден условно-рабочий http://www.barcodere...mlBarcode.shtml

В комплекте прилагается JS - connectcode-javascript-ean13.js и код для запуска:

<div id="barcode">1234567890123</div>

 function get_object(id) {
		var object = null;
		if (document.layers) {
			object = document.layers[id];
		} else if (document.all) {
			object = document.all[id];
		} else if (document.getElementById) {
			object = document.getElementById(id);
		}
		return object;
	}

	get_object("barcode").innerHTML = DrawHTMLBarcode_EAN13(get_object("barcode").innerHTML, "yes", "in", 0, 2.5, 1, "bottom", "center", "", "black", "white");

Вопрос: как уменьшить его размер в CSS, размер div'a ему не важен, расползается поверх

#3 Ulquiorra

Ulquiorra

    4th Espada

  • Сообщений 1326
  • Торрентов 149
  • Длинный нос 2010
  • ГородLas Noches, Hueco Mundo

Отправлено 17 Июль 2014 - 02:31

Собственно, решилось через Barby Barcode EAN-13 :sleep2:

Устанавливаем гемы:

$ gem install barby
$ gem install chunky_png
$ bundle install

Вписываем гемы в gemfile:

gem 'barby'
gem 'chunky_png'

Объявляем функции в контроллере:

require 'barby/barcode/ean_13'
require 'barby/outputter/png_outputter'

def print
  @barcode_num = @routelist.block_start.to_s.rjust(12, '0')
  @barcode = Barby::EAN13.new(@barcode_num)
  data_binary = @barcode.to_png({:height => 30, :margin => 0})
  @data_base64 = Base64.encode64(data_binary).gsub("\n","")
end

Выводим картинку и код во вьюхе:

<div class="col-xs-4">
  <object align="center" width="" height="30" data="data:image/png;base64,<%= @data_base64  %>"></object>
  <br>
  <object style="margin-left: 3px"><%= @barcode.to_s %></object>
</div>

Получаем:

Изображение




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных