Avisos
Vaciar todo

Problema con breezingforms, fpdf e imagen  

 
Pedro
 Pedro
Reputable Member

Hola,

He seguido el tutorial de David sobre breezingforms y pdf mediante fpdf.

Me quedo atascado cuando trato de insertar una imagen, según el tutorial 2 de fpdf.org. Mi código es:

require_once(JPATH_ADMINISTRATOR.DS.'components/com_breezingforms/libraries/fpdf/fpdf.php');


class PDF extends FPDF
{
// Cabecera de página
function Header()
{
    // Logo
    $this->Image('images/stories/diplomas/diploma-torreblanca12.png',10,8,33);

}

// Pie de página
function Footer()
{
    // Arial italic 8
    $this->SetFont('Arial','I',8);
}
}




$pdf=new PDF();
$pdf->AddPage();

$pdf->Write(4,utf8_decode("Hola"));


//Close and output PDF document
$pdf->Output(JPATH_ADMINISTRATOR.DS.'components/com_breezingforms/images/informe'.date('d-m-Y_H-i-s').'.pdf');
 
header('Location: administrator/components/com_breezingforms/images/informe'.date('d-m-Y_H-i-s').'.pdf');

En el foro de fpdf.org comentan si puede ser un problema de permisos.

¿Se os ocurre qué puede pasar?

URL del sitio: http://www.free-run.es

Citar
Respondido : 30/04/2012 9:58 am
David Noguera
 David Noguera
Miembro Moderator

Hola Pedro, pero obtienes algún mensaje de error?? o simplemente no te aparece la imagen??

Saludos!

ResponderCitar
Respondido : 30/04/2012 10:15 am

Gestor de Contraseñas - VPN Conexión Segura - Gestor 2FA (Segundo Factor de Autenticación

Pedro
 Pedro
Reputable Member

perdona, te he puesto todo el rollo excepto el mensaje

FPDF error: Can't open image file: /images/stories/diplomas/trozo.png

ResponderCitar
Respondido : 30/04/2012 10:34 am
David Noguera
 David Noguera
Miembro Moderator

Hola Pedro, prueba a poner la ruta completa así:

$this->Image('/home/nombre-cuenta/public_html/images/stories/diplomas/diploma-torreblanca12.png',10,8,33);

Y cambia nombre-cuenta por el nombre de tu cuenta..

Saludos

ResponderCitar
Respondido : 30/04/2012 10:37 am

Pedro
 Pedro
Reputable Member

perfecto, ahora sí me coge la imagen. Creo que había probado sin el "home".

Una duda más: quiero mostrar en el pdf el resultado de una consulta sobre la base de datos de joomla. Al inicio de la pieza tengo el código:

require_once(JPATH_ADMINISTRATOR.DS.'components/com_breezingforms/libraries/fpdf/fpdf.php');

$db = &JFactory::getDBO();
$query='select * from #__jos_CarrerasDiplomas 
    where Carrera="torreblanca12"';
$db->setQuery($query); 
$result = $db->loadObject();

y en el punto del pdf en el que quiero que me inserte el texto, pongo:

$pdf->Write(4,utf8_decode("C.E.M. SALTARRIBES CERTIFICA QUE EL CORREDOR:"));
$pdf->Ln(15);
$pdf->Write(4,utf8_decode($result->Tiempo));

Pero no consigo que aparezca el dato $result->Tiempo.

ResponderCitar
Respondido : 30/04/2012 12:34 pm
Pedro
 Pedro
Reputable Member

ya lo tengo resuelto. Por si interesa a alguien, dejo el código de la pieza. El funcionamiento es:

1-El visitante rellena un formulario con el número de dorsal que llevaba en la carrera.
2-El formulario crea -mediante fpdf- un diploma en pdf, con la información de la carrera.

Para ello consulta la tabla "jos_CarrerasDiplomas", de donde saca el crono, la posición, categoría... etc.

require_once(JPATH_ADMINISTRATOR.DS.'components/com_breezingforms/libraries/fpdf/fpdf.php');

$dorsal = ff_getSubmit('dorsal');

$db = &JFactory::getDBO();
$query='select * from jos_CarrerasDiplomas 
    where Dorsal='.$dorsal;

$db->setQuery($query); 

$result = $db->loadObject();


class PDF extends FPDF
{
// Cabecera de página
function Header()
{
    // Logo
$this->Image('/home/NOMBRECUENTA/public_html/images/stories/diplomas/diploma-torreblanca12.jpg',0,0,210);

}

// Pie de página
function Footer()
{
}
}



$pdf=new PDF();

$pdf->AddPage();
$pdf->SetFont('Arial','',22);
$pdf->SetTextColor(0, 0, 0);


$pdf->SetY(210);
$pdf->SetX(50);

$pdf->Write(4,utf8_decode("DIPLOMA DE PARTICIPACIÓ"));
$pdf->Ln(15);

$pdf->SetFont('Arial','B',14);
$pdf->Write(4,utf8_decode("C.E.M. SALTARRIBES CERTIFICA QUE EL CORREDOR:"));
$pdf->Ln(11);
$pdf->SetX(20);
$pdf->Write(4,utf8_decode($result->NombreParticipante));
$pdf->SetFont('Arial','',13);
$pdf->Ln(11);
$pdf->Write(4,utf8_decode("AMB EL DORSAL NÚMERO: "));
$pdf->SetX(120);
$pdf->Write(4,utf8_decode($result->Dorsal));
$pdf->Ln(8);
$pdf->Write(4,utf8_decode("HA FINALITZAT LA CURSA EN UN TEMPS DE: "));
$pdf->SetX(120);
$pdf->Write(4,utf8_decode(date("H:i:s",strtotime($result->Tiempo)) ));
$pdf->Ln(8);
$pdf->Write(4,utf8_decode("POSICIÓ GENERAL: "));
$pdf->SetX(120);
$pdf->Write(4,utf8_decode($result->Pos));
$pdf->Ln(8);
$pdf->Write(4,utf8_decode("POSICIÓ DE LA CATEGORIA ("));
$pdf->Write(4,utf8_decode($result->Cat));
$pdf->Write(4,utf8_decode("): "));
$pdf->SetX(120);
$pdf->Write(4,utf8_decode($result->PCat));


//Close and output PDF document
$pdf->Output(JPATH_ADMINISTRATOR.DS.'components/com_breezingforms/images/informe'.date('d-m-Y_H-i-s').'.pdf');
 
header('Location: administrator/components/com_breezingforms/images/informe'.date('d-m-Y_H-i-s').'.pdf');

Un saludo,
P

ResponderCitar
Respondido : 01/05/2012 2:12 pm

Cursos Gratuitos WordPress