Мне нужно создать штрих код, после чего его нужно импортировать в excel документ, или, хотя бы, сохранить его в базе данных, как картинку, что бы в последующем вывести в excel.
Порядок выполнения:
- пользователь заходит на сайт под своим логином
скачивает excel-файл, в котором сгенерирована нужная ему информация (информация генерируется для каждого пользователя разная)
в этом файле должен быть также сгенерированный штрих-код.
Спустя 49 минут, 44 секунды (4.08.2012 - 16:41) Семён написал(а):
Google:
php barcode class
Спустя 48 секунд (4.08.2012 - 16:42) Александр Мутылев написал(а):
Цитата (Семён @ 4.08.2012 - 14:41) |
Google:php barcode class |
ок, ща гляну срс)
Спустя 56 секунд (4.08.2012 - 16:43) Александр Мутылев написал(а):
Если можете, опишите процедуру по подробней. Заранее спасибо)
Спустя 5 минут, 48 секунд (4.08.2012 - 16:49) Семён написал(а):
Инструкция описана здесь:
http://barcode-coder.com/en/barcode-php-class-203.html
http://barcode-coder.com/en/barcode-php-class-203.html
Спустя 1 минута, 8 секунд (4.08.2012 - 16:50) Александр Мутылев написал(а):
Цитата (Семён @ 4.08.2012 - 14:49) |
Инструкция описана здесь: http://barcode-coder.com/en/barcode-php-class-203.html |
Спасибо, буду изучать.) если будут вопросы, напишу)
Спустя 20 минут, 48 секунд (4.08.2012 - 17:11) Александр Мутылев написал(а):
Цитата (Александр Мутылев @ 4.08.2012 - 14:50) | ||
Спасибо, буду изучать.) если будут вопросы, напишу) |
Все, я разобрался с генератором. и как его использовать на сайте. Но скажи, как результат (штрих-код) сделать рисунком, чтобы его можно было скачать по нажатию кнопки, либо вставить в excel.
Это выводит штрих-код:
<div align="center"> <div id="barcodeTarget" class="barcodeTarget"></div>
<canvas id="canvasTarget" width="150" height="150"></canvas></div>
<br />
Спустя 39 минут, 27 секунд (4.08.2012 - 17:50) Александр Мутылев написал(а):
Цитата (Семён @ 4.08.2012 - 14:49) |
Инструкция описана здесь: http://barcode-coder.com/en/barcode-php-class-203.html |
Дорогой Семен, спасай... что это за ошибка:
<b>Warning</b>: imagettfbbox() [<a href='function.imagettfbbox'>function.imagettfbbox</a>]: Could not find/open font in <b>F:\AppServ\www\shop\views\pages\order.php</b> on line <b>35</b><br />
<br />
<b>Warning</b>: imagettftext() [<a href='function.imagettftext'>function.imagettftext</a>]: Could not find/open font in <b>F:\AppServ\www\shop\views\pages\order.php</b> on line <b>38</b><br />
По-моему все подключил правильно. Я понимая, что что-то со шрифтами, но что именно? не мог бы ты прояснить ситуацию?
Вот код подключения:
<? include('Barcode.php'); ?>
<? Barcode::gd($res, $color, $x, $y, $angle, $type, $datas, $width = null, $height = null);
Barcode::fpdf($res, $color, $x, $y, $angle, $type, $datas, $width = null, $height = null);
array(
'width' => w,
'height'=> h,
'p1' => array('x' => x, 'y' => y),
'p2' => array('x' => x, 'y' => y),
'p3' => array('x' => x, 'y' => y),
'p4' => array('x' => x, 'y' => y)
);
$im = imagecreatetruecolor(300, 300);
$black = ImageColorAllocate($im,0x00,0x00,0x00);
$white = ImageColorAllocate($im,0xff,0xff,0xff);
imagefilledrectangle($im, 0, 0, 300, 300, $white);
$data = Barcode::gd($im, $black, 150, 150, 0, "code128", "12345678", 2, 50);
$box = imagettfbbox($fontSize, 0, $font, $data['hri']);
$len = $box[2] - $box[0];
Barcode::rotate(-$len / 2, ($data['height'] / 2) + $fontSize + $marge, $angle, $xt, $yt);
imagettftext($im, $fontSize, $angle, $x + $xt, $y + $yt, $blue, $font, $data['hri']);?>
Спустя 56 минут, 58 секунд (4.08.2012 - 18:47) Семён написал(а):
не может найти какойто шрифт
Спустя 20 минут, 5 секунд (4.08.2012 - 19:07) Александр Мутылев написал(а):
Цитата (Семён @ 4.08.2012 - 16:47) |
не может найти какойто шрифт |
Да, я понял, но в скачанном архиве есть папка со шрифтами... Помоги, пожалуйста... очень срочно нужно сделать
Спустя 3 часа, 59 минут, 25 секунд (4.08.2012 - 23:07) Семён написал(а):
Структуру папок не менял?
Спустя 42 секунды (4.08.2012 - 23:07) Александр Мутылев написал(а):
нет
Спустя 48 секунд (4.08.2012 - 23:08) Александр Мутылев написал(а):
Цитата (Семён @ 4.08.2012 - 21:07) |
Структуру папок не менял? |
нет
Спустя 2 минуты, 2 секунды (4.08.2012 - 23:10) Александр Мутылев написал(а):
Цитата (Александр Мутылев @ 4.08.2012 - 21:08) | ||
нет |
скажи, а моно barcod: prototip plagin экспортировать в excel? на том же сайте....
Спустя 12 минут, 32 секунды (4.08.2012 - 23:23) Семён написал(а):
как понять в экспортировать в эксель!?
на данном ресурсе могут помочь только советом, мой совет:
1) разобраться в этом классе (или найти другой)
2) разобраться как сохранять это в отдельный файл
3) если ты работал уже с xls через php, то вставить нужное изображение, если нет - искать в гугле php excel (готовый класс который на сколько я знаю это может PHPExcel)
на данном ресурсе могут помочь только советом, мой совет:
1) разобраться в этом классе (или найти другой)
2) разобраться как сохранять это в отдельный файл
3) если ты работал уже с xls через php, то вставить нужное изображение, если нет - искать в гугле php excel (готовый класс который на сколько я знаю это может PHPExcel)
Спустя 4 минуты, 26 секунд (4.08.2012 - 23:27) Александр Мутылев написал(а):
Цитата (Семён @ 4.08.2012 - 21:23) |
как понять в экспортировать в эксель!? на данном ресурсе могут помочь только советом, мой совет: 1) разобраться в этом классе (или найти другой) 2) разобраться как сохранять это в отдельный файл 3) если ты работал уже с xls через php, то вставить нужное изображение, если нет - искать в гугле php excel (готовый класс который на сколько я знаю это может PHPExcel) |
Остановился на пункте "2". я не знаю, как сделать из штрих-кода картинку. насколько я понял, этот скрипт отвечает за вывод:
<div id="barcodeTarget" class="barcodeTarget"></div>
<canvas id="canvasTarget" width="150" height="150"></canvas>
но как мне сделать картинку ума не приложу....
Спустя 14 часов, 47 минут, 10 секунд (5.08.2012 - 14:14) Александр Мутылев написал(а):
Скажите, как мне из этого кода сделать картинку, которую можно импортировать в excel?
Исходный код
<html>
<head>
<style>
* {
color:#7F7F7F;
font-family:Arial,sans-serif;
font-size:12px;
font-weight:normal;
}
#config{
overflow: auto;
margin-bottom: 10px;
}
.config{
float: left;
width: 200px;
height: 250px;
border: 1px solid #000;
margin-left: 10px;
}
.config .title{
font-weight: bold;
text-align: center;
}
#submit{
clear: both;
}
#barcodeTarget,
#canvasTarget{
margin-top: 20px;
}
</style>
<script src="prototype.js" type="text/javascript"></script>
<script src="prototype-barcode-2.0.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
function generateBarcode(){
$("barcodeTarget").update();
var value = $("barcodeValue").value;
var btypeGrp = document['forms']['form']['btype'];
for(i=0; i < btypeGrp.length; i++){
if (btypeGrp[i].checked == true) {
var btype = btypeGrp[i].value;
}
}
var rendererGrp = document['forms']['form']['renderer'];
for(i=0; i < rendererGrp.length; i++){
if (rendererGrp[i].checked == true) {
var renderer = rendererGrp[i].value;
}
}
var settings = {
output:renderer,
bgColor: $("bgColor").value,
color: $("color").value,
barWidth: $("barWidth").value,
barHeight: $("barHeight").value,
moduleSize: $("moduleSize").value,
posX: $("posX").value,
posY: $("posY").value,
addQuietZone: false
};
if ($("rectangular").checked){
value = {code:value, rect: true};
}
if (renderer == 'canvas'){
clearCanvas();
$("barcodeTarget").hide();
$("canvasTarget").show().barcode(value, btype, settings);
} else {
$("canvasTarget").hide();
$("barcodeTarget").update().show().barcode(value, btype, settings);
}
}
function showConfig( event ){
var element = Event.element(event);
if (element.id == 'datamatrix') {
$('barcode1D').hide();
$('barcode2D').show();
} else {
$('barcode1D').show();
$('barcode2D').hide();
}
}
function showConfigRenderer( event ){
var element = Event.element(event);
if (element.id == 'canvas') {
$('miscCanvas').show();
} else {
$('miscCanvas').hide();
}
}
function clearCanvas(){
var canvas = $('canvasTarget');
var ctx = canvas.getContext('2d');
ctx.lineWidth = 1;
ctx.lineCap = 'butt';
ctx.fillStyle = '#FFFFFF';
ctx.strokeStyle = '#000000';
ctx.clearRect (0, 0, canvas.width, canvas.height);
ctx.strokeRect (0, 0, canvas.width, canvas.height);
}
Event.observe(window, 'load', function() {
var btypeGrp = document['forms']['form']['btype'];
for(i=0; i < btypeGrp.length; i++){
$(btypeGrp[i].id).observe('click', showConfig);
}
var btypeRdr = document['forms']['form']['renderer'];
for(i=0; i < btypeRdr.length; i++){
$(btypeRdr[i].id).observe('click', showConfigRenderer);
}
$('ean8').click();
$('css').click();
});
$(function(){
$('input[name=btype]').click(function(){
if ($(this).attr('id') == 'datamatrix') showConfig2D(); else showConfig1D();
});
$('input[name=renderer]').click(function(){
if ($(this).attr('id') == 'canvas') $('miscCanvas').show(); else $('miscCanvas').hide();
});
generateBarcode();
});
</script>
</head>
<body>
<div id="generator">
<form id="form">
Please fill in the code : <input type="text" id="barcodeValue" value="12345670" />
<div id="config">
<div class="config">
<div class="title">Type</div>
<input type="radio" name="btype" id="ean8" value="ean8" checked="checked" /><label for="ean8">EAN 8</label><br />
<input type="radio" name="btype" id="ean13" value="ean13" /><label for="ean13">EAN 13</label><br />
<input type="radio" name="btype" id="std25" value="std25" /><label for="std25">standard 2 of 5 (industrial)</label><br />
<input type="radio" name="btype" id="int25" value="int25" /><label for="int25">interleaved 2 of 5</label><br />
<input type="radio" name="btype" id="code11" value="code11" /><label for="code11">code 11</label><br />
<input type="radio" name="btype" id="code39" value="code39" /><label for="code39">code 39</label><br />
<input type="radio" name="btype" id="code93" value="code93" /><label for="code93">code 93</label><br />
<input type="radio" name="btype" id="code128" value="code128" /><label for="code128">code 128</label><br />
<input type="radio" name="btype" id="codabar" value="codabar" /><label for="codabar">codabar</label><br />
<input type="radio" name="btype" id="msi" value="msi" /><label for="msi">MSI</label><br />
<input type="radio" name="btype" id="datamatrix" value="datamatrix" /><label for="datamatrix">Data Matrix</label><br /><br />
</div>
<div class="config">
<div class="title">Misc</div>
Background : <input type="text" id="bgColor" value="#FFFFFF" size="7" /><br />
"1" Bars : <input type="text" id="color" value="#000000" size="7" /><br />
<div id="barcode1D">
bar width: <input type="text" id="barWidth" value="1" size="3" /><br />
bar height: <input type="text" id="barHeight" value="50" size="3" /><br />
</div>
<div id="barcode2D">
Module Size: <input type="text" id="moduleSize" value="5" size="3" /><br />
Form: <input type="checkbox" name="rectangular" id="rectangular" /><label for="rectangular">Rectangular</label><br />
</div>
<div id="miscCanvas">
x : <input type="text" id="posX" value="10" size="3" /><br />
y : <input type="text" id="posY" value="20" size="3" /><br />
</div>
</div>
<div class="config">
<div class="title">Format</div>
<input type="radio" id="css" name="renderer" value="css" checked="checked" /><label for="css">CSS</label><br />
<input type="radio" id="bmp" name="renderer" value="bmp" /><label for="bmp">BMP (not usable in IE)</label><br />
<input type="radio" id="svg" name="renderer" value="svg" /><label for="svg">SVG (not usable in IE)</label><br />
<input type="radio" id="canvas" name="renderer" value="canvas" /><label for="canvas">Canvas (not usable in IE)</label><br />
</div>
</div>
<div id="submit">
<input type="button" onClick="generateBarcode();" value="Generate the barcode" />
</div>
</form>
</div>
<div id="barcodeTarget" class="barcodeTarget"></div>
<canvas id="canvasTarget" width="150" height="150"></canvas>
</body>
</html>
Спустя 1 час, 24 минуты, 57 секунд (5.08.2012 - 15:39) Игорь_Vasinsky написал(а):
чёт тебя циклит. делай break - когда задаёшь следующий вопрос.
картинки рисует GD библиотека PHP.
картинки рисует GD библиотека PHP.
Спустя 10 минут, 28 секунд (5.08.2012 - 15:50) Александр Мутылев написал(а):
Цитата (Игорь_Vasinsky @ 5.08.2012 - 13:39) |
чёт тебя циклит. делай break - когда задаёшь следующий вопрос. картинки рисует GD библиотека PHP. |
не, не циклит. просто, помощи нет(( как мне использовать библиотеку GB в данном коде. я не занимался этим.
Спустя 8 минут, 45 секунд (5.08.2012 - 15:58) Игорь_Vasinsky написал(а):
Так нужно использовать гугл, чтобы что то почитать, здесь не курсы по программированию. Нужно принимать непосредственное участие решение своего вопроса - чтобы остальные активно старались помочь.
есть раздел "Проекты" - выставляешь ТЗ + оговариваешь бюджет.
есть раздел "Проекты" - выставляешь ТЗ + оговариваешь бюджет.
Спустя 5 минут, 55 секунд (5.08.2012 - 16:04) Александр Мутылев написал(а):
Цитата (Игорь_Vasinsky @ 5.08.2012 - 13:58) |
Так нужно использовать гугл, чтобы что то почитать, здесь не курсы по программированию. Нужно принимать непосредственное участие решение своего вопроса - чтобы остальные активно старались помочь. есть раздел "Проекты" - выставляешь ТЗ + оговариваешь бюджет. |
Это тебе не магазин. Я уже написал проект и прошу его немножко поправить. если не хочешь помочь, зачем демагогию разводить?
Спустя 1 минута, 36 секунд (5.08.2012 - 16:06) Игорь_Vasinsky написал(а):
ааа. ну тогда удач. читал не внимательно видимо.
Спустя 1 минута, 1 секунда (5.08.2012 - 16:07) Александр Мутылев написал(а):
Цитата (Игорь_Vasinsky @ 5.08.2012 - 14:06) |
ааа. ну тогда удач. читал не внимательно видимо. |
ок)