2011-03-03 24 views
11

¿Es posible convertir directamente HTML en un archivo pdf usando Zend_Pdf ?, de ser así, ¿cómo puedo hacer eso?¿Es posible convertir HTML en PDF usando Zend_Pdf?

+0

No, no creo que esto sea para lo que fue construido. http://framework.zend.com/manual/en/zend.pdf.introduction.html –

+0

Aunque esto podría ser Frankenstein-ish (y no es realmente una respuesta a su pregunta) he usado PHP para generar contenido, envíe el Salió el búfer a un archivo y usó _wkhtmltopdf_ para generar archivos PDF. – Guttsy

Respuesta

11

Zend_PDF no es capaz de generar PDF basado en HTML. Pero puede visualizar y usar otra biblioteca para convertirlo a PDF. Lo he hecho con TCPDF. El pequeño fragmento de código a continuación:

//SomeController.php 
    $this->_helper->layout->disableLayout(); 

    //set content for view here 

    // create new PDF document   
    require_once('tcpdf/tcpdf.php'); 
    $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); 

    //whole TCPDF's settings goes here 

    $htmlcontent = $this->view->render('recipe/topdf.phtml'); 
    // output the HTML content 
    $pdf->writeHTML($htmlcontent, true, 0, true, 0); 
    $pdf->lastPage(); 
    $pdf->Output("pdf-name.pdf", 'D'); 
+0

¿Existe la posibilidad de que pueda entrar en más detalles de un ejemplo de lo que sería somecontroller.php, y lo que se incluye en 'establecer el contenido para ver aquí'? ¡Gracias! – joren

+0

@joren Es exactamente la misma forma en la que creas controladores normales en ZF: 'SomeController extiende Zend_Controller_Action'. Lo mismo con la vista: '$ this-> view-> foo = 'bar''. El truco es renderizar la página como una página ZF normal, pero en lugar de enviarla a la pantalla, la coges en la variable '$ htmlcontent' y pasas al método' writeHTML() 'de TCPDF. – singles

+0

¡Gracias! Terminé trabajando alrededor de él de una manera diferente, pero esta ayuda. – joren

2

TCPDF es un poco limitado cuando se trata de HTML, wkhtmltopdf utiliza WebKit

+0

La pregunta es con respecto a zend_pdf para el cual tcppdf, dompdf y mpdf son más sutiable. – Surinderpal

1

que he usado DOMPDF https://github.com/dompdf/dompdf es bastante fácil y sencillo. incluso lee/formatea css.

+0

Intenté usar dompdf para generar pdf desde html, pero tiene un problema realmente molesto (conocido): coloca unas pocas páginas vacías entre dos filas de la tabla (al menos en 0.6.0 beta 3) – Zsolti

1

Echa un vistazo MPDF. El último. Crea tu html con css en línea, guárdalo en una variable php y repite en un archivo pdf. ¡¡¡estás listo!!!