|

Zend Framework: creando documentos PDF

Avanzando en el framework de Zend, hoy vamos a ver cómo crear documentos PDF. Quizás a muchos no les vaya a ser útil, pero un documento PDF es un formato bastante extendido.

De forma sencilla, ya que la librería del framework es algo extensa, vamos a explicar que métodos son necesarios para crear un PDF.

Para cargar la librería:

require_once 'Zend/Pdf.php';

Para crear un nuevo documento PDF:

$pdf = new Zend_Pdf();

Para crear una nueva página:

$pdf->pages[] = ($page = $pdf->newPage('A4'));
$pdf->pages[] = new Zend_Pdf_Page(Zend_Pdf_Page::SIZE_A4);
$pdf->pages[] = $pdf->newPage(Zend_Pdf_Page::SIZE_A4);

Obtener ancho y alto de la página:

$ancho  = $page->getWidth();
$alto = $page->getHeight();

Usar estilos:

$estilo = new Zend_Pdf_Style();
$estilo->setFillColor(new Zend_Pdf_Color_RGB(0, 0, 0));
$font = Zend_Pdf_Font::fontWithPath('/path/fuente.ttf');
$estilo->setFont($font, 10);
$estilo->setStyle($style);

Escribir texto:

$page->drawText("Hola Mundo", $x, $y);

Insertar imágenes:

$img = Zend_Pdf_ImageFactory::factory('sentidoweb.png');
$page->drawImage($img, $x, $y, $x+&ancho, $y+$alto);

Devolver la salida:

echo $pdf->render();

Eso sí, antes hay que tener en cuenta que tenemos que devolver al inicio del script el Content-Type:

header("Content-Type: application/pdf");
// Si queremos que se devuelva como un fichero adjunto
header("Content-Disposition: attachment; filename=\"prueba.pdf\"");

Si, se que parece muy resumido, pero otro día habrá un ejemplo más completo, mejor ir paso a paso.

Zend Framework : PDF