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-2011 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',
  16.        $GLOBALS['gJCoord']->request->getServerURI(.
  17.        $GLOBALS['gJConfig']->urlengine['basePath']);
  18. define('K_PATH_FONTS'LIB_PATH.'pdf-fonts/');
  19. define('K_PATH_CACHE'jApp::tempPath());
  20. define('K_PATH_IMAGES'jApp::appPath());
  21. define('K_BLANK_IMAGE'K_PATH_MAIN.'images/_blank.png');
  22. define('K_CELL_HEIGHT_RATIO'1.25);
  23. define('K_SMALL_RATIO'2/3);
  24. require_once (LIB_PATH.'tcpdf/tcpdf.php');
  25.  
  26. /**
  27.  * sub-class of TCPDF, for better Jelix integration (error handling) and easy save to disk feature.
  28.  * @package    jelix
  29.  * @subpackage utils
  30.  * @since 1.0
  31.  */
  32. class jTcpdf extends TCPDF {
  33.  
  34.     public function __construct($orientation='P'$unit='mm'$format='A4'$encoding=null{
  35.  
  36.         if($encoding === null)
  37.             $encoding $GLOBALS['gJConfig']->charset;
  38.  
  39.         parent::__construct($orientation$unit$format($encoding == 'UTF-8' || $encoding == 'UTF-16')$encoding);
  40.  
  41.         $this->setHeaderFont(array('helvetica','',10));
  42.         $this->setFooterFont(array('helvetica','',10));
  43.         $this->setFont('helvetica','',10);
  44.     }
  45.  
  46.  
  47.     /**
  48.      * Throw an exception when an error occurs, instead of die()
  49.      * @param string $msg The error's message generated by TCPDF
  50.      */
  51.     public function Error($msg){
  52.         throw new Exception($msg);
  53.     }
  54.  
  55.  
  56.     /**
  57.      * Method to save the current document to a file on the disk
  58.      * @param string $filename The target filename
  59.      * @param string $path The target path where to store the file
  60.      * @return boolean TRUE if success, else throws a jException
  61.      */
  62.     public function saveToDisk($filename,$path){
  63.  
  64.         if(!is_dir($path))
  65.             throw new jException('jelix~errors.file.directory.notexists',array($path));
  66.  
  67.         if(!is_writable($path))
  68.            throw new jException('jelix~errors.file.directory.notwritable',array($path));
  69.  
  70.         if(file_put_contents(realpath($path).'/'.$filename$this->Output('','S')))
  71.            return true;
  72.  
  73.         throw new jException('jelix~errors.file.write.error',array($path.'/'.$filename,''));
  74.  
  75.     }
  76.  
  77. }

Documentation generated on Mon, 19 Sep 2011 14:13:40 +0200 by phpDocumentor 1.4.3