PDA

Vollständige Version anzeigen : Zend_Pdf Image Problem


matzino
23.02.2009, 15:53
Hallo Forum,

ich habe ein kleines Problem mit der Generierung von PDF-Dokumenten und das einbinden von Images.

Grundsätzlich funktioniert es erstmal wie in der Doku beschrieben. Das Problem tritt auf beim zeichnen des Bildes. Und zwar zeichnet Zend_Pdf das Bild verkehrt herum!??

Nach dem Blick in die Doku (http://framework.zend.com/manual/de/zend.pdf.drawing.html#zend.pdf.drawing.image-drawing) und API (http://framework.zend.com/apidoc/core/Zend_Pdf/Zend_Pdf_Page.html#methoddrawImage) von Zend, müsste die Parameterreihenfolge nach meinen Verständnis die folgende sein:
(image, pos-X, pos-Y, img-Width, img-Height)

Ich habe jetzt schon versucht danach zu googlen, hab aber nur folgendes finden können: http://devzone.zend.com/article/2525-Zend_Pdf-tutorial

Dort finde ich dann sowas:

Draw image
$page->drawImage($image, $left, $bottom, $right, $top);
Damit funktioniert das leider auch nicht, stattdessen wird das PDF mit einer leeren Seite erstellt und beim öffnen die Fehlermeldung: "Falscher Operandentyp." ausgegeben.

Kann mir jemand weiterhelfen und mir sagen wie ich die Parameter angeben muss, damit mir das Bild richtig herum ausgegeben wird!?

Eingesetztes Zend-Framework: Version 1.7.3

lg matzino

KingCrunch
23.02.2009, 16:00
Eingesetztes Zend-Framework: Version 1.7.3Updaten. Kann zum Problem zwar nichts direkt sagen, aber man ebenso wenig weiß ich, ob es sich nicht in einer der mittlerweile 2 neueren Version in Wohlgefallen aufgelöst hat ;)

Remi
23.02.2009, 17:01
Schau doch einfach in die Datei Pdf/Page.php und dort die Methode drawImage().

Remi

matzino
23.02.2009, 17:40
Updaten. Kann zum Problem zwar nichts direkt sagen, aber man ebenso wenig weiß ich, ob es sich nicht in einer der mittlerweile 2 neueren Version in Wohlgefallen aufgelöst hat ;)

Gleich 2 neuere Versionen :rolleyes:, hmmm... die erste hab ich ja noch mitgekriegt, die zweite wohl überhört :D Werd ich auch gleich mal updaten. thx

Schau doch einfach in die Datei Pdf/Page.php und dort die Methode drawImage().

Remi

Und das hat es gebracht, hätte ich eigentlich auch selber drauf kommen können! Naja vll. beim nächsten mal ;)

$x1Obj = new Zend_Pdf_Element_Numeric($x1);
$y1Obj = new Zend_Pdf_Element_Numeric($y1);
$widthObj = new Zend_Pdf_Element_Numeric($x2 - $x1);
$heightObj = new Zend_Pdf_Element_Numeric($y2 - $y1);Auszug aus der Page.php

Verstehe ich zwar auch net 100% aber mit try&error bin ich zu folgenden Ergebnis gekommen:

(image, marginLeft, imageHeight, imageWidth, marginBottom)

Damit zeichnet er mir das Image wie ich es mir wünsche!

Danke für eure Hilfe!

lg matzino