Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [ZendFramework] Generowanie PDF z szablonu, ... lub jak wstawić obrazek by normalnie wyglądał
orideith
post 10.08.2008, 08:58:20
Post #1





Grupa: Zarejestrowani
Postów: 72
Pomógł: 1
Dołączył: 21.07.2006

Ostrzeżenie: (0%)
-----


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.


--------------------
projektowanie stron warszawa ::: projektowanie www ::: projekty www
Go to the top of the page
+Quote Post
chlebik
post 14.08.2008, 19:00:19
Post #2





Grupa: Zarejestrowani
Postów: 113
Pomógł: 5
Dołączył: 12.09.2006
Skąd: Pruszków/Warszawa

Ostrzeżenie: (0%)
-----


Nie znam sie na Zend_Pdf wlasnie dlatego, ze zasadniczo momentami jest z nim kiepsko. Polecam fPDFa - pieknie integruje sie z Zendem.


--------------------
"Człowiek dążący do swego celu może być skuteczny tylko w przypadku, jeśli każdą minutę swego życia wykorzysta z maksymalną korzyścią dla osiągnięcia zaplanowanego celu. Jeśli stworzył dla siebie system kar i karze sam siebie za każdą zmarnowaną minutę. Człowiekowi w zupełności wystarczą 3-4 godziny snu, cały pozostały czas może być wykorzystany dla osiągnięcia upragnionego celu." -- Wiktor Suworow
Java devBlog
KulturalnyChlebik
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 13.06.2025 - 03:57