Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][ufpdf] Ilość stron w pdfie
Forum PHP.pl > Forum > PHP
MMX3
Witam,

Natknąłem się na tutorial z fpdf:
  1. <?php
  2. require('fpdf.php');
  3.  
  4. class PDF extends FPDF
  5. {
  6. //Page header
  7. function Header()
  8. {
  9. //Logo
  10. $this->Image('logo_pb.png',10,8,33);
  11. //Arial bold 15
  12. $this->SetFont('Arial','B',15);
  13. //Move to the right
  14. $this->Cell(80);
  15. //Title
  16. $this->Cell(30,10,'Title',1,0,'C');
  17. //Line break
  18. $this->Ln(20);
  19. }
  20.  
  21. //Page footer
  22. function Footer()
  23. {
  24. //Position at 1.5 cm from bottom
  25. $this->SetY(-15);
  26. //Arial italic 8
  27. $this->SetFont('Arial','I',8);
  28. //Page number
  29. $this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C');
  30. }
  31. }
  32.  
  33. //Instanciation of inherited class
  34. $pdf=new PDF();
  35. $pdf->AliasNbPages();
  36. $pdf->AddPage();
  37. $pdf->SetFont('Times','',12);
  38. for($i=1;$i<=40;$i++)
  39. $pdf->Cell(0,10,'Printing line number '.$i,0,1);
  40. $pdf->Output();
  41. ?>

lecz w ufpdf nie działa. wyświetla {nb} zamiast liczby stron dokumentu. Rozwiązał to ktoś jakoś po ludzku?

Pozdr,
mmx3
tomalec
Mi się chyba udało, co prawda chyba mało zgrabnie :/

do
ufpdf.php nadpisujemy fdpfową metodę
  1. <?php
  2. function AliasNbPages($alias='{nb}')
  3. {
  4. //Define an alias for total number of pages
  5. $this->AliasNbPages=$this->utf8_to_utf16be($alias,false);
  6. }
  7. ?>


w fpdf.php w _putpages()

  1. <?php
  2. $nb=$this->page;
  3. if(!empty($this->AliasNbPages))
  4. {
  5. //Replace number of pages
  6. for($n=1;$n<=$nb;$n++)
  7. $this->pages[$n]=str_replace($this->AliasNbPages,$nb,$this->pages[$n]);
  8. }
  9. ?>


zmianiamy na

  1. <?php
  2. $nb=(string)$this->page;//wymuszamy string'a żeby utf8_to_utf16be dobrze zadziałał
  3. if(!empty($this->AliasNbPages))
  4. {
  5. //Replace number of pages
  6. for($n=1;$n<=$nb;$n++)
  7. $this->pages[$n]=str_replace($this->AliasNbPages,$this->utf8_to_utf16be($nb,false),$this->pages[$n]);
  8. }
  9. ?>
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.