home *** CD-ROM | disk | FTP | other *** search
/ Cricao de Sites - 650 Layouts Prontos / WebMasters.iso / Servidores / xampp-win32-1.6.7-installer.exe / php / PEAR / fpdf / tutorial / tuto4.php < prev    next >
Encoding:
PHP Script  |  2004-12-31  |  2.2 KB  |  114 lines

  1. <?php
  2. require('../fpdf.php');
  3.  
  4. class PDF extends FPDF
  5. {
  6. //Current column
  7. var $col=0;
  8. //Ordinate of column start
  9. var $y0;
  10.  
  11. function Header()
  12. {
  13.     //Page header
  14.     global $title;
  15.  
  16.     $this->SetFont('Arial','B',15);
  17.     $w=$this->GetStringWidth($title)+6;
  18.     $this->SetX((210-$w)/2);
  19.     $this->SetDrawColor(0,80,180);
  20.     $this->SetFillColor(230,230,0);
  21.     $this->SetTextColor(220,50,50);
  22.     $this->SetLineWidth(1);
  23.     $this->Cell($w,9,$title,1,1,'C',1);
  24.     $this->Ln(10);
  25.     //Save ordinate
  26.     $this->y0=$this->GetY();
  27. }
  28.  
  29. function Footer()
  30. {
  31.     //Page footer
  32.     $this->SetY(-15);
  33.     $this->SetFont('Arial','I',8);
  34.     $this->SetTextColor(128);
  35.     $this->Cell(0,10,'Page '.$this->PageNo(),0,0,'C');
  36. }
  37.  
  38. function SetCol($col)
  39. {
  40.     //Set position at a given column
  41.     $this->col=$col;
  42.     $x=10+$col*65;
  43.     $this->SetLeftMargin($x);
  44.     $this->SetX($x);
  45. }
  46.  
  47. function AcceptPageBreak()
  48. {
  49.     //Method accepting or not automatic page break
  50.     if($this->col<2)
  51.     {
  52.         //Go to next column
  53.         $this->SetCol($this->col+1);
  54.         //Set ordinate to top
  55.         $this->SetY($this->y0);
  56.         //Keep on page
  57.         return false;
  58.     }
  59.     else
  60.     {
  61.         //Go back to first column
  62.         $this->SetCol(0);
  63.         //Page break
  64.         return true;
  65.     }
  66. }
  67.  
  68. function ChapterTitle($num,$label)
  69. {
  70.     //Title
  71.     $this->SetFont('Arial','',12);
  72.     $this->SetFillColor(200,220,255);
  73.     $this->Cell(0,6,"Chapter  $num : $label",0,1,'L',1);
  74.     $this->Ln(4);
  75.     //Save ordinate
  76.     $this->y0=$this->GetY();
  77. }
  78.  
  79. function ChapterBody($fichier)
  80. {
  81.     //Read text file
  82.     $f=fopen($fichier,'r');
  83.     $txt=fread($f,filesize($fichier));
  84.     fclose($f);
  85.     //Font
  86.     $this->SetFont('Times','',12);
  87.     //Output text in a 6 cm width column
  88.     $this->MultiCell(60,5,$txt);
  89.     $this->Ln();
  90.     //Mention
  91.     $this->SetFont('','I');
  92.     $this->Cell(0,5,'(end of excerpt)');
  93.     //Go back to first column
  94.     $this->SetCol(0);
  95. }
  96.  
  97. function PrintChapter($num,$title,$file)
  98. {
  99.     //Add chapter
  100.     $this->AddPage();
  101.     $this->ChapterTitle($num,$title);
  102.     $this->ChapterBody($file);
  103. }
  104. }
  105.  
  106. $pdf=new PDF();
  107. $title='20000 Leagues Under the Seas';
  108. $pdf->SetTitle($title);
  109. $pdf->SetAuthor('Jules Verne');
  110. $pdf->PrintChapter(1,'A RUNAWAY REEF','20k_c1.txt');
  111. $pdf->PrintChapter(2,'THE PROS AND CONS','20k_c2.txt');
  112. $pdf->Output();
  113. ?>
  114.