TRUCO:
Crear un programa
para rellenar un impreso
Os dejo un pequeño tutorial, donde explico como crear un programa para rellenar impresos, usando herramientas de softwarelibre (inkscape y gambas3):
Pasos a seguir:
1º Crear un archivo tipo .svg (con inkscape)2º Poner de fondo la imagen del formulario/impreso escaneado
3º Poner etiquetas de texto, donde quiero que aparezcan los datos
Por ejemplo, las etiquetas de texto pueden contener el texto:"DatoNombre", "DatoApellido", etc
4º Luego guardo el archivo en el directorio de Datos de un proyecto de gambas3
5º El programa, cada vez que va a hacer un impreso relleando lo que hace es copiar el archivo .svg al directorio temporal
6º Leo el archivo .svg, con la orden: contenido=file.load("/tmp/plantilla.svg")
7º Empiezo a hacer los reemplazos: (GAMBAS3) contenido=Replace(contenido,"DatoNombre", dato)
8º Una vez que hago todos los reemplazos, guardo el archivo
9º Y lo convierto en .png, para imprimirlo (ese paso es opcional, puedo imprimir directamente como .svg)
A continuación podéis ver un vídeo explicando el proceso, he añadido la forma de cambiar el tamaño y el tipo de letra, para ajustarse mejor al impreso:
El código del ejemplo que habeis visto en el video:
Public Sub ButtonRellenar_Click()
Dim contenido As String
contenido = File.Load("plantilla.svg")
contenido = Replace(contenido, "DatoNif", TextBoxNIf.text)
contenido = Replace(contenido, "DatoNombre", TextBoxNombre.text)
contenido = Replace(contenido, "DatoMunicipio", TextBoxMunicipio.text)
contenido = Replace(contenido, "DatoProvincia", TextBoxProvincia.text)
File.Save("/tmp/rellenado.svg", contenido)
Message.Info("Archivo svg rellando creado en /tmp/rellenado.svg")
End
Hola. Primero agradecer por todo el contenido que tienes publicado sobre Gambas.
ResponderEliminarQuisiera saber si puedes ayudarme con un error que tengo en un código.
Tengo la siguiente linea de código:
nombreAnterior = Replace(archivo, " ", "\ ")
Quiero reemplazar todos los espacios blancos del archivo por la constante \ . Debe contener el caracter \ seguido de un espacio en blanco. Al intentar ejecutar la aplicación me muestra el siguiente error: Caracter constante en cadena incorrecta en FMain.class
Gracias por tu ayuda
Me autorespondo.
EliminarSolucione el requerimiento de la siguiente manera:
nombreAnterior = Replace$(archivo, " ", Chr(92) & " ")
el error fue que el caracter a ser reemplazado no existe; querias reemplazar los espacios: " ", pero escribiste: "", es decir: no hay caracter.
EliminarTambien puedes usar:
ResponderEliminarnombreAnterior = Replace(archivo, " ", "\\ ")