Ver Mensaje Individual
  #3 (permalink)  
Antiguo 23/12/2010, 12:52
mar_y_sol
 
Fecha de Ingreso: febrero-2010
Ubicación: Machala
Mensajes: 9
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: No se carga imagen con libreria tcpdf con zend framework

Ok, tengo el siguiente codigo:

Una clase que hereda de tcpdf y es donde cargo la imagen:

Código PHP:
require_once 'tcpdf/tcpdf.php';

class 
adm_createCurriculum extends TCPDF
{
        public function 
Header() {
        
// Logo
        
$image_file K_PATH_IMAGES.'foto.png';
        
$this->Image($image_file101015'''PNG''''T'false300''falsefalse0falsefalsefalse);
        
// Set font
        
$this->SetFont('helvetica''B'20);
        
// Title
        
$this->Cell(015'Curriculum Vitae'0false'C'0''0false'T''M');
    }

    
// Page footer
    
public function Footer() {
        
// Position at 15 mm from bottom
        
$this->SetY(-15);
        
// Set font
        
$this->SetFont('helvetica''I'8);
        
// Page number
        
$this->Cell(010'Pagina '.$this->getAliasNumPage().'/'.$this->getAliasNbPages(), 0false'R'0''0false'T''M');
    }


la constante K_PATH_IMAGES está en el archivo de configuración de la librería:
Código PHP:
if (!defined('K_TCPDF_EXTERNAL_CONFIG')) {

    
// DOCUMENT_ROOT fix for IIS Webserver
    
if ((!isset($_SERVER['DOCUMENT_ROOT'])) OR (empty($_SERVER['DOCUMENT_ROOT']))) {
        if(isset(
$_SERVER['SCRIPT_FILENAME'])) {
            
$_SERVER['DOCUMENT_ROOT'] = str_replace'\\''/'substr($_SERVER['SCRIPT_FILENAME'], 00-strlen($_SERVER['PHP_SELF'])));
        } elseif(isset(
$_SERVER['PATH_TRANSLATED'])) {
            
$_SERVER['DOCUMENT_ROOT'] = str_replace'\\''/'substr(str_replace('\\\\''\\'$_SERVER['PATH_TRANSLATED']), 00-strlen($_SERVER['PHP_SELF'])));
        }    else {
            
// define here your DOCUMENT_ROOT path if the previous fails
            
$_SERVER['DOCUMENT_ROOT'] = 'C:/xampp/htdocs/reporte/library/tcpdf';//aqui defino una ruta pero no estoy segura de como debe estar declarada la ruta, si es donde están todos los proyectos o solo el que utilizo, 
        
}
    }

    
// Automatic calculation for the following K_PATH_MAIN constant
    
$k_path_main str_replace'\\''/'realpath(substr(dirname(__FILE__), 00-strlen('config'))));
    if (
substr($k_path_main, -1) != '/') {
        
$k_path_main .= '/';
    }

    
/**
     * Installation path (/var/www/tcpdf/).
     * By default it is automatically calculated but you can also set it as a fixed string to improve performances.
     */
    
define ('K_PATH_MAIN'$k_path_main);

    
// Automatic calculation for the following K_PATH_URL constant
    
$k_path_url $k_path_main// default value for console mode
    
if (isset($_SERVER['HTTP_HOST']) AND (!empty($_SERVER['HTTP_HOST']))) {
        if(isset(
$_SERVER['HTTPS']) AND (!empty($_SERVER['HTTPS'])) AND strtolower($_SERVER['HTTPS'])!='off') {
            
$k_path_url 'https://';
        } else {
            
$k_path_url 'http://';
        }
        
$k_path_url .= $_SERVER['HTTP_HOST'];
        
$k_path_url .= str_replace'\\''/'substr(K_PATH_MAIN, (strlen($_SERVER['DOCUMENT_ROOT']) - 1)));
    }

    
/**
     * URL path to tcpdf installation folder (http://localhost/tcpdf/).
     * By default it is automatically calculated but you can also set it as a fixed string to improve performances.
     */
    
define ('K_PATH_URL'$k_path_url);

    
/**
     * path for PDF fonts
     * use K_PATH_MAIN.'fonts/old/' for old non-UTF8 fonts
     */
    
define ('K_PATH_FONTS'K_PATH_MAIN.'fonts/');

    
/**
     * cache directory for temporary files (full path)
     */
    
define ('K_PATH_CACHE'K_PATH_MAIN.'cache/');

    
/**
     * cache directory for temporary files (url path)
     */
    
define ('K_PATH_URL_CACHE'K_PATH_URL.'cache/');

    
/**
     *images directory
     */
    
define ('K_PATH_IMAGES'K_PATH_MAIN.'images/');

    
/**
     * blank image
     */
    
define ('K_BLANK_IMAGE'K_PATH_IMAGES.'_blank.png');

    
/**
     * page format
     */
    
define ('PDF_PAGE_FORMAT''A4');

    
/**
     * page orientation (P=portrait, L=landscape)
     */
    
define ('PDF_PAGE_ORIENTATION''P');

    
/**
     * document creator
     */
    
define ('PDF_CREATOR''TCPDF');

    
/**
     * document author
     */
    
define ('PDF_AUTHOR''TCPDF');

    
/**
     * header title
     */
    
define ('PDF_HEADER_TITLE''TCPDF Example');

    
/**
     * header description string
     */
    
define ('PDF_HEADER_STRING'"by Nicola Asuni - Tecnick.com\nwww.tcpdf.org");

    
/**
     * image logo
     */
    
define ('PDF_HEADER_LOGO''tcpdf_logo.jpg');

    
/**
     * header logo image width [mm]
     */
    
define ('PDF_HEADER_LOGO_WIDTH'30);

    
/**
     *  document unit of measure [pt=point, mm=millimeter, cm=centimeter, in=inch]
     */
    
define ('PDF_UNIT''mm');

    
/**
     * header margin
     */
    
define ('PDF_MARGIN_HEADER'5);

    
/**
     * footer margin
     */
    
define ('PDF_MARGIN_FOOTER'10);

    
/**
     * top margin
     */
    
define ('PDF_MARGIN_TOP'27);

    
/**
     * bottom margin
     */
    
define ('PDF_MARGIN_BOTTOM'25);

    
/**
     * left margin
     */
    
define ('PDF_MARGIN_LEFT'15);

    
/**
     * right margin
     */
    
define ('PDF_MARGIN_RIGHT'15);

    
/**
     * default main font name
     */
    
define ('PDF_FONT_NAME_MAIN''helvetica');

    
/**
     * default main font size
     */
    
define ('PDF_FONT_SIZE_MAIN'10);

    
/**
     * default data font name
     */
    
define ('PDF_FONT_NAME_DATA''helvetica');

    
/**
     * default data font size
     */
    
define ('PDF_FONT_SIZE_DATA'8);

    
/**
     * default monospaced font name
     */
    
define ('PDF_FONT_MONOSPACED''courier');

    
/**
     * ratio used to adjust the conversion of pixels to user units
     */
    
define ('PDF_IMAGE_SCALE_RATIO'1.25);

    
/**
     * magnification factor for titles
     */
    
define('HEAD_MAGNIFICATION'1.1);

    
/**
     * height of cell repect font height
     */
    
define('K_CELL_HEIGHT_RATIO'1.25);

    
/**
     * title magnification respect main font size
     */
    
define('K_TITLE_MAGNIFICATION'1.3);

    
/**
     * reduction factor for small font
     */
    
define('K_SMALL_RATIO'2/3);

    
/**
     * set to true to enable the special procedure used to avoid the overlappind of symbols on Thai language
     */
    
define('K_THAI_TOPCHARS'true);

    
/**
     * if true allows to call TCPDF methods using HTML syntax
     * IMPORTANT: For security reason, disable this feature if you are printing user HTML content.
     */
    
define('K_TCPDF_CALLS_IN_HTML'true); 
Un controlador donde hago uso de esa clase:

Código PHP:
require_once APPLICATION_PATH .'/functions/adm_createCurriculum.php';
require_once 
'tcpdf/config/lang/spa.php';
require_once 
'tcpdf/tcpdf.php';

class 
IndexController extends Zend_Controller_Action
{
      public function 
indexAction()
     {
      try{
        
// create new PDF document
        
$pdf = new adm_createCurriculum(PDF_PAGE_ORIENTATIONPDF_UNITPDF_PAGE_FORMATtrue'UTF-8'false);//adm_createCurriculum();//
        
        // set document information
        
$pdf->SetCreator(PDF_CREATOR);
        
$pdf->SetAuthor('UTMACH');
        
$pdf->SetTitle('Curriculum Vitae');
        
$pdf->SetSubject('RR.HH.');
        
        
// set font
        
$pdf->SetFont('times'''16);

        
//add a page
        
$pdf->AddPage();
        
$pdf->Cell(20,20,"Patricia Perez",0,0,'L');        
        
$pdf->Ln(15);
        
$pdf->MultiCell(0,40,"Algo por ahi que ya no me acuerdo y tiene mucho que decir, haber que mas le agrego para que salte a la siguiente linea.");
        
        
//Close and output PDF document
        
echo $pdf->Output("file.pdf","I");
       }catch(
Exception$ex)
       {
         echo 
$ex->getMessage();    
       }
    }

Ese es el código principal que utilizo...