TRUCO:
Crear un programa para rellenar un impreso y convertirlo en .pdf (2º parte)
En la entrada de la 1º parte (enlace), explique como rellenar un impreso y convertirlo a formato .svg
En el siguiente video tienes la explicación:
Ahora vamos a ver dos cosas más:
1) Como rellenar varias lineas
2) Como convertir el archivo .svg en formato .pdf
Vamos a ello:
1) Rellenar varias lineas.
Si necesitamos rellenar un texto largo, lo suyo es que por cada linea pongamos un código. En la siguiente captura vemos que en la plantilla .svg, he añadido varias DatosObservacionesXX ( DatosObservaciones01,DatosObservaciones02,DatosObservaciones03) para poder asi tener 3 lineas a rellenar
En el formulario del programas lo que haremos es tener un textbox por cada linea que queramos rellenar.
Nota:
Se podria tener en cuenta el limite de caracteres que nos caben en una linea y avisar al usuario que no lo supere, pero esto depende mucho del tipo de letra y tamaño que tengan en la etiqueta del .svg.
2) Como convertir el archivo .svg en formato .pdf
Para convertir el archivo .svg a .pdf, tendremos que usar el programa
rsvg-convert , que se instala de la siguiente forma:
$ sudo apt-get install librsvg2-bin
La linea en gambas seria:
Shell "rsvg-convert -f pdf -o /tmp/rellenado.pdf /tmp/rellenado.svg" Wait
Os dejo aqui el código completo:
'
Gambas class file
Public
Sub
_new()
End
Public
Sub
Form_Open()
End
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)
contenido
=
Replace(contenido,
"DatoObservacion01",
TextBox1.text)
contenido
=
Replace(contenido,
"DatoObservacion02",
TextBox2.text)
contenido
=
Replace(contenido,
"DatoObservacion03",
TextBox3.text)
File.Save("/tmp/rellenado.svg",
contenido)
Shell
"rsvg-convert
-f pdf -o /tmp/rellenado.pdf /tmp/rellenado.svg"
Wait
'Nota:
Tienes que activar el compoenente gb.desktop
'y
tener instalado librsvg2-bin
'con
el siguiente comando:
'sudo
apt-get install librsvg2-bin
Desktop.Open("/tmp/rellenado.pdf")
End
Enlace de descarga del codigo fuente: alojado en drive google
Fuentes:
Conversión de .svg a .pdf: enlace