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.
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”.