Ver Mensaje Individual
  #5 (permalink)  
Antiguo 25/05/2009, 17:11
bertoR
 
Fecha de Ingreso: marzo-2009
Mensajes: 105
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Clase fpdf problemillas

espero te sirva este codigo

<?php
//pa generar pdfs
require('fpdf.php');
define('FPDF_FONTPATH','font/');
//includes
include("datos_bd.php");
//obtenemos id tabla
//id tabla
$idt=$_GET['idtruco'];

//datos del juego
$tabla = mysql_query("SELECT * FROM trucos where id='$idt'");


while ($registro = mysql_fetch_array($tabla)) {
$juego=$registro['juego'];
$categoria=$registro['categoria'];
$trucos=$registro['truco'];
$uploader=$registro['uploader'];
}

//pdf con codigo html ;)

//no tocar
class PDF extends FPDF
{
var $B;
var $I;
var $U;
var $HREF;

function PDF($orientation='P',$unit='mm',$format='A4')
{
//Llama al constructor de la clase padre
$this->FPDF($orientation,$unit,$format);
//Iniciación de variables
$this->B=0;
$this->I=0;
$this->U=0;
$this->HREF='';
}

function WriteHTML($html)
{
//Intérprete de HTML
$html=str_replace("\n",' ',$html);
$a=preg_split('/<(.*)>/U',$html,-1,PREG_SPLIT_DELIM_CAPTURE);
foreach($a as $i=>$e)
{
if($i%2==0)
{
//Text
if($this->HREF)
$this->PutLink($this->HREF,$e);
else
$this->Write(5,$e);
}
else
{
//Etiqueta
if($e[0]=='/')
$this->CloseTag(strtoupper(substr($e,1)));
else
{
//Extraer atributos
$a2=explode(' ',$e);
$tag=strtoupper(array_shift($a2));
$attr=array();
foreach($a2 as $v)
{
if(preg_match('/([^=]*)=["\']?([^"\']*)/',$v,$a3))
$attr[strtoupper($a3[1])]=$a3[2];
}
$this->OpenTag($tag,$attr);
}
}
}
}

function OpenTag($tag,$attr)
{
//Etiqueta de apertura
if($tag=='B' || $tag=='I' || $tag=='U')
$this->SetStyle($tag,true);
if($tag=='A')
$this->HREF=$attr['HREF'];
if($tag=='BR')
$this->Ln(5);
}

function CloseTag($tag)
{
//Etiqueta de cierre
if($tag=='B' || $tag=='I' || $tag=='U')
$this->SetStyle($tag,false);
if($tag=='A')
$this->HREF='';
}

function SetStyle($tag,$enable)
{
//Modificar estilo y escoger la fuente correspondiente
$this->$tag+=($enable ? 1 : -1);
$style='';
foreach(array('B','I','U') as $s)
{
if($this->$s>0)
$style.=$s;
}
$this->SetFont('',$style);
}

function PutLink($URL,$txt)
{
//Escribir un hiper-enlace
$this->SetTextColor(0,0,255);
$this->SetStyle('U',true);
$this->Write(5,$txt,$URL);
$this->SetStyle('U',false);
$this->SetTextColor(0);
}
}
//fin clase de pdf generator

//lo k kieras mostrar aqui
$html=' <a href="http://www.ejemplo.org">TodoTrucos.com tu web de trucos online</a><br><br><h2>Trucos de '.$juego.' para '.$categoria.'</h2><br><br>'.$trucos;

$pdf=new PDF();
//Primera página
$pdf->AddPage();
$pdf->SetFont('Arial','',20);

//imagen yo la pondr en la variable $html
//$pdf->Image('logo.png',10,12,30,0,'','http://www.fpdf.org');

$pdf->SetLeftMargin(45);
$pdf->SetFontSize(14);
//codigo k escribe el html
$pdf->WriteHTML($html);
//sacar pdf
$pdf->Output();
?>