Saltar al contenido

Combinar archivos PDF con PHP

Joel, miembro de nuestro equipo de trabajo, nos hizo el favor de escribir esta sección ya que controla a la perfección este tema.

Solución:

A continuación se muestra el comando de combinación de php PDF.

$fileArray= array("name1.pdf","name2.pdf","name3.pdf","name4.pdf");

$datadir = "save_path/";
$outputName = $datadir."merged.pdf";

$cmd = "gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=$outputName ";
//Add each pdf file to the end of the command
foreach($fileArray as $file) 
    $cmd .= $file." ";

$result = shell_exec($cmd);

Olvidé el enlace de donde lo encontré, pero funciona bien.

Nota: debe tener gs (en Linux y probablemente Mac) o Ghostscript (en Windows) instalado para que esto funcione.

yo sugiero Fusión de PDF de github.com, tan fácil como ::

include 'PDFMerger.php';

$pdf = new PDFMerger;

$pdf->addPDF('samplepdfs/one.pdf', '1, 3, 4')
    ->addPDF('samplepdfs/two.pdf', '1-2')
    ->addPDF('samplepdfs/three.pdf', 'all')
    ->merge('file', 'samplepdfs/TEST2.pdf'); // REPLACE 'file' WITH 'browser', 'download', 'string', or 'file' for output options

He hecho esto antes. Tenía un pdf que generé con fpdf, y necesitaba agregarle una cantidad variable de archivos PDF.

Así que ya tenía un objeto fpdf y una página configurada (http://www.fpdf.org/) Y usé fpdi para importar los archivos (http://www.setasign.de/products/pdf-php-solutions/ fpdi/) FDPI se agrega extendiendo la clase PDF:

class PDF extends FPDI


 



    $pdffile = "Filename.pdf";
    $pagecount = $pdf->setSourceFile($pdffile);  
    for($i=0; $i<$pagecount; $i++)
        $pdf->AddPage();  
        $tplidx = $pdf->importPage($i+1, '/MediaBox');
        $pdf->useTemplate($tplidx, 10, 10, 200); 
    

Básicamente, esto convierte cada pdf en una imagen para poner en su otro pdf. Funcionó increíblemente bien para lo que lo necesitaba.

Comentarios y puntuaciones del post

Si crees que te ha sido de ayuda este artículo, sería de mucha ayuda si lo compartieras con más seniors de esta manera nos ayudas a difundir esta información.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : / /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *