X-Git-Url: https://git.llucax.com/mecon/meconlib.git/blobdiff_plain/1e59047d0ade02bdded56831a308b58b4e0128b9..4b08135a35b4ba9f3e87dfdb4cdc427800e359ac:/lib/MECON/PDF.php diff --git a/lib/MECON/PDF.php b/lib/MECON/PDF.php index e4f1b3c..a5e85e7 100644 --- a/lib/MECON/PDF.php +++ b/lib/MECON/PDF.php @@ -75,21 +75,31 @@ class MECON_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 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; } /** @@ -137,7 +147,7 @@ class MECON_PDF { */ 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)); @@ -269,7 +279,7 @@ class MECON_PDF { } /** - * 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. @@ -277,12 +287,13 @@ class MECON_PDF { * @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)) @@ -295,19 +306,22 @@ class MECON_PDF { 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); } /** @@ -321,7 +335,15 @@ class MECON_PDF { * @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 ''; + } } /** @@ -335,7 +357,15 @@ class MECON_PDF { * @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(); + } } /** @@ -499,5 +529,14 @@ class MECON_PDF { { 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