Editar formularios PDF con PHP (I)

Facebooktwittergoogle_pluslinkedinmailFacebooktwittergoogle_pluslinkedinmail

A veces nos encontramos con con documentos PDF que contienen campos de formulario que deben ser cumplimentados por un usuario. Esto, por ejemplo, es muy habitual en documentos de las Administraciones públicas, aunque muchas corporaciones privadas también los emplean.

En ocasiones debemos incluir estos formularios en nuestro sitio con algunos de esos campos precumplimentados, con valores estándar, para facilitarles la tarea a los usuarios.

Aunque pueda parecer que un documento PDF es un formato cerrado, que es como te lo dan, y es poco lo que se puede hacer con él, con los recursos adecuados es fácil “trabajarlo” del modo que necesitemos.

EL FORMATO PDF

Un documento PDF está constituido, en última instancia, por un conjunto de elementos básicos, como texto, imágenes y, en el caso de los que nos ocupan en este artículo, campos de formulario, que tienen un nombre, un tipo, y unos posibles valores. Todo esto está encapsulado dentro de una envoltura con unos metadatos y una estructura concreta que lo convierten en un PDF.

Sin embargo, aunque la mayoría de la gente cree que un formulario, una vez está en PDF, no es editable, por lo que no se pueden asignar contenidos a los campos por programación, esto no es del todo exacto. En este artículo vamos a aprender a asignar a los campos unos contenidos predeterminados por programación, usando PHP y algo más, de lo que te hablaré en seguida.

CREAR UN FORMULARIO PDF

Esto es lo primero que tenemos que aprender a hacer. Este artículo se acompaña con un formulario de ejemplo, muy sencillo, para hacer las pruebas necesarias pero, como es lógico, su valor es meramente didáctico. Tú necesitarás, en tu día a día, crear tu propio formulario PDF, en un documento con la apariencia y los campos que te pida tu cliente o tu jefe.

Hay varias formas de hacer esto. Si tienes en tu ordenador el software adecuado, puedes crear el documento con Microsoft Word, por ejemplo, y convertirlo a PDF. Sin embargo, el software que necesitas requiere el pago de licencias, que no siempre son asequibles a todos los bolsillos.

Una alternativa es crear el PDF por programación. Una de las librerías PHP más populares para crear PDF’s es FPDF (www.fpdf.org). Desafortunadamente, no permite la creación de campos de formulario. Una alternativa adecuada podría ser, en principio, usar, por ejemplo, DOMPDF (https://github.com/dompdf/dompdf), para convertir una vista web a PDF.

Sin embargo, hay una solución más cómoda y rápida online, en la URL https://www.pdfescape.com, donde, con muy poco esfuerzo, puedes crear en minutos el formulario PDF que necesites, y descargarlo, gratis, en tu ordenador. El formulario de ejemplo de este artículo está creado con esta magnífica herramienta, que puedes conocer a través de un vídeo de Marta Emerson en https://www.youtube.com/watch?v=ucJcL7ou3NU. Échale un vistazo. Merece la pena.

PDFTK

Esta es una herramienta que permite realizar una gran cantidad de operaciones con documentos PDF, como unir varios de ellos en uno solo, sacar páginas a un nuevo documento, encriptar, rotar, etc. Nosotros necesitaremos usarla aquí. Puedes conocer esta herramienta en https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/.

Si tú sistema operativo es Linux, lo más fácil es que ya forme parte de las utilidades y herramientas que tienes por defecto. Si tu sistema es Windows, tendrás que descargarla de la web. Encontrarás tres ediciones: PDF Toolkit, PDFTK Server y PDFTK Pro. Las dos primeras, que son las que nos interesan aquí, son gratuitas. La tercera es de pago, pero tiene un coste de unos cuatro dólares americanos (algo más de tres euros), con lo que tampoco es problema. De todos modos, puedes omitirla si quieres. Aquí no te va a hacer falta.

Descarga PDFTK y PDFTK Server, e instálalas en tu equipo. Asegúrate de que las rutas de instalación se graben en las variables de entorno (PATH), para que ambas herramientas sean accesibles desde cualquier parte de tu equipo. Aunque la instalación te da esta opción, si quieres puedes incluirlas en las variables de entorno manualmente. Dado que la forma de hacerlo varía de una versión de Windows a otra (aunque son parecidas), lo mejor es que consultes en la web como grabar las variables de entorno en tu versión concreta del sistema.

TODO PREPARADO

Con lo que hemos visto en este artículo, queda todo preparado para poder editar con PHP el contenido de formularios PDF. Ahora que ya hemos llegado aquí, vamos a hacer una pequeña pausa para café (algo así como el maná para los desarrolladores) y, en el próximo artículo veremos como hacer lo que necesitamos. Asumo que ya tienes montado un localhost para desarrollo (Xampp, Laragon, o cualquier otro).



     

No se admiten más comentarios