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
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 (IMG:http://forum.php.pl/style_emoticons/default/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.
Go to the top of the page
+Quote Post
chlebik
post
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.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 23:03