PHP Classes

File: readme.php

Recommend this page to a friend!
  Classes of wayne a munro   classPdf   readme.php   Download  
File: readme.php
Role: Example script
Content type: text/plain
Description: demo file
Class: classPdf
Author: By
Last change:
Date: 22 years ago
Size: 4,259 bytes
 

Contents

Class file image Download
<?php
//===================================================================================================
// this is the php file which creates the readme.pdf file, this is not seriously
// suggested as a good way to create such a file, nor a great example of prose,
// but hopefully it will be useful
//
// adding ?d=1 to the url calling this will cause the pdf code itself to ve echoed to the
// browser, this is quite useful for debugging purposes.
// there is no option to save directly to a file here, but this would be trivial to implement.
//
// note that this file comprisises both the demo code, and the generator of the pdf documentation
//
//===================================================================================================

// don't want any warnings turning up in the pdf code if the server is set to 'anal' mode.
error_reporting(7);

include
'class.ezpdf.php';

// I am in NZ, so will design my page for A4 paper.. but don't get me started on that.
// (defaults to legal)
// this code has been modified to use ezpdf.

$pdf = new Cezpdf('a4','portrait');

$pdf -> ezSetMargins(50,70,50,50);

// put a border round all the pages
$all = $pdf->openObject();
$pdf->rectangle(20,40,558,782);
$pdf->closeObject();
// note that object can be told to appear on just odd or even pages by changing 'all' to 'odd'
// or 'even'.
$pdf->addObject($all,'all');

$pdf->ezSetDy(-100);

// select a font
$pdf->selectFont('./fonts/Helvetica');

$pdf->ezText("PHP Pdf Creation\n",30,array('justification'=>'centre'));
$pdf->ezText("Module-free creation of Pdf documents\nfrom within PHP\n",20,array('justification'=>'centre'));
$pdf->ezText("developed by R&OS Ltd\nhttp://www.ros.co.nz/pdf\n\nversion 0.05",18,array('justification'=>'centre'));

$pdf->ezSetDy(-150);
// modified to use the local file if it can

if (file_exists('ros.jpg')){
 
$pdf->addJpegFromFile('ros.jpg',199,$pdf->y-100,200,0);
} else {
 
// comment out these two lines if you do not have GD jpeg support
  // I couldn't quickly see a way to test for this support from the code.
  // you could also copy the file from the locatioin shown and put it in the directory, then
  // the code above which doesn't use GD will be activated.
 
$img = ImageCreatefromjpeg('http://www.ros.co.nz/pdf/ros.jpg');
 
$pdf-> addImage($img,199,$pdf->y-100,200,0);
}

//-----------------------------------------------------------
// load up the document content
$data=file('./data.txt');

$pdf->ezNewPage();

$pdf->ezStartPageNumbers(500,30,10,'','',1);

$size=12;
$height = $pdf->getFontHeight($size);

foreach (
$data as $line){
 
// go through each line, showing it as required, if it is surrounded by '<>' then
  // assume that it is a title
 
$line=chop($line);
  if (
$line[0]=='#'){
   
// comment, or new page request
   
if ($line=='#NP'){
     
$pdf->ezNewPage();
    }
  } else if ((
$line[1]=='<' || $line[0]=='<') && $line[strlen($line)-1]=='>') {
   
// then this is a title
   
switch($line[0]){
      case
'1':
       
$pdf->ezText(substr($line,2,strlen($line)-3),26,array('justification'=>'centre'));
        break;
      default:
       
$pdf->ezText(substr($line,2,strlen($line)-3),18,array('justification'=>'left'));
        break;
    }
  } else {
   
// then this is just text
    // the ezpdf function will take care of all of the wrapping etc.
   
$pdf->ezText($line,$size,array('justification'=>'full'));
  }
 
}

/*
// show all the fonts that we have
$pdf->newPage();
$y=$top;

addTitle($pdf,$y,30,'Font Sampler (basic fonts)');

$fonts=array(
'Courier','Courier-Bold','Courier-BoldOblique','Courier-Oblique'
,'Helvetica','Helvetica-Bold','Helvetica-BoldOblique','Helvetica-Oblique'
,'Times-Roman','Times-Bold','Times-BoldItalic','Times-Italic'
);

foreach($fonts as $font){
  $pdf->selectFont('./fonts/'.$font);
  addText($pdf,$y,18,$font);
  addText($pdf,$y,18,'abcdefghijklmnopqrstuvwxyz');
  addText($pdf,$y,10,'');
}
*/


if ($d){
 
$pdfcode = $pdf->ezOutput(1);
 
$pdfcode = str_replace("\n","\n<br>",htmlspecialchars($pdfcode));
  echo
'<html><body>';
  echo
trim($pdfcode);
  echo
'</body></html>';
} else {
 
$pdf->ezStream();
}
?>