es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Fusionar archivos PDF con PHP en un solo archivo

Si tengo algunos archivos PDF, cada uno tiene una página y me gustaría fusionar todos los archivos en un solo archivo usando PHP

He leído docenas de preguntas aquí sobre lo mismo, pero la mayoría están desactualizadas o ya no funcionan desde PHP versión >= 7.0

Una de las soluciones fue usar PDFMerger y aquí está mi código:

require_once ('PDFMerger.php');

use PDFMerger\PDFMerger;
$pdf = new PDFMerger;

$pdf->addPDF('books/1.pdf');
$pdf->addPDF('books/2.pdf');

$pdf->merge('download','books/merged.pdf');

Pero simplemente muestra una página en blanco y no se crea ningún archivo, y lo mismo ocurre con esta biblioteca PDFMerger

¡ACTUALIZACIÓN1! Sin usar espacios de nombres, con PDFMerger\PDFMerger;, obtengo este error:

Fatal error: Uncaught Error: Class "PDFMerger" not found in mypath\sample.php:4 Stack trace: #0 {main} thrown in mypath\sample.php on line 4

Entonces, ¿hay alguna forma que aún funcione para fusionar archivos PDF sin tener que preocuparse por cómo se crean esos archivos?

NOTA: No puedo usar shell_exec ya que los archivos están en un hosting compartido.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Si tienes algunos archivos PDF, cada uno con una página, y quieres combinar todos los archivos en uno solo utilizando PHP, puedes usar la biblioteca PDFMerger. Sin embargo, si te encuentras con problemas de páginas en blanco o errores de clase, podría ser debido a cambios en la versión de PHP 7.0 o superior.

    Una solución alternativa es evitar el uso de espacios de nombres eliminando la línea “use PDFMerger\PDFMerger;” e instanciando el objeto directamente con “$pdf = new PDFMerger();”.

    Otra opción es utilizar una biblioteca o enfoque diferente para combinar archivos PDF. Sin embargo, ten en cuenta las restricciones de tu entorno de alojamiento compartido que puedan limitar tu capacidad para utilizar ciertas funciones, como “shell_exec”.

Comments are closed.