Login   Register  
PHP Classes
elePHPant
Icontem

File: readme.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  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: 2001-12-11 05:35
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();
}
?>