Leer un pdf y dividirlo en páginas desde PHP

LEER UN PDF Y DIVIDIRLO EN PÁGINAS DESDE PHP

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:

 

pdf

 

La cabecera de la librería PdfParser.php tiene el siguiente aspecto:

 

smalot

 

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:

 

pdf

 

Para hacer posible esta operación es necesario incluir las siguientes librerías de FPDI y FPDF:

 

libre

 

Descárgate aquí el código de este post.

 

Esperamos que os haya resultado práctico y de utilidad.

 

Hasta la próxima!!!!

10Comentarios

  • Jorge
    25/03/2020

    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
    26/02/2019

    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
      26/02/2019

      Buenas tardes Said,

      Ya hemos publicado la descarga del código al final del artículo.

      Gracias por tu interes.

      Un saludo

      • Said
        01/03/2019

        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
          01/03/2019

          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
    11/01/2019

    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
    03/12/2018

    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
      04/12/2018

      Si me envias un mail, te respondo con un rar del proyecto con el cual hice este blog.
      Saludos

      • alex
        11/01/2019

        Me gustaría también tener el código. Me esta volviendo un poco loco .

  • Carmona
    08/05/2017

    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

Escribe un comentario