Foros del Web » Programando para Internet » PHP »

Error al generar Codigo de Barras y Header

Estas en el tema de Error al generar Codigo de Barras y Header en el foro de PHP en Foros del Web. Tengo el siguiente codigo que me genera un Codigo de Barras. si lo pongo solo. pero cuando lo pongo adentro de otra pagina hay un ...
  #1 (permalink)  
Antiguo 12/08/2010, 07:38
 
Fecha de Ingreso: noviembre-2009
Mensajes: 113
Antigüedad: 15 años
Puntos: 0
Error al generar Codigo de Barras y Header

Tengo el siguiente codigo que me genera un Codigo de Barras. si lo pongo solo.
pero cuando lo pongo adentro de otra pagina hay un choque con el header, y no funciona, o cuando le saco el header en vez de la imagen me aparece cantidad de letras raras.
Como hago para crear la imagen sin definir el Header.
Código PHP:
Ver original
  1. <?php
  2. // Define variable to prevent hacking
  3. define('IN_CB',true);
  4.  
  5. // Including all required classes
  6. require('class/index.php');
  7. require('class/FColor.php');
  8. require('class/BarCode.php');
  9. require('class/FDrawing.php');
  10.  
  11. // including the barcode technology
  12. include('class/code39.barcode.php');
  13.  
  14. // Creating some Color (arguments are R, G, B)
  15. $color_black = new FColor(0,0,0);
  16. $color_white = new FColor(255,255,255);
  17.  
  18. /* Here is the list of the arguments:
  19. 1 - Thickness
  20. 2 - Color of bars
  21. 3 - Color of spaces
  22. 4 - Resolution
  23. 5 - Text
  24. 6 - Text Font (0-5) */
  25. $code_generated = new code39(30,$color_black,$color_white,1,'999999',2);
  26.  
  27. /* Here is the list of the arguments
  28. 1 - Width
  29. 2 - Height
  30. 3 - Filename (empty : display on screen)
  31. 4 - Background color */
  32. $drawing = new FDrawing(1024,1024,'',$color_white);
  33. $drawing->init(); // You must call this method to initialize the image
  34. $drawing->add_barcode($code_generated);
  35. $drawing->draw_all();
  36. $im = $drawing->get_im();
  37.  
  38. // Next line create the little picture, the barcode is being copied inside
  39. $im2 = imagecreate($code_generated->lastX,$code_generated->lastY);
  40. imagecopyresized($im2, $im, 0, 0, 0, 0, $code_generated->lastX, $code_generated->lastY, $code_generated->lastX, $code_generated->lastY);
  41. $drawing->set_im($im2);
  42.  
  43. // Header that says it is an image (remove it if you save the barcode to a file)
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50. // esto crea la imagen, pero si lo habilito no me anda el resto de la pagina.
  51.  
  52. header('Content-Type: image/png');
  53.  
  54. // Esto genera la imagen, como hago para tomar esta imagen,  generada,  y meterla
  55. en una variable.
  56.  
  57. $drawing->finish(IMG_FORMAT_JPEG);
  58. ?>

Mi idea es poder mostrar ese codigo como en una boleta.
no se si lo puedo meter en una variable para luego usar esto.
que si veo imagen.

Código PHP:
Ver original
  1. print  "<tr><td><align='justify'><img src='$codiguito' width='280' height='210' ></fuztify></td>";

disculpen si pregunto cosas obias pero no se!!! y quiero aprender!

Última edición por Leogl; 12/08/2010 a las 07:53
  #2 (permalink)  
Antiguo 12/08/2010, 08:51
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 18 años, 1 mes
Puntos: 74
Respuesta: Error al generar Codigo de Barras y Header

Buenas,

Tu mismo lo dices, hay un choque con el header. Eso sucede porque estas enviando primero los datos y luego el header o cabecera.

Por tanto, antes de enviar cualquier cosa, debes de colocar primero el header

header('Content-Type: image/png');

y luego todo lo demás.

Saludos,
  #3 (permalink)  
Antiguo 12/08/2010, 09:10
 
Fecha de Ingreso: noviembre-2009
Mensajes: 113
Antigüedad: 15 años
Puntos: 0
Respuesta: Error al generar Codigo de Barras y Header

bien, pero, si pongo image/png sale solo la imagen? y el resto del contenido?
  #4 (permalink)  
Antiguo 12/08/2010, 09:13
 
Fecha de Ingreso: noviembre-2009
Mensajes: 113
Antigüedad: 15 años
Puntos: 0
Respuesta: Error al generar Codigo de Barras y Header

mira me sale este cumulo de cosa si pongo el header antes.!!!! o sea al arrancar el codigo
Código HTML:
Ver original
  1. <head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  2. <style type="text/css">
  3. <!--
  4. .Estilo18 {
  5.     font-size: 9px;
  6.     text-align: center;
  7. }
  8. .Estilo1 {
  9.     font-family: Verdana, Arial, Helvetica, sans-serif;
  10.     font-size: 10px;
  11.     text-align: right;
  12. }
  13. body tr td div table tr td {
  14.     font-family: Verdana, Geneva, sans-serif;
  15.     font-size: 7px;
  16. }
  17. .Estilo1 {
  18.     font-weight: bold;
  19. }
  20. bordes  {
  21.     font-weight: bold;
  22.     border-left-color: #FFF;
  23. }
  24. general   {
  25.     font-size: 12px;
  26.     text-align: center;
  27. }
  28. .Estilo18 .Estilo18 .Estilo18 {
  29.     font-size: 14px;
  30. }
  31. .Estilo18 .Estilo18 .Estilo18 {
  32.     font-weight: bold;
  33. }
  34. .centro {
  35.     text-align: center;
  36. }
  37. .centro {
  38.     text-align: left;
  39. }
  40. .centronuevo {
  41.     text-align: right;
  42. }
  43. .centrocentro {
  44.     text-align: center;
  45. }
  46. miniatura {
  47.     font-size: 9px;
  48. }
  49. .centro .Estilo1 .centronuevo .centronuevo .Estilo1 {
  50.     font-size: 8px;
  51. }
  52. .Estilo17 {font-size: 10px}
  53. #apDiv8 {
  54.     position:absolute;
  55.     width:478px;
  56.     height:175px;
  57.     z-index:2;
  58.     left: 286px;
  59.     top: 34px;
  60. }
  61. -->
  62. <title>Boleta</title></head>
  63. <script language="javascript" src="js/jquery-1.2.6.min.js"></script>
  64. <body onload="codigo()">
  65.  
  66.  
  67. <script language="JavaScript">
  68. function doPrint(){
  69. document.all.item("noprint").style.visibility='hidden'
  70. window.print()
  71. document.all.item("noprint").style.visibility='visible'
  72. }
  73. <div id=noprint>
  74.       <form name="insertar" method="post" action="">
  75.         <input type="button" class="Estilo18" onClick="window.close()"value="Cerrar"/>
  76.         <input type="button" class="Estilo18" onClick="javascript:doPrint()"value="Imprimir Boleta"/>
  77.       </form></div>
  78.     </td>
  79.   </tr>
  80.   <tr>
  81.     <td></td>
  82.     <td><div align="left"><span class="Estilo1">    </span>
  83.     <table width="685" border="1" cellpadding="0" cellspacing="0">
  84.       <tr>
  85.         <td width="325" height="27" rowspan="2"><p><img src="imagenes/logobi.jpg" alt="" width="326" height="72">
  86.  
  87.         </p></td>
  88.         <td width="344" bgcolor="#CCCCCC"><span class="Estilo1">Area:Cementerio - N-Comp:401</span></td>
  89.       </tr>
  90.       <tr>
  91.         <td>����JFIF��<CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 100
  92. &#65533;&#65533;C&#65533;&#65533;C&#65533;&#65533;+h"��  
  93. ���}!1AQa"q2&#65533;&#65533;&#65533;#B&#65533;&#65533;R&#65533;&#65533;$3br&#65533;
  94. &#37;&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz��������������������������������������������������������������������������� 
  95. ���w!1AQaq"2�B����   #3R�br�
  96. $4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533; ?&#65533;&#65533;g&#65533;&#65533;&#65533;&#65533;zw&#65533;&#65533;_&#65533;&#65533;&#65533;W&#65533;Qe&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;_&#65533;L&#65533;&#65533;|&#65533;&#65533;N&#65533;&#65533; &#65533;|&#65533;*&#65533;&#65533;,&#65533;&#1600;||&#65533;&#65533;u&#65533;&#65533;&#1384;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;    &#65533;&#65533;)&#65533;&#65533;&#65533;&#65533;d&#65533;&#65533;Y?&#65533;&#65533;&#65533;|L&#65533;&#65533;|&#65533;&#65533;N&#65533;&#65533; &#65533;&#65533;NO&#65533;H&#65533;&#65533;/&#65533;&#65533;'����W��>�ȍ�dـ4��
  97. ��+}��o3��+�����*��C��?#~`M?��k
  98. _���L��
  99. ��i�������P������Y|S�������T����Z��H��O�ϧ����?j��E��?0�ο�eM}������|d���,��NJ<m&#65533;'��r�����_���(}�����3�i��������k�6�����������~��>����O�����~����5ƀ>���*~���`R���G  ;_��y��?�����/��~#ʳ߱�����b��N���ß�l��?��&���Kb$���?M?0���c%sEI����`����K������g����zw��_��WQe����������_��d�ڞ��k/٧�����I�����/�����������������?!���?ax$ٿ����8�&�؟��hmj���m
  100.   ���������O��6���>6N��گ�/��w���U|����}/7^���:���5-_������?F��5G���K{i.~*x-x>&ξ�����''��Su��ad��+��d�ڞ��k/٧�����I�����/�����������������?!���?ax$ٿ����8�&�؟��hm?`;���w���I��f��¾Q _��|Go.��φ��?m��3^��  ����rLw��65���v��+;__��oou"����߶G��O`����W��6��<&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;qG&#65533;>?��g��ھ���D���n|G>|'��{��_��]W������)���� ����5T��h?O��kQ~2��� 5Kk_xG��>�����S��ʟ�TO~?Lj> o�༿<&#65533;A&#65533;o&#65533;,&#65533;&#461;&#65533;|`&#65533;&#65533;1&#65533;&#1919; ~|K&#65533;&#65533;&#65533;&#65533;&#65533;&#287;&#65533;(&#65533;M&#65533;&#65533;&#65533;|:&#65533;&#65533;&#65533;&#65533;&#65533;<m&#65533;&#65533;xw&#65533;>Ե?kznrU,)�ـ|��u��*k���-G��S'����ad��rW��ҿ������6$C��?ig��߱/    ��;J[QU犴����h���xf���~W������f��h�پ�g����cqm�¿E����s���j_���|:��hxKQ���g���_"��×�����ۏ�_�߱�z/�˯�Y_|��.��~��h��C���P��m'��r�����_��(}����3i��������k}���;������ਞ"���h @�� ��y~ ]����Yt|S������~)|$iN?5��> |Qe��  Eu��{����(�3��~���B��'~��GWCxU��h
  101. 3����������k������Z>����Y��7~%隝χ"���/_5Eмek<&#65533;&#65533;&#65533;  &#65533;&#9675;&#65533;&#65533;J&#65533;&#65533;&#65533;&#65533;Y&#65533;i&#65533;&#65533;&#65533;Y&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;
  102. Y&#65533;&#65533;&#65533;&#65533;'k������?�G����O�c%���W���b/�B��
  103. ���>
  104. ��ȟ����O~Po    ���-��/���LмUO.'�烼3��/ ��tx��O��u;:5����|=_<i&#65533;&#65533;]xo&#218;&#421;g&#65533;&#65533;&#65533;&#65533;&#65533;&#55244;&#65533;j&#65533;&#65533;&#961;&#65533;-m&#65533;G&#65533;o&#65533;&#65533;>|Y�닟��4
  105. w¾ ���?��ߴg|MM.����������v6b�����xO~sk������C�����   ��f��dh�����?���/>nu"~�� ��_A(xO7,[ÐxO^���<&#65533;Fx&#65533;&#65533;>&�X���z4/����㶳�jk��n~'[A��%\��(��(������i��ߵDŽ�c��ijm�؋������������٫�_5��Z'gOo~�������x'_����o⎟�~ UC~
  106. ��O��G��5����4��(%�ěٛMѿk��~���^,׿j x�������3X��Z7����r?�����������0w'����z>��k�&��i
  107. 5?Jo~?����=|���_~ўB���{����㶍���z__xV ���gştX<m&#65533;?&#65533;&#65533;x/&#65533;&#65533;&#65533;&#65533;6&#65533;&#65533;^i&#65533;A&#65533;? &#65533;&#65533;&#480;&#65533;kk&#65533;h&#2033;&#65533;_&#65533;&#963;^,&#65533;&#65533;&#65533;=&#65533;"~�����[x��_to�_
  108. t��^4�U�����7�>XN���> uŶ��hw��O3Erh:[Z~W��K���7��������>?fo���o)_(7��~����+OY[o��xg��ϋ������G�����w
  109. )?��_?_>�ٛ���l�����a��_/k����~ )|?��S>qO^������|
  110. ������|mI ��o������O�����=c?/x[�ſ�Z/��$'����'~&��  ���?���#��o��íW����E��E��×��??WG ���f��o��?���?d�ѿg��^�����3��_|?m?|vѾx/K���O
  111. ����[? ���}����G��[o:��F5��:<'��b�X�-m@? `�O������o��<=�O��x�b��no�h?�~���������9�3�?��ٿ��_�7�_�<�?�_W����>.aN^��io����٢��_w���
  112. ~_f
  113. ���|��[^,<&#65533;S&#6594;&#65533;&#65533;WR&#65533;U&#65533;&#65533;&#65533;h&#65533;&#65533;&&#65533;<=&#65533;]A&#65533;/<Ay&#65533;hZ&#65533;u&#65533;&#65533;Y&#616;&#65533;i&#65533;6&#65533;c5&#65533;&#65533;i&#65533;qC&#65533;QEQE&#65533;&#65533;&nbsp;</td>
  114.       </tr>
  115.       <tr>
  116.         <td height="3" colspan="2" bgcolor="#CCCCCC" class="centro">.</td>
  117.       </tr>
  118.       <tr>
  119.         <td height="3" colspan="2" class="centro">&nbsp;</td>
  120.       </tr>
  121.       <tr>
  122.         <td height="3" colspan="2" class="centro"><strong>N-Comp:</strong> 401 <br><strong>Area: </strong>Cementerio <br><strong>Cuota: </strong> <br><strong>IdPlanPago: </strong> <br><strong>Fecha: </strong> 08/08/2010 <br><strong>CUT: </strong> 3333<br><strong>Apellido: </strong> Lyzun88<br><strong>Nombre: </strong> Leo88 <br><strong>Domicilio: </strong> 666<br><strong>Comentario: </strong> <br></td>
  123.       </tr>
  124.       <tr>
  125.         <td height="4" colspan="2" class="centro">
  126. Id Bien: 1 <br><strong>Apellido y Nombre Difunto:</strong> americano kj <strong> DNI: </strong> 17 <br><strong>Tipo Fosa:</strong> kj <strong>Seccion: </strong>44 <strong>Fila:</strong> kj <strong>N:</strong> k <strong> Cuadro: </strong>jkj <br><br></td>
  127.       </tr>
  128.       <tr>
  129.         <td height="14" colspan="2" bgcolor="#CCCCCC" class="Estilo18">Detalle Boletas</td>
  130.       </tr>
  131.       <tr>
  132.         <td height="24" colspan="2">
  133. <table border = '1'>
  134. <tr><td><font size=2>id___</td><td><font size=2>Concepto_____________________________________________________________________________</td><td><font size=2>Cant____</td><td><font size=2>Import</td></font></tr>
  135. <tr><td><font size=1>art28-b</td><td><font size=2>Kg Carne Porc, Capr,Ovina Faena en matadero Mucip</td><td><p style='text-align:center'</p><font size=1>559</font></td></center><td><font size=1>8.944</font></a></td></tr>
  136. ----<tr><td><font size=2>100</td><td><font size=2>Gasto Administrativo</td><td><font size=1><p style='text-align:center'</p>1</td><td><font size=1><p style='text-align:center'</p>3</td></font></tr>
  137. </td>
  138.       </tr>
  139.       <tr>
  140.         <td colspan="2" class="Estilo1"><p>Importe Total: $ 11,94</p>
  141.           <p>&nbsp;</p>
  142.           <p>&nbsp;</p>
  143.           <p>&nbsp;</p>
  144.           <p>&nbsp;</p>
  145.           <p>&nbsp;</p></td>
  146.       </tr>
  147.       <tr>
  148.         <td colspan="2" class="centro"><span class="Estilo1"><span class="centronuevo"><span class="centronuevo"><span class="Estilo1">La presente Boleta solo es Valida si presenta Sello de Caja y los datos de la Tickeada corresponden a los de la boleta.</span></span></span></span></td>
  149.       </tr>
  150.     </table>
  151.     </div></td>
  152.   </tr>
  153. </body>
  #5 (permalink)  
Antiguo 12/08/2010, 09:15
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Error al generar Codigo de Barras y Header

Lo que pasa es que no puedes mezclar contenido binario (tu imagen) con contenido de texto (tu html) necesitas crear otro archivo PHP y llamarlo con un tag de img:
Código HTML:
Ver original
  1. <img src="archivo_que_genera_codigo_de_barras.php" />

Saludos.
  #6 (permalink)  
Antiguo 12/08/2010, 09:26
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 4 meses
Puntos: 1532
Respuesta: Error al generar Codigo de Barras y Header

tienes 2 opciones:
1-empaquetar el binario en una variable, el código que tienes devuelve una imagen, no puedes devolver html e imagenes a la vez en el mismo header content-type. (lo que te devuelve $drawing->finish(IMG_FORMAT_JPEG);, busca una opción para devolverlo a una variable) usando base64_encode, según esta pagina http://www.greywyvern.com/code/php/binary2base64 y lo embebes dentro del html, esta opción es poco recomendable.

2- RECOMENDABLE: el código que te genera la imagen es propicio para colocarlo en un archivo aparte (tal cual dice @GatorV), puede ser llamado getbarcode.php y le pasas por GET el texto que quieres que genere como código de barra, así solo lo incluyes en el html de la siguiente forma:

Código HTML:
Ver original
  1. <img alt="barcode" src="getbarcode.php?code=999999" />

y obviamente cambia esta línea:

Código PHP:
$code_generated = new code39(30,$color_black,$color_white,1,$_GET['code'],2); 
  #7 (permalink)  
Antiguo 12/08/2010, 09:27
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 18 años, 1 mes
Puntos: 74
Respuesta: Error al generar Codigo de Barras y Header

Mira, se me ha olvidado comentar en el primer mensaje que yo en su día también tenía problemas con este tema.

Así que aquí te dejo el post de aquel momento.
Hechale un vistazo y seguro que te guía o te soluciona directamente el problema :)

Post

Saludos,
  #8 (permalink)  
Antiguo 12/08/2010, 11:42
 
Fecha de Ingreso: noviembre-2009
Mensajes: 113
Antigüedad: 15 años
Puntos: 0
Respuesta: Error al generar Codigo de Barras y Header

ahi pruebo voy a ver que onda.
  #9 (permalink)  
Antiguo 12/08/2010, 11:48
 
Fecha de Ingreso: noviembre-2009
Mensajes: 113
Antigüedad: 15 años
Puntos: 0
Respuesta: Error al generar Codigo de Barras y Header

Gracias maicol y gator con eso pude solucionar.
y gracias defeer tambien!!!!

Etiquetas: barras, header
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:09.