Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZendFramework] Generowanie PDF z szablonu
Forum PHP.pl > Forum > PHP > Frameworki
orideith
Witam Was mam taki problem i nie mogę sobie poradzić otóż mam pdf w formacie A4 gdzie mam wstawione kilka elementów graficznych do tego pdf chce wstawić cennik niestety kod który stworzyłem tworzy dokument z obrazkami a cennik pojawia się na kolejnych stronach jak "cofnąć" cennik na 1 stronę i jak na każdej stronie ustawić szablon odpowiedni.
Poniżej kod moich wypocin.

Jeżeli się nie da to jak wstawić obrazki jak wstawiłem na próbę obrazek to był odwrócony do góry nogami da się coś z tym zrobić czy mam tworzyć odwrócone obrazki questionmark.gif.
  1. <?php
  2. public function preDispatch(Zend_Controller_Request_Abstract $request)
  3. {
  4. if($request->getParam('id') == '-pdfcreate'){
  5. Zend_Loader::loadClass('Zend_Pdf');
  6. Zend_Loader::loadClass('Zend_Session');
  7. Zend_Loader::loadClass('Zend_Registry');
  8. $registry = Zend_Registry::getInstance();
  9. $price_ses = new Zend_Session_Namespace('cennik');
  10. $cennik = $price_ses->cennik[$registry->get('ll')];
  11. //$pdf = new Zend_Pdf();
  12. $pdf = Zend_Pdf::load('public/images/logo_pdf.pdf');
  13. //$pdf->pages = array_reverse($pdf->pages);
  14. $style = new Zend_Pdf_Style();
  15. $style->setFillColor(new Zend_Pdf_Color_HTML('#1b1b1b'));
  16. $style->setLineColor(new Zend_Pdf_Color_GrayScale(0.2));
  17. $style->setLineWidth(3);
  18. $style->setLineDashingPattern(array(3, 2, 3, 4), 1.6);
  19. $pdf->pages[0] = ($page1 = $pdf->newPage('A4'));
  20. $pdf->pages[1] = ($page2 = $pdf->newPage('A4'));
  21. $pdf->pages[2] = ($page3 = $pdf->newPage('A4'));
  22. $font = Zend_Pdf_Font::fontWithPath('public/arial.ttf');
  23. $style_naglowek = new Zend_Pdf_Style();
  24. $style_naglowek->setFillColor(new Zend_Pdf_Color_HTML('#f96304'));
  25. $d = '';
  26. $x = 700;
  27. $x2 = 700;
  28. $x3 = 700;
  29. //$stampImage = Zend_Pdf_Image::imageWithPath('public/images/logo_pdf.jpg');
  30. //$page1->drawImage($stampImage,30,800,520,620);
  31. $page1->setFont($font, 8);
  32. //$page1->drawLine(10,800,200,800);
  33. $page1->drawText('Copyright wszelkie prawa zastrzeżone',10,10,'UTF-8');
  34. $counter = 0;
  35. foreach ($cennik as $data){
  36. if(($data['id'] <> $d)) {
  37. if($counter <=50) {
  38. $page1->setFont($font, 10);
  39. $page1->setStyle($style_naglowek);
  40. $page1->drawText($data['namecat'],10,$x);
  41. $x = $x -12;
  42. } elseif (($counter > 50) AND ($counter <= 100))
  43. {
  44. $page2->setFont($font, 10);
  45. $page2->setStyle($style_naglowek);
  46. $page2->drawText($data['namecat'],10,$x2);
  47. $x2 = $x2 -12;
  48. } elseif ($counter > 100){
  49. $page3->setFont($font, 10);
  50. $page3->setStyle($style_naglowek);
  51. $page3->drawText($data['namecat'],10,$x3);
  52. $x3 = $x3 -12;
  53. } 
  54. }
  55. if($counter <=50) {
  56. $page1->setFont($font, 8);
  57. $page1->setStyle($style);
  58. $page1->drawText(stripslashes($data['name']),25,$x,'UTF-8');
  59. $x = $x -12;
  60. } elseif (($counter > 50) AND ($counter <= 100)){
  61. $page2->setFont($font, 8);
  62. $page2->setStyle($style);
  63. $page2->drawText(stripslashes($data['name']),25,$x2,'UTF-8');
  64. $x2 = $x2 -12;
  65. } elseif ($counter > 100){
  66. $page3->setFont($font, 8);
  67. $page2->setStyle($style);
  68. $page3->drawText(stripslashes($data['name']),25,$x3,'UTF-8');
  69. $x3 = $x3 -12;
  70. } 
  71. //$data['a'].$data['pricedown'].$data['b'].$data['priceup'].$data['c'] stripslashes($data['name'])
  72. $d = $data['id'];
  73. $counter++;
  74. }
  75. $pdfData = $pdf->render();
  76. header("Content-Disposition: inline; filename=cennik.pdf");
  77. header("Content-type: application/x-pdf");
  78. echo $pdfData;
  79. }
  80. }
  81. ?>


Pozdrawiam serdecznie.
chlebik
Nie znam sie na Zend_Pdf wlasnie dlatego, ze zasadniczo momentami jest z nim kiepsko. Polecam fPDFa - pieknie integruje sie z Zendem.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.