Most recent edit on 2011-04-18 09:57:07 by AdminTsao
Additions:
Ahora no haría falta, porque OpenOffice/LibreOffice tiene capacidad para conectar campos de fichas con hojas de cálculo o bases de datos. Pero este mismo trabajo nos puede servir si queremos hacer algo parecido, se me ocurre, con LaTeX.
Deletions:
Ahora no haría falta, porque OpenOffice/LibreOffice tiene capacidad para conectar campos de fichas con hojas de cálculo o bases de datos. Pero este mismo trabajo nos puede servir si queremos hacer algo parecido, se me ocurre, con LaTeX.
Edited on 2011-04-18 09:55:31 by AdminTsao
Additions:
En un determinado proyecto cuyo nombre no queremos recordar, hubo que generar cientos de fichas, de forma automática. Las fichas consistían en unos campos e imágenes. Los campos estaban en un CSV (con ":" como separadores) y las imágenes en un directorio, renombradas de forma adecuada para que sea rápidamente identificable según código.
Se hizo un modelo de ficha, con OpenOffice.org, se maquetó, y con el material fuente preparado:
Ahora no haría falta, porque OpenOffice/LibreOffice tiene capacidad para conectar campos de fichas con hojas de cálculo o bases de datos. Pero este mismo trabajo nos puede servir si queremos hacer algo parecido, se me ocurre, con LaTeX.
Deletions:
En un determinado proyecto cuyo nombre no queremos recordar, hubo que generar cientos de fichas, de forma automática. Las fichas consistían en unos campos e imágenes. Los campos estaban en un CSV (con ":" como separadores) y las imágenes en un directorio, renombradas de forma adecuada para que sea rápidamente identificable según código.
Se hizo un modelo de ficha, con OpenOffice.org, se maquetó, y con el material fuente preparado:
Ahora no haría falta, porque OpenOffice/LibreOffice tiene capacidad para conectar campos de fichas con hojas de cálculo o bases de datos. Pero este mismo trabajo nos puede servir si queremos hacer algo parecido, se me ocurre, con LaTeX.
Oldest known version of this page was edited on 2011-04-18 09:54:56 by AdminTsao []
Page view:
Fichas a dolor con (g)AWK
En un determinado proyecto cuyo nombre no queremos recordar, hubo que generar cientos de fichas, de forma automática. Las fichas consistían en unos campos e imágenes. Los campos estaban en un CSV (con ":" como separadores) y las imágenes en un directorio, renombradas de forma adecuada para que sea rápidamente identificable según código.
Se hizo un modelo de ficha, con
OpenOffice.org, se maquetó, y con el material fuente preparado:
- Se descomprimió el .odf, con unzip
- Se localizó el nombre de los archivos de las imágenes, en el subdirectorio Pictures
- Se editó el content.xml, para indicar los campos que queremos reemplazar de cada vez, resaltándolos bien: CAMPO_1, CAMPO_2
- Se renombró el content.xml para no sobreescribirlo de cada vez, como content-base.xml
- Se hizo un script de este estilo:
#! /usr/bin/awk -f
# marcamos como separador del csv ':', se ejecuta la orden *antes* de procesar el archivo
BEGIN { FS = ":" }
# se reemplaza sucesivamente todas las apariciones de cada campo (vg. CAMPO_1) por su valor en el CSV (vg. el de la columna 2)
{system("sed s/CAMPO_1/\""$2"\"/g content-base.xml >a.xml")}
{system("sed s/CAMPO_2/\""$7"\"/g a.xml >content.xml")}
# se reemplaza la foto del odf por una que está renombrada con el valor de la columna 1 del CSV (típicamente, un código preestablecido)
{system("cp Planos/"$1".jpg Pictures/10000000000007C8000009066A93B12D.jpg" )}
# se comprime de nuevo el archivo, renombrándolo según el código que hay en la primera columna del CSV
{system("zip -r "$1".odt Configurations2 layout-cache settings.xml content.xml META-INF Pictures styles.xml meta.xml Thumbnails mimetype" )}
Ahora no haría falta, porque
OpenOffice/
LibreOffice tiene capacidad para conectar campos de fichas con hojas de cálculo o bases de datos. Pero este mismo trabajo nos puede servir si queremos hacer algo parecido, se me ocurre, con
LaTeX.