
Leer un pdf y dividirlo en páginas desde PHP
En este artículo vamos a mostrar como se ha conseguido leer un pdf y dividirlo en páginas desde PHP. Veremos cómo se ha conseguido dividir el fichero pdf original en n ficheros de una sola hoja.
Hola a todos y bienvenidos a un nuevo post de la escuela Espai. La motivación de este artículo ha venido por la necesidad de un alumno de realizar la siguiente operativa de forma automatizada:
- Recibe un fichero pdf de n hojas, donde cada hoja tiene una información relativa a una persona en concreto.
- Cada hoja contiene al inicio el nombre de la persona, y el programa debe ser capaz de detectarlo y leerlo
- El fichero original debe poder dividirse en las n partes correspondientes a cada persona
- Y por último el proceso debe de ser capaz de enviar un correo a esa persona con su fichero-parte correspondiente
Existen muchos proyectos de librerías para PHP que leen ficheros pdf, entre ellos podemos destacar dos:
- Proyecto de Sebastien Malot –> http://www.pdfparser.org/
- Proyecto FPDI y FPDF –> http://www.setasign.de/products/pdf-php-solutions/fpdi/ http://www.fpdf.org/
El código PHP para leer un fichero pdf según la versión de Sebastien Malot de 2013 (https://gist.github.com/smalot/6183152) es el siguiente:
La cabecera de la librería PdfParser.php tiene el siguiente aspecto:
El proyecto FPDI también cubre la necesidad de leer un pdf desde PHP, pero nosotros hemos utilizado sus librerías para dividirlo. El código que permite dividir un archivo pdf en tantos archivos como páginas tiene, es el siguiente:
Para hacer posible esta operación es necesario incluir las siguientes librerías de FPDI y FPDF:
Descárgate aquí el código de este post.
Esperamos que os haya resultado práctico y de utilidad.
Hasta la próxima!!!!
Marcos
Muchas gracias Eduard!
Claro y efectivo!
Jorge
Buenos días,
Gracias por este post es muy útil para mi que estoy intentando leer el contenido de un archivo pdf.
Por favor, ¿podrían facilitarme el contenido del .rar en .zip? Tengo problemas para abrir el paquete .rar y no tengo posibilidad de instalar Winrar. Por favor, ¿pueden enviarme .zip por mail?
Gracias de antemano.
Saludos,
Said
Buenos días. podrías por favor compartir el código completo ? ? ?
Tengo problemas al intentar replicar el utilizado en tu post
Jordi de los Mozos
Buenas tardes Said,
Ya hemos publicado la descarga del código al final del artículo.
Gracias por tu interes.
Un saludo
Said
Buenas tardes Jordi, gracias por tu interes pero pasa que ya descargue el archivo .rar pero al intentar abrirlo, la aplicación me dice que «El archivo tiene un formato desconocido o esta dañado»
Jordi de los Mozos
Buenos días Said,
He comprobado el archivo rar y está correcto, el error que te da es porque tienes una versión de winirar antigua , si te descargas la última verás que funciona correctamente. Te pongo el enlace de winrar https://www.winrar.es/descargas
Un saludo
alex
Gran aporte!
Me gustaría conocer las versiones de la librerías usadas. Actualmente me esta dando errores en la FPDI.
Facilitaría la comprensión, ya que estoy intentando reproducirlo.
Ezan
Acabo de descargarme el zip con el pdfparser, desde su sitio. Lo primero que he hecho es buscar el PdfParser.php que usas para incluirlo en tu script. con require,.Pues bien, no lo veo por ningún lado. Lo he buscado tanto el zip que me he descargado como en el git del sitio oficial. ¿Dónde lo localizas?
Eduard
Si me envias un mail, te respondo con un rar del proyecto con el cual hice este blog.
Saludos
alex
Me gustaría también tener el código. Me esta volviendo un poco loco .
Carmona
Hola!, me resultaria de gran ayuda si tienes un ejemplo de este código completo para probarlo.
Además, quería preguntarte por la función para enviar el fichero pdf según indicas en el comentario, ya que no la visualizo:
«Y por último el proceso debe de ser capaz de enviar un correo a esa persona con su fichero-parte correspondiente…»
Gracias