Source for file jTcpdf.class.php

Documentation is available at jTcpdf.class.php

  1. <?php
  2. /**
  3. @package     jelix
  4. @subpackage  utils
  5. @author      Julien Issler
  6. @contributor Laurent Jouanneau
  7. @copyright   2007-2009 Julien Issler, 2007 Laurent Jouanneau
  8. @link        http://www.jelix.org
  9. @licence     GNU Lesser General Public Licence see LICENCE file or http://www.gnu.org/licenses/lgpl.html
  10. @since 1.0
  11. */
  12.  
  13. define('K_TCPDF_EXTERNAL_CONFIG',true);
  14. define('K_PATH_MAIN'LIB_PATH.'tcpdf/');
  15. define('K_PATH_URL'$GLOBALS['gJConfig']->urlengine['basePath']);
  16. define('K_PATH_FONTS'LIB_PATH.'pdf-fonts/');
  17. define('K_PATH_CACHE'JELIX_APP_TEMP_PATH);
  18. define('K_PATH_IMAGES'JELIX_APP_PATH);
  19. define('K_BLANK_IMAGE'K_PATH_MAIN.'images/_blank.png');
  20. define('K_CELL_HEIGHT_RATIO'1.25);
  21. define('K_SMALL_RATIO'2/3);
  22. require_once (LIB_PATH.'tcpdf/tcpdf.php');
  23.  
  24. /**
  25.  * sub-class of TCPDF, for better Jelix integration (error handling) and easy save to disk feature.
  26.  * @package    jelix
  27.  * @subpackage utils
  28.  * @since 1.0
  29.  */
  30. class jTcpdf extends TCPDF {
  31.  
  32.     public function __construct($orientation='P'$unit='mm'$format='A4'$encoding=null{
  33.  
  34.         if($encoding === null)
  35.             $encoding $GLOBALS['gJConfig']->charset;
  36.  
  37.         parent::__construct($orientation$unit$format($encoding == 'UTF-8' || $encoding == 'UTF-16')$encoding);
  38.  
  39.         $this->setHeaderFont(array('helvetica','',10));
  40.         $this->setFooterFont(array('helvetica','',10));
  41.         $this->setFont('helvetica','',10);
  42.     }
  43.  
  44.  
  45.     /**
  46.      * Throw an exception when an error occurs, instead of die()
  47.      * @param string $msg The error's message generated by TCPDF
  48.      */
  49.     public function Error($msg){
  50.         throw new Exception($msg);
  51.     }
  52.  
  53.  
  54.     /**
  55.      * Method to save the current document to a file on the disk
  56.      * @param string $filename The target filename
  57.      * @param string $path The target path where to store the file
  58.      * @return boolean TRUE if success, else throws a jException
  59.      */
  60.     public function saveToDisk($filename,$path){
  61.  
  62.         if(!is_dir($path))
  63.             throw new jException('jelix~errors.file.directory.notexists',array($path));
  64.         
  65.         if(!is_writable($path))
  66.            throw new jException('jelix~errors.file.directory.notwritable',array($path));
  67.  
  68.         if(file_put_contents(realpath($path).'/'.$filename$this->Output('','S')))
  69.            return true;       
  70.  
  71.         throw new jException('jelix~errors.file.write.error',array($path.'/'.$filename,''));
  72.  
  73.     }
  74.  
  75. }

Documentation generated on Thu, 22 Mar 2012 22:17:19 +0100 by phpDocumentor 1.4.3