/**
* Libreria externa.
* @var int $pdf
- * @access private
+ * @access protected
*/
var $_pdf;
*/
var $_paginas = array();
+ /**
+ * Nombre del archivo resultado para el display.
+ * @var sting $nombre
+ * @access private
+ */
+ var $_nombre;
+
/**
* Class constructor.
*
* @param string $tam Tipo de hoja
- * @param string $ori Orientacion de las hojaz (portrait o landscape).
+ * @param string $ori Orientacion de las hojas (portrait o landscape).
+ * @param string $nombre Nombre del archivo PDF.
*
* @return void
* @access public
*/
- function MECON_PDF($tam = "a4", $ori = "portrait")
+ function MECON_PDF($tam = "a4", $ori = "portrait", $nombre = "Doc.pdf")
{
+ setlocale (LC_ALL, 'en_US');
$this->orientacion = $ori;
$this->_pdf = new pdffile;
$this->_config = include 'MECON/PDF/medidas.php';
$this->_config = $this->_config[$tam];
+ $this->_nombre = $nombre;
}
/**
* Permite agregar nuevas paginas al pdf que se esta armando.
*
* @param string $pagina Tipo de pagina que se va a utilizar.
+ * @param string $orientacion Orientacion de la pagina en particular.
*
* @return void
* @access public
$this->_pagina_actual = $this->_pdf->new_page($pagina);
$this->_paginas[] = $this->_pagina_actual;
if(!is_null($orientacion) && $orientacion != $this->orientacion)
- $this->_orientacion_distinta[$this->numPage()] = $orientacion;
+ $this->_orientacion_distinta[$this->numPage()] = $orientacion;
}
/**
- * Funcion que retorna la orientacion de la pagina indicada
- * Si no se indica, la orientacion de la ultima pagina
- * @access public
- * @return int
+ * Funcion que retorna la orientacion de la pagina indicada.
+ * Si no se indica, toma la orientacion de la ultima pagina.
+ *
+ * @param int $pagina Numero de la pagina.
+ *
+ * @access public
+ * @return int
*/
function getOrientation($pagina = null)
{
- if(is_null($pagina))
- $pagina = $this->numPage();
- if(isset($this->_orientacion_distinta[$pagina]))
- $o = $this->_orientacion_distinta[$pagina];
- else $o = $this->orientacion;
- return $o;
+ if(is_null($pagina))
+ $pagina = $this->numPage();
+
+ if(isset($this->_orientacion_distinta[$pagina]))
+ return $this->_orientacion_distinta[$pagina];
+ else
+ return $this->orientacion;
}
/**
*/
function display()
{
- header("Content-Disposition: filename=Doc.pdf");
+ header("Content-Disposition: filename=".$this->_nombre);
header("Content-Type: application/pdf");
$temp = $this->toPDF();
header('Content-Length: ' . strlen($temp));
*/
function addText($X, $Y, $texto, $estilo = '', $pag = null, $transformacion
= null) {
- //@TODO Ver si $texto es un objeto
-
$x = $X;
$y = $Y;
if(is_null($transformacion))
}
/**
- * Funcion que permite agregar una imagen JPG a una pagina.
+ * Funcion que permite agregar una imagen JPG o PNG a una pagina.
*
* @param string $archivo Path completo del archivo imagen.
* @param int $X Posicion Horizontal.
* @param int $pag Numero de pagina virtual.
* @param string $formato Formato del archivo (Extension).
* @param string $transformacion Indica la orientacion de la pagina.
+ * @param array $param Parametros de la libreria.
*
* @return void
* @access public
*/
function addImage($archivo, $X, $Y, $pag = null, $formato = null,
- $transformacion = null) {
+ $transformacion = null, $param = array()) {
$x = $X;
$y = $Y;
if(is_null($transformacion))
case 'landscape':
$X = $this->_landscapeX($x,$y);
$Y = $this->_landscapeY($x,$y);
+ $param['rotation'] = 90;
break;
}
$formato = strtolower($formato);
+ $fh = fopen($archivo, "r");
+ $filedata = fread($fh, filesize($archivo));
+ fclose($fh);
switch ($formato) {
case 'jpg':
- $fh = fopen($archivo, "r");
- $filedata = fread($fh, filesize($archivo));
- fclose($fh);
$image = $this->_pdf->jfif_embed($filedata);
- $this->_pdf->image_place($image, $Y, $X,
- $this->refPage($pag));
+ break;
+ case 'png':
+ $image = $this->_pdf->png_embed($filedata);
break;
}
+ $this->_pdf->image_place($image, $Y, $X, $this->refPage($pag), $param);
}
/**
* @access public
*/
function wrapLine($texto, $l_max, $attr) {
- return $this->_pdf->wrap_line ($texto, $l_max, $attr);
+ //El if lo estoy haciendo porque en la funcion wordwrap de la libreria
+ //externa no tienen en cuenta que te pueden pasar un texto vacio a
+ //wrapear -> Amerita un mail a los autores.
+ if ($texto) {
+ return $this->_pdf->wrap_line ($texto, $l_max, $attr);
+ }
+ else {
+ return '';
+ }
}
/**
* @access public
*/
function wordWrap($texto, $l_max, $attr) {
- return $this->_pdf->word_wrap ($texto, $l_max, $attr);
+ //El if lo estoy haciendo porque en la funcion wordwrap de la libreria
+ //externa no tienen en cuenta que te pueden pasar un texto vacio a
+ //wrapear -> Amerita un mail a los autores.
+ if ($texto) {
+ return $this->_pdf->word_wrap ($texto, $l_max, $attr);
+ }
+ else {
+ return array();
+ }
}
/**
{
if(is_null($orientacion))
$orientacion = $this->getOrientation($pagina);
- switch (strtolower($orientacion)) {
+ switch (strtolower($orientacion)) {
case 'landscape':
$width = $this->_config['Yf'] - $this->_config['Yi'];
break;
{
if(is_null($orientacion))
$orientacion = $this->getOrientation($pagina);
- switch (strtolower($orientacion)) {
+ switch (strtolower($orientacion)) {
case 'landscape':
$height = $this->_config['Xf'] - $this->_config['Xi'];
break;
{
return $y + $this->_config['Yi'];
}
+
+ /**
+ * Funcion que devuelve el tamaƱo de una imagen.
+ *
+ * @param $oid Object id
+ */
+ function getImageSize($oid) {
+ return $this->get_image_size($oid);
+ }
}
?>
\ No newline at end of file