PHP - Cómo usar mPDF para fusionar archivos PDF

Comenzaré diciendo que puedo generar archivos PDF bien con mPDF, pero por mi vida, no puedo lograr que combine un PDF existente con el PDF que acaba de generar.

Lo que necesito descubrir es cómo agregar / agregar el PDF existente al PDF recién generado. Intenté usar los métodos mPDF para importar páginas, pero todo lo que puedo obtener es un error como:

mPDF error: Cannot open '/downloads/test.pdf'.

El mensaje anterior es ambiguo y poco claro en cuanto a POR QUÉ no puede abrir el archivo ... Aquí está el código que estoy usando para intentar fusionar archivos PDF:

 include_once("./pdf/mpdf/mpdf.php");

 $output_file = $_GET['output_file'];
 $url = $_GET['input_file'];
 $technical_drawing = $_GET['tech_drawing'];

 $html = file_get_contents($url);

 $mpdf = new mPDF('utf-8','Letter','','',0,0,0,0,0,0,'P');
 $mpdf->SetImportUse(); 

 $pagecount = $mpdf->SetSourceFile($technical_drawing);
 $tplIdx = $mpdf->ImportPage($pagecount);
 $mpdf->UseTemplate($tplIdx);

 $mpdf->WriteHTML($html);
 $mpdf->Output($output_file, 'D');

 exit;

$ output_file será el nombre de archivo que se muestra al usuario. $ url es el HTML que estamos escribiendo en el archivo durante la generación de PDF. $ technical_drawing es una ruta relativa a un PDF que queremos agregar / fusionar con el PDF generado.

Entiendo que podría usar algo como ghostscript, pero no tengo ese tipo de acceso en el servidor del cliente.

Avíseme si alguien ha encontrado una solución para esto usando mPDF o si soy S.O.L. y necesita encontrar otra biblioteca para fusionar PDF. Realmente estoy buscando soluciones o sugerencias, pero no solo enlaces a otra biblioteca. Agoté lo que puedo encontrar en Google o en la documentación de mPDF que describe el error que estoy teniendo.

EDITAR: error de mPDF cambiado dehttp://example.com/pdf/example.pdf a '/downloads/test.pdf'.

EDIT_2: el código se ha corregido para tomar la ruta relativa.

Aquí está el código de trabajo final. Bonificación si alguien sabe cómo especificar el orden de escritura del documento HTML a PDF, importando la página como la última página (con un tamaño de página personalizado diferente al del HTML).

    include_once("./pdf/mpdf/mpdf.php");

    $output_file = 'test-' . $_GET['output_file'];
    $url = $_GET['input_file'];
    $technical_drawing = $_GET['tech_drawing'];

    $html = file_get_contents($url);


    if(!file_exists($technical_drawing)) {
      $mpdf = new mPDF('utf-8','Letter','','',0,0,0,0,0,0,'L');
    } else {
      $mpdf = new mPDF('utf-8','A3-L','','',0,0,0,0,0,0,'L');

      $mpdf->SetImportUse(); 

      $pagecount = $mpdf->SetSourceFile($technical_drawing);
      $import_page = $mpdf->ImportPage();

      $mpdf->UseTemplate($import_page);

      // Add Last page
      $mpdf->AddPageByArray(array(
        'orientation' => 'P',
        'ohvalue' => 1,
        'ehvalue' => -1,
        'ofvalue' => -1,
        'efvalue' => -1,
        'newformat' => 'Letter'
      ));
    }

    $mpdf->WriteHTML($html);
    $mpdf->Output($output_file, 'D');

    exit;

Respuestas a la pregunta(3)

Su respuesta a la pregunta