<?php
// Framework laden
require_once('Zend/Pdf.php');

// Neues PDF erstellen
$pdf = new Zend_Pdf();

// Eigenschaften des Dokuments setzen
$pdf->properties['Author'] = "iX";
$pdf->properties['Subject'] = "Demonstration des Zend Frameworks";

// Neue Seiten erzeugen und and Dokument binden
$page1 = $pdf->newPage(Zend_Pdf_Page::SIZE_A4);
$page2 = $pdf->newPage(Zend_Pdf_Page::SIZE_A4);

$pdf->pages[] = $page1;
$pdf->pages[] = $page2;

// Style für eine Überschrift definieren
$headlineStyle = new Zend_Pdf_Style();
$headlineStyle->setFont(Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA_BOLD), 14);
$headlineStyle->setFillColor(new Zend_Pdf_Color_Html('#ff0000'));

// Style für normalen Text definieren
$bodyStyle = new Zend_Pdf_Style();
$bodyStyle->setFont(Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA), 10);
$bodyStyle->setFillColor(new Zend_Pdf_Color_Rgb(0, 0, 0.9));

// Texte auf die Seite setzen
$page1->setStyle($headlineStyle);
$page1->drawText('Überschrift', 10, 500, "Latin1");

$page1->setStyle($bodyStyle);
$page1->drawText('Text Text Text', 10, 450, "Latin1");

// Style für Grafiken setzen
$imageStyle = new Zend_Pdf_Style();
$imageStyle->setFillColor(new Zend_Pdf_Color_Html('#ff0000'));
$imageStyle->setLineColor(new Zend_Pdf_Color_Html('#00ff00'));
$imageStyle->setLineWidth(3);
$page2->setStyle($imageStyle);

// Zeichne einen Kreis an
// Position x = 100 und y = 500 mit Radius 30 Pixel
$page2->drawCircle(100, 500, 30);

// Zeichne ein Kreissegment
// von Winkel PI/4 bis 3*PI/4
$page2->drawCircle(300, 500, 30, (M_PI / 4), (3 * M_PI / 4));

// Zeichne ein gefülltes Rechteck mit Außenlinie mit den Koordinaten
// der Eckpunkte 100 / 300 und 200 / 400
$page2->drawRectangle(100, 300, 200, 400, Zend_Pdf_Page::SHAPE_DRAW_FILL_AND_STROKE);

// Zeichne nur die Außenlinie
$page2->drawRectangle(300, 300, 400, 400, Zend_Pdf_Page::SHAPE_DRAW_STROKE);

// Zeichne nur die Füllung
$page2->drawRectangle(100, 100, 200, 200, Zend_Pdf_Page::SHAPE_DRAW_FILL);

// PDF wird gerendert ...
$pdfAsString = $pdf->render();

// ... und über den Browser ausgegeben
header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename=\"zend.pdf\"');
echo $pdfAsString;

?>