Page 1 of 1

Fusión de datos con formulario PDF (Ejemplo operativo)

PostPosted: Mon Jun 23, 2008 6:09 pm
by Manuel Aranda
Hace unos meses en este hilo http://www.fivetechsoft.com/forums/viewtopic.php?t=4897
se discutía sobre la fusión de datos con un archivo PDF. Aunque, había conseguido la fusión, no me gustaba el que hubiera que indicar la ruta completa donde se encontraba el visor de ficheros PDF. Lo cierto es que con la última versión de Acrobat Reader(a partir de la 8.0) fallaba con algunos ficheros, sin que haya podido averiguar la causa.
Hace unos días conocí en este foro la existencia de pdftk (gracias a Carlos Mora) y he estado trasteando con él. Aunque tiene muchas más posibilidades, la que más me interesa es la referente a la fusión de datos. He elaborado un sencillo ejemplo autocontenido para que podais verlo como funciona. Probablemente le intere a alguien más.
Sencillamente se trata de proporcionar a pdftk un fichero XML o XFDF con los datos para que lo fusione con el fichero PDF. Todo ello de forma transparente para el usuario.

He podido constatar que los nombres de fichero largos y con acentos no se llevan bien con pdftk. Lo que yo hago es, antes de la fusión, cambiar el nombre de los ficheros para que sean cortos y no contengan acentos.

Otra cuestión que hay que saber es los nombres de los campos del fichero PDF para poder generar el fichero XML. Estos se pueden conocer generando un fichero con el mismo pdftk de la forma siguiente:
pdftk original.pdf generate_fdf output salida.fdf ( desde la linea de comandos del DOS )
Sólo hay que revisar el fichero salida.fdf para conocer el nombre de los campos.
También esto último se puede hacer con el Adobe Acrobat Profesional, así como crear tus propios pdf,s o modificar el nombre de los campos.

En fín, espero os sea de utilidad. Este es el enlace de descarga:
http://rapidshare.com/files/124502319/ejemplo2.rar.html

PostPosted: Mon Jun 23, 2008 7:08 pm
by Alfredo Arteaga
Gracias por compartirlo Manuel, es un gran avance.

PostPosted: Mon Jun 23, 2008 7:59 pm
by sysctrl2
Muy buen avance,

alguien sabe como leer los campos de un pdf ?


saludos...

PostPosted: Mon Jun 23, 2008 8:12 pm
by Manuel Aranda
sysctrl2 wrote:Muy buen avance,

alguien sabe como leer los campos de un pdf ?


saludos...


Hola Cesar:

El primer paso es conocer los nombres de los campos (ya lo expliqué en el primer post).
Después debes de armar el fichero XML con los nombres de los campos y los datos (edita el fichero datos.xml del ejemplo para ver su estructura).
Y por último fusionas el PDF con el XML

Re:

PostPosted: Tue Aug 02, 2011 4:20 pm
by Bayron
Hola a todos,

Estoy haciendo pruebas con los ejemplos de Manuel...(Gracias por el aporte Manuel), y funciona perfecto, pero yo tengo que llenar un RADIO BUTTON.

Image

Alguien sabe como puedo hacer una seleccion en estos botones???

Obtuve los nombres de los campos de esta manera:
Code: Select all  Expand view
pdftk cuadro.pdf dump_data_fields output cuadro.txt

y obtuve lo siguiente:
Code: Select all  Expand view
---
FieldType: Button
FieldName: seccion
FieldFlags: 0
FieldJustification: Left
FieldStateOption: 1
FieldStateOption: 2
FieldStateOption: 3
FieldStateOption: 4
FieldStateOption: 5
FieldStateOption: 6
FieldStateOption: Off
---


Pero no se como hacer la seleccion, Alguien podria ayudarme????

Re: Fusión de datos con formulario PDF (Ejemplo operativo)

PostPosted: Wed Aug 03, 2011 12:39 am
by joseluisysturiz
El archivo sample ya no esta en el servidor... :shock:

Re: Fusión de datos con formulario PDF (Ejemplo operativo)

PostPosted: Wed Aug 03, 2011 1:02 am
by Bayron

Re: Fusión de datos con formulario PDF (Ejemplo operativo)

PostPosted: Wed Aug 03, 2011 4:33 pm
by Manuel Aranda
Hola Bayron:

Pues es muy sencillo, sólo tienes que añadir al archivo XML el valor que quieras que tome el radiobotón. Tomando el fichero XML del ejemplo, quedaría así:
Code: Select all  Expand view

<?xml version='1.0' encoding='ISO-8859-1' ?>
<xfdf xmlns='http://ns.adobe.com/xfdf/' xml:space='preserve'>
<fields>
<field name='nombre1'>
<value>ACOSTA ROSALES JOSE FRANCISCO                     </value>
</field>
<field name='nif1'>
<value>089045670V</value>
</field>
<field name='nombre2'>
<value>ABARCA ARANDA ANTONIO MANUEL                      </value>
</field>
<field name='nif2'>
<value>026789234Y</value>
</field>
<field name='diahoy'>
<value>15</value>
</field>
<field name='anohoy'>
<value>2008</value>
</field>
<field name='meshoyletra'>
<value>JUNIO</value>
</field>
<field name='dpinss'>
<value>GRANADA             </value>
</field>
<field name='lugardocu'>
<value>CASTELL DE FERRO    </value>
</field>
<field name='seccion'>
<value>4</value>
</field>
</fields>
<f href='\INSS\autorizacion.pdf'/>
</xfdf> 


Obviamente, en el fichero PDF, los radiobotones del mismo grupo tienen que tener todos el mismo nombre, en este caso "seccion"
Aquí dejo el enlace con el ejemplo modificado:
http://www.easy-share.com/1917084785/ejemplo2.rar

Re: Fusión de datos con formulario PDF (Ejemplo operativo)

PostPosted: Sat Aug 06, 2011 1:45 am
by Bayron
Gracias Manuel, disculpa que demoré tanto de contestar, pero es que estaba en un area rural, te agradezco bastante....