Tengo una página que utiliza mPDF que cuando se ejecuta, muestra un PDF en el navegador, también puede ser guardado desde aquí en formato PDF sin ningún problema. Lo que me gustaría pasar es que cuando se ejecuta la página y genera un PDF que la página se guarda como un archivo PDF en el servidor.

Aquí está el código actual:

<?php
include $_SERVER['DOCUMENT_ROOT'].'/include/seo-check/lib/WSAclient.php';
include $_SERVER['DOCUMENT_ROOT'].'/include/seo-check/lib/WSAParser.php';

$reportID= $_GET['reportid'];

$WSAclient = new WSAclient(WSA_USER_ID,WSA_API_KEY);

$result=$WSAclient->viewReport($reportID,WSA_SUBSCRIPTION_ID,'xml','EN');

unset($WSAclient);

ob_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>PDF Report</title>
<!--Add your CSS here-->
</head>
<body>    
<?php  
echo WSAParser::viewReportResponse($result);
?>
</body>
</html>
<?php
$HTMLoutput = ob_get_contents();
ob_end_clean();


//Convert HTML 2 PDF by using MPDF PHP library
include $_SERVER['DOCUMENT_ROOT'].'/include/seo-check/lib/MPDF/mpdf.php';
$mpdf=new mPDF(); 

$mpdf->WriteHTML($HTMLoutput);
$mpdf->Output();
?>

Como dije esta salida es el PDF bien, pero podría alguien decirme cómo guardar como un archivo PDF?

InformationsquelleAutor Paul | 2012-09-24

3 Comentarios

  1. 81

    La mPDF docs estado que el primer argumento de Output() es la ruta de acceso del archivo, el segundo es el modo de ahorro – es necesario establecer a 'F'.

    $mpdf->Output('filename.pdf','F');
    • Mi amigo es un protector de la vida, pasó horas tratando de encontrar. Gracias!
    • Esto no funciona para mí, pero cambiando a D en lugar de F sí! ¿Qué significan?
    • D – enviar al navegador y la fuerza de la descarga, F – guardar archivo. Docs enlace que he proporcionado explica.
    • ¿Cuáles son otras opciones y cuál es el significado de F?
  2. 18

    Intente esto:

    $mpdf->Output('my_filename.pdf','D'); 

    porque:

    D – medios de Descarga

    F – significa que el Archivo-guardar sólo

    • Esto funcionó ! gracias amigo 🙂
    • Me salvó un poco de tiempo con este. Gracias!
  3. 16

    Esto puede ser hecho como este. Funcionó muy bien para mí. Y también establecer el directorio de los permisos a 777 o 775 si no se establece.

    ob_clean();
    $mpdf->Output('directory_name/pdf_file_name.pdf', 'F');
    • Esta es la mejor respuesta como se especifica cómo guardar en un directorio. +1

Dejar respuesta

Please enter your comment!
Please enter your name here