• Publicidad

[Barcode::Code128] Problema para separaración entre carácter

Aquí encontrarás todo lo que sea específicamente acerca de módulos de Perl. Ya sea que estás compartiendo tu módulo, un manual o simplemente tienes una duda acerca de alguno.

[Barcode::Code128] Problema para separaración entre carácter

Notapor reLlene » 2012-12-14 09:15 @427

Quiero que el código (literal) que se muestra debajo de las barras se expanda (que ocupe el largo de todas las barras, de punta a punta) y no logro hacerlo con ayuda de las características del módulo :?

Imagen

Cómo pueden ver en la documentación del módulo, las características me permiten los siguientes cambios:

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
font       "large"   Font (**) for the text at the bottom
font_margin   2      Pixels above, below, and to left of the text
font_align  "left"   Align the text ("left", "right", or "center")
 
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


Pero claro, con ninguno de éstos se logra.

NOTA: éste modulo depende del GD para la generación de dicha imagen, busqué por aquí pero es que me parece que la posibilidad de lograr lo que quiero es NULA :?

¿ Alguien me puede socorrer ? :(

Un saludo.
Sexo : unzip ; strip ; touch ; grep ; finger ;mount ; fsck ; more ; yes ; umount ; sleep.
Avatar de Usuario
reLlene
Perlero nuevo
Perlero nuevo
 
Mensajes: 97
Registrado: 2012-06-04 07:16 @344

Publicidad

Re: [Barcode::Code128] Problema para separaración entre cará

Notapor explorer » 2012-12-14 10:50 @493

Se podría cambiando el tipo de letra (font), para elegir uno de tamaño más grande.

GD trae seis fuentes de letras, y veo que no estás usando la más grande, que se llama 'giant'.

Según la documentación de GD, se pueden usar más si la biblioteca libgd fue compilada con soporte para las fuentes de letras TrueType, y en ese caso, hay que usar el método stringFT().

Pero...

Viendo el ancho del código de barras, deberás aumentar mucho el tamaño de las letras, casi tanto como la mitad de alto del propio código de barras... ¿seguro que quieres hacer eso?

Vamos a ver... el código de barras lo va a leer una pistola laser. ¿Para qué quieres hacer más grande el código? ¿Es que lo va a leer una persona?

En los supermercados, hay ocasiones en los que el lector de códigos de barras no es capaz de entender el código, porque el producto está mal etiquetado, doblado, chafado o más envuelto. En ese caso la cajera mete el código a mano. Y lo puede hacer fácil porque son apenas diez dígitos.

Otra opción... prueba a reducir el ancho de la imagen generada (parámetro width).

Otra opción... métete en el código del módulo Barcode::Code128 y en las líneas que piden a GD renderizar el texto inferior, lo modificas para insertarle espacios en blanco antes de hacer la llamada a GD. Así saldrá más ancho. Por ejemplo, en grupos de 4 dígitos.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: [Barcode::Code128] Problema para separaración entre cará

Notapor reLlene » 2012-12-14 11:09 @506

explorer escribiste:Se podría cambiando el tipo de letra (font), para elegir uno de tamaño más grande.

GD trae seis fuentes de letras, y veo que no estás usando la más grande, que se llama 'giant'.


Sí, así lo he puesto, solo que ese texto lo cité de la documentación del módulo.

explorer escribiste:Viendo el ancho del código de barras, deberás aumentar mucho el tamaño de las letras, casi tanto como la mitad de alto del propio código de barras... ¿seguro que quieres hacer eso?

Vamos a ver... el código de barras lo va a leer una pistola laser. ¿Para qué quieres hacer más grande el código? ¿Es que lo va a leer una persona?

En los supermercados, hay ocasiones en los que el lector de códigos de barras no es capaz de entender el código, porque el producto está mal etiquetado, doblado, chafado o más envuelto. En ese caso la cajera mete el código a mano. Y lo puede hacer fácil porque son apenas diez dígitos.

Otra opción... prueba a reducir el ancho de la imagen generada (parámetro width).


A propósito tiene ese tamaño porque por tratarse de un código de 42 caracteres el tamaño MÍNIMO que puede tener son unos 532px de ancho (su alto es un 15% de su ancho según la documentación del Barcode::Code128) y que yo LUEGO los redimensiono (para que se vea más chico) desde los atributos del tag IMG en una plantilla donde éste se embebe al HTML directo.

De todas formas repito, no se trata de lo GRANDE que se vea el código sino sólo estirar el código porque así me lo han pedido ¬¬ para que luego se haga fácil el ubicar este código en caso de que el lector no lea las barras. Vuelvo a repetir, es un detalle del que yo no comparto pero bueeeeeno. :x

explorer escribiste:Otra opción... métete en el código del módulo Barcode::Code128 y en las líneas que piden a GD renderizar el texto inferior, lo modificas para insertarle espacios en blanco antes de hacer la llamada a GD. Así saldrá más ancho. Por ejemplo, en grupos de 4 dígitos.


Me parece que, esta última que me has brindado, es la única solución. :?
Sexo : unzip ; strip ; touch ; grep ; finger ;mount ; fsck ; more ; yes ; umount ; sleep.
Avatar de Usuario
reLlene
Perlero nuevo
Perlero nuevo
 
Mensajes: 97
Registrado: 2012-06-04 07:16 @344

Re: [Barcode::Code128] Problema para separaración entre cará

Notapor explorer » 2012-12-14 12:36 @566

reLlene escribiste: A propósito tiene ese tamaño porque por tratarse de un código de 42 caracteres el tamaño MÍNIMO que puede tener son unos 532px de ancho (su alto es un 15% de su ancho según la documentación del Barcode::Code128) y que yo LUEGO los redimensiono (para que se vea más chico) desde los atributos del tag IMG en una plantilla donde éste se embebe al HTML directo.

Bueno, pues entonces pones el scale, de 2 a 1, y 1) ya lo tienes reducido de tamaño, y 2) no necesitas hacer el apaño de cambiarle las dimensiones en la página web, que es algo horrible.

Además... ¿qué es eso de verlo "chico" en la página web???

Hoy en día, una página web puede aparecer en una minipantalla de un reloj de pulsera o de una cámara de fotos (480px) o un gigantesco monitor de 30" (2560px o más. Incluso las nuevas tabletas ya tienen esa resolución). Lo de "chico" es muy relativo...

P.D. Seguro que has reducido el padding a prácticamente 0, pero te lo recuerdo, por si acaso. Con eso, reduces mucho más el ancho de la imagen.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: [Barcode::Code128] Problema para separaración entre cará

Notapor reLlene » 2012-12-18 15:15 @677

explorer escribiste:
reLlene escribiste: A propósito tiene ese tamaño porque por tratarse de un código de 42 caracteres el tamaño MÍNIMO que puede tener son unos 532px de ancho (su alto es un 15% de su ancho según la documentación del Barcode::Code128) y que yo LUEGO los redimensiono (para que se vea más chico) desde los atributos del tag IMG en una plantilla donde éste se embebe al HTML directo.

Bueno, pues entonces pones el scale, de 2 a 1, y 1) ya lo tienes reducido de tamaño, y 2) no necesitas hacer el apaño de cambiarle las dimensiones en la página web, que es algo horrible.

Vale, pero me queda así...
Imagen
:(
explorer escribiste:P.D. Seguro que has reducido el padding a prácticamente 0, pero te lo recuerdo, por si acaso. Con eso, reduces mucho más el ancho de la imagen.

Si, lo puse en 0 para que no tenga relleno de manera tal de dejarlo lo más angosto posible.
Sexo : unzip ; strip ; touch ; grep ; finger ;mount ; fsck ; more ; yes ; umount ; sleep.
Avatar de Usuario
reLlene
Perlero nuevo
Perlero nuevo
 
Mensajes: 97
Registrado: 2012-06-04 07:16 @344

Re: [Barcode::Code128] Problema para separaración entre cará

Notapor explorer » 2012-12-18 15:46 @699

¡Genial!

Ahora solo tienes que elegir una fuente de letras más pequeña, ¡y listo!

El problema puede venir por si las líneas más finas son... demasiado finas para el lector/impresora.

En fin, combinaciones hay unas pocas...

Si el GD estuviera compilado con soporte para TrueType, se puede elegir otra fuente de letras, y la puedes escalar a cualquier tamaño de punto.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Módulos

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados