Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour, j arrive donc pas a inserer des images dans mon pdf cf mon code:
$stampImage = new Zend_Pdf_Image_JPEG(dirname(__FILE__) . 'banniere.jpg');
$pdf1->pages[0]->drawImage($stampImage, 500, -60, 600, 40);
Fatal error: Class 'Zend_Pdf_Image_JPEG' not found
et en effet j arrive pas a trouver les fichiers relatif a cette classe
Merci de votre aide
Hors ligne
Je n'ai pas encore testé le composant Zend_Pdf mais d'après le manuel la classe s'est Zend_Pdf_Image, va voir sur : http://framework.zend.com/manual/en/zen … ge-drawing
Hors ligne
ZendFramework est en perpetuelle mutation. De mon coté perso, je suis relié au dépot de données CVS pour être constamment à jour.
Il arrive que des méthodes disparaissent, changent de place, ou soient renommées, et la doc n'est pas toujours à jour ( c'est de plus en plus rare avec la stabilisation vers 1.0 ).
Hors ligne
G essayé avec Zend_Pdf_Image
result
Cannot instantiate abstract class Zend_Pdf_Image
Merci qd meme
G un second pb j essaie aussi de mettre de la couleur
code:
$pdf1->pages[0]->setFillColor(new Zend_Pdf_Color_RGB(94, 197, 236));
$pdf1->pages[0]->setLineColor(new Zend_Pdf_Color_RGB(94, 197, 236));
$pdf1->pages[0]->drawText('coco', 100, 100);
pas d erreur mais le texte n apparait plus
Hors ligne
HELP please ...
Hors ligne
schum-hacker a écrit:
$pdf1->pages[0]->setFillColor(new Zend_Pdf_Color_RGB(94, 197, 236));
$pdf1->pages[0]->setLineColor(new Zend_Pdf_Color_RGB(94, 197, 236));
pas d erreur mais le texte n apparait plus
Hello,
La couleur que tu utilises en remplissage et pour ton texte est la même. J'imagine que du coup ton texte n'est pas visible. Tente de changer une des deux couleurs et dis-moi si ça résoud ton problème ^^
Bonne journée,
Cyril
Hors ligne
Bonjour,
J'ai le même genre de problème...
Avez-vous règlé le votre?
C'est la première fois que j'utilise Zend_Pdf...
Mais quand je reprends l'exemple, seul les images s'affichent dans le pdf...
J'ai essayé un petit bout de code tout simple pour ajouter du texte...
Mais le pdf se crée avec une page complètement blanche... pas de texte
J'ai ce message d'erreur aussi :
[13-Mar-2008 11:58:05] PHP Notice: iconv() [<a href='function.iconv'>function.iconv</a>]: Wrong charset, conversion from `' to `CP1252//IGNORE' is not allowed in /usr/local/Zend/ZendFramework/library/Zend/Pdf/Resource/Font.php on line 522
<?php /** Zend_Pdf */ require_once 'Zend/Pdf.php'; $argv[1]='ci.pdf'; if (!isset($argv[1])) { echo "USAGE: php demo.php <pdf_file> [<output_pdf_file>]\n"; exit; } try { $pdf = Zend_Pdf::load($argv[1]); } catch (Zend_Pdf_Exception $e) { if ($e->getMessage() == 'Can not open \'' . $argv[1] . '\' file for reading.') { // Create new PDF if file doesn't exist $pdf = new Zend_Pdf(); if (!isset($argv[2])) { // force complete file rewriting (instead of updating) $argv[2] = $argv[1]; } } else { // Throw an exception if it's not the "Can't open file" exception throw $e; } } //------------------------------------------------------------------------------------ // Reverse page order $pdf->pages = array_reverse($pdf->pages); // Create new Style $style = new Zend_Pdf_Style(); $style->setFillColor(new Zend_Pdf_Color_Rgb(0, 0, 0)); $style->setLineColor(new Zend_Pdf_Color_GrayScale(0.2)); $style->setLineWidth(3); $style->setLineDashingPattern(array(3, 2, 3, 4), 1.6); $style->setFont(Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA_BOLD), 32); // Create new image object //$stampImage = Zend_Pdf_Image::imageWithPath(dirname(__FILE__) . '/stamp.jpg'); // Add new page generated by Zend_Pdf object (page is attached to the specified the document) $pdf->pages[] = ($page1 = $pdf->newPage('A4')); // Apply font and draw text $page1->setFont($font, 18); $page1->setFillColor(Zend_Pdf_Color_Html::color('#000000')); $page1->drawText('Bonjour', 60, 500); if (isset($argv[2])) { $pdf->save($argv[2]); } else { $pdf->save($argv[1], true /* update */); } ?>
Dernière modification par sananas (13-03-2008 11:59:51)
Hors ligne
pour répondre rapidement au message precedent "ajout de texte", ci joint un script qui fonctionne avec la version 1.5 et permet d'écrire dans un fichier pdf.
<?php require_once('Zend/Loader.php'); spl_autoload_register(array('Zend_Loader', 'autoload')); //Create new PDF $pdf = new Zend_Pdf(); // Add new page to the document $page = $pdf->newPage(Zend_Pdf_Page::SIZE_A4); $page2 = $pdf->newPage(Zend_Pdf_Page::SIZE_A4_LANDSCAPE); $pdf->pages[] = $page; $pdf->pages[] = $page2; $page->setFont(Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA), 20); // Draw text $page->drawText('Hello world!', 100, 510); $page->setFont(Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA), 30); $page->drawText('Ma page pdf', 5, 810); $page2->setFont(Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA), 30); $page2->drawText('Ma deuxieme page Pdf', 5, 5); // Get PDF document as a string $pdfData = $pdf->render(); // Pour rendre le fichier telechargable header("Content-Disposition: inline; filename=result.pdf"); header("Content-type: application/x-pdf"); echo $pdfData; // code pour enregitrer le fichier sur le serveur //$fileName ="monfichier3.pdf"; //$pdf->save($fileName);
en revanche, si je veux insérer une image
// inserer un image $image = Zend_Pdf_Image::imageWithPath('monimage.jpg'); $page->drawImage($image, 100, 100, 400, 300);
le script ne fonctionne plus (GD est installé sur mon serveur).
J'obtiens une erreur fatal :
<b>Fatal error</b>: Call to undefined method Zend_Pdf_Image::imagewithpath() in <b>C:\wamp\www\zend_test\Copie de zend_pdf.php</b> on line <b>25</b><br />. sur mon serveur de test,
le script fonctionne sur mon serveur de production. (version du framework identique). => Version de GD ???
Dernière modification par philippe2004 (24-03-2008 21:30:35)
Hors ligne
Bonjour,
J'utilise ZF 1.0.4 et je fais comme ça pour les images :
require_once 'Zend/Pdf/Resource/ImageFactory.php'; $image = Zend_Pdf_Resource_ImageFactory::factory($imageFileName); $dfPage->drawImage($image, $X, $Y-2, $X+$image->getPixelWidth(), $Y+$image->getPixelHeight()-2);
Attention, ZF prend en charge seulement les images de type JPG, TIFF et PNG et pour les PNG elle ne sont pas gérées complètement (canal alpha). Je regrette l'absence des GIF.
Olivier
Hors ligne
Pages: 1