Generowanie plików PDF w Zend Framework

Ostatnio potrzebowałem wygenerować plik pdf na stronie internetowej.

Ponieważ jego zawartość była tworzona dynamicznie musiał być on generowany online. Postanowiłem skorzystać z Zend_Pdf i oto krótka instrukcja jak to zrobić. Przy wykorzystaniu wbudowanych czcionek miałem problem z polskimi znakami więc skopiowałem na serwer plik FreeMono.ttf z mojego komputera i skorzystałem z niego. Przykład ten pokazuje też jak można użyć innego pliku pdf jako szablonu np. do wypełnienia druków.

[sourcecode lang=”php”]
Zend_Loader::loadClass(‚Zend_Pdf’);

//ładowanie szablonu
$pdf = Zend_Pdf::load(„szablon.pdf”);

//utworzenie pierwszej strony
$pdfPage = $pdf->pages[0];

//ustawiam styl (czcionki itp.)
Zend_Loader::loadClass(‚Zend_Pdf_Style’);
$style = new Zend_Pdf_Style();
//ustawiam czcionkę oraz jej wielkość
$style->setFont(Zend_Pdf_Font::fontWithPath(„FreeMono.ttf”), 10);
$pdfPage->setStyle($style);

//wstawienie linii tekstu
$pdfPage->drawText(„To jest jakiś próbny tekst”, 70, 700,’UTF-8′);

//zapisanie do pliku
$pdf->save(„moj_plik.pdf”);

//wysłanie do przeglądarki pliku pdf
header(‚Content-type: application/pdf’);
header(‚Content-Disposition: attachment; filename=”moj_plik.pdf”‚);
echo $pdf->render()
[/sourcecode]