Generador de códigos de barras

Supongamos que tenemos un fichero con los códigos de barras de algunos libros de texto en formato EAN-13, por ejemplo:

841234567891,Matemáticas
841234561231,Lengua Castellana
841211367891,Inglés
841234564391,Francés

Realiza un script que genere para cada libro una imagen de su código de barras, con las siguientes características:

  • El nombre del fichero se corresponde con la asignatura en minúsculas y sin caracteres especiales (acentos, espacios, signos de puntiación, etc.)
  • El formato del fichero de imagen es jpeg
  • El ancho de la imagen es 500 píxeles
  • La altura de la imagen es tal que se mantiene la proporcionalidad de la imagen inicial

Ayuda: Se pueden utilizar las aplicaciones del paquete imagemagick para hacer gran cantidad de transformaciones desde la línea de comandos, por ejemplo:

$ barcode -b 841234567891 -e EAN -g 550x386+0+0 -o salida.ps

Genera un código de barras para 841234567891 en formato EAN-13, que ocupa la mitad inferior del fichero salida.ps

$ identify salidap.ps
salida.ps PS 612x792 612x792+0+0 16-bit Grayscale DirectClass 1.454MB 0.010u 0:00.009

Podemos recortar la parte del código de barras y transformarlo a jpeg con convert:

$ convert salidap.ps -crop 612x396+0+396 salida2.jpg

$ identify salida2.jpg

salida2.jpg JPEG 612x396 612x396+0+0 8-bit PseudoClass 256c 37.9KB 0.000u 0:00.000

Por último podemos escalaro a 500 píxeles de ancho:

$ convert salida2.jpg -scale 81.7% salida3.jpg

$ identify salida3.jpg

salida3.jpg JPEG 500x324 500x324+0+0 8-bit PseudoClass 256c 28KB 0.000u 0:00.000

Last modified: Wednesday, 2 November 2011, 7:11 PM