phpbar.de logo

Mailinglisten-Archive

[php] Zend PDF Problem mit eingebunden Bildern

[php] Zend PDF Problem mit eingebunden Bildern

Lukas Keller lukask75 at gmail.com
Mon Mar 30 13:48:48 CEST 2009


Hallo Zusammen
Ich erstelle dynamische PDF, mit eingebunden jpg Bilder. Dazu habe ich am
17 März schon mal ein Mail geschrieben und dank Ralf Eggert konnte ich das
Problem fast lösen.

Auf Mac funktioniert alles wie es soll, aber unter Windows wird nur eine
Seite angezeigt. Die Grösse des pdf's ist aber identisch. Wenn ich die
Bilder auskommentiere, dann funktioniert es auch unter Windows.

Hilfe, ich habe schon sehr viel ausprobiert und es funktioniert einfach
nicht! Ich wäre euch sehr dankbar, wenn Ihr mir nochmals helfen könntet.

Hier der Code.


<?
require_once 'Zend/Db.php';
include ('inc/config.inc.php');
require_once 'Zend/Pdf.php';
$i = 1;
$pdf = new Zend_Pdf();
$font = Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA_BOLD);
$sql = "SELECT ortschaft, hotel, strasse, plz, tel, vorfstellungen.datum,
Wochentag_en, teilnehmer_id,
vorstellungen, name, vorname, essen, firma, verkaufer, verkaufsdatum, ort
FROM vorfstellungen, ort, teilnehmer
WHERE vorstellungen = vorstellungs_id
AND verkaufsdatum= '1237882087'
AND ort = ort_id";
$timestamp =1237882087;
$ausgabe = strftime('%d.%m.%Y %H:%M:%S',$timestamp);

$res = $db->query($sql);
while ($zeile = $res->fetch())
{
$page = new Zend_Pdf_Page(Zend_Pdf_Page::SIZE_A4);
$page->setFont($font, 14);
$pdf->pages[] = $page;
if ($zeile[essen] == 1)
{$essen = 'with meat';}
else
{$essen = 'without meat';}
$jahr = substr("$datum", 0,4);
$monat = substr("$datum", 5,2);
$tag = substr("$datum", 8,2);
$page->drawText('WELCOME TO THE SWISS DINNER SHOW', 160, 700);
$font = Zend_Pdf_Font::fontWithName(
Zend_Pdf_Font::FONT_HELVETICA);
$page->setFont($font, 10);
$page->drawText('Thank you for booking your ticket for the Swiss Dinner
Show. We are looking forward to welcome you to an evening', 15, 675);
$page->drawText('of fun, laughter and great food. Please make sure to arrive
at the published time and show your ticket at the entry', 15, 663);
$page->drawText('of the venue. More information about the Swiss Dinner Show
can be found on our homepage ', 15, 651);
$page->drawText('www.swissdinnershow.com. If you enjoyed the show please
spead the word! ', 15, 639);
$page->drawText('Your team of the Swiss Dinner Show', 15, 627);
$page->drawText('Show:', 15, 579);
$page->drawText('Swiss Dinner Show:', 120, 579);
$page->drawText('Venue:', 15, 567);
$page->drawText("$zeile[hotel]", 120, 567);
$page->drawText(utf8_encode("$zeile[strasse]"), 120, 555, 'utf-8');
$page->drawText("$zeile[plz] $zeile[ortschaft]", 120, 543);
$page->drawText("$zeile[tel]", 120, 531);
$page->drawText('Date:', 15, 519);
$page->drawText("$zeile[Wochentag_en]., $zeile[datum]", 120, 519);
$page->drawText('Time:', 15, 507);
$page->drawText('19.30', 120, 507);
$page->drawText('First name:', 15, 483);
$page->drawText(utf8_encode("$zeile[vorname]"), 120, 483, 'utf-8');
$page->drawText('Last name:', 15, 471);
$page->drawText(utf8_encode("$zeile[name]"), 120, 471, 'utf-8');
$page->drawText('Ticket:', 15, 459);
$page->drawText("$i/2", 120, 459);
$page->drawText('Menu:', 15, 447);
$page->drawText("$essen", 120, 447);
$page->drawText('Point of sale:', 15, 435);
$page->drawText(utf8_encode("$zeile[firma] $zeile[verkaufer]"), 120, 435,
'utf-8');
$page->drawText('Ticket fee:', 15, 423);
$page->drawText('CHF 79.00 (incl. MwSt)*', 120, 423);
$page->drawText('Ticket ID:', 15, 411);
$page->drawText("$zeile[teilnehmer_id]", 120, 411);
$page->drawText('Verkaufsdatum:', 15, 399);
$page->drawText("$ausgabe", 120, 399);

$page->setFont($font, 8);
$page->drawText('*MwSt: Food and beverages = CHF 49.00 (incl. 7,6% MwSt) /
Theatre = CHF 30.00 (incl. 2,4% MwSt)', 15, 363);
$page->drawText('This ticket permitts for a one time entry to the above
mentioned performance of the Swiss Dinner Show. The in this ticket included
goods and', 15, 339);
$page->drawText('services can be looked up on our homepage
www.swissdinnershow.com. All performances of the Swiss Dinner Show are non
smoking events.', 15, 328);
$page->drawText('The bringing along of own food or beverages is not
permitted (exept out of medical reasons). All sales are final. Paid for
tickets cannot be ', 15, 317);
$page->drawText('refunded or changed, neither at the point of sale nor at
the venue nor through the producer.', 15, 306);

$bild = Zend_Pdf_Image::imageWithPath("img/logo/$i.jpg");
$hoehe = $bild->getPixelHeight();
$breite = $bild->getPixelWidth();
$page->drawImage($bild, 10, 720, 10+$breite, 720+$hoehe);

$bild = Zend_Pdf_Image::imageWithPath("img/$zeile[ort].jpg");
$hoehe = $bild->getPixelHeight();
$breite = $bild->getPixelWidth();
$page->drawImage($bild, 10, 0, 0+$breite, 0+$hoehe);
$string = $pdf->render();
header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename="datei.pdf"');
$i ++;
echo $string;
}


lieber Gruss

Lukas

php::bar PHP Wiki   -   Listenarchive