Hola!

Registrándote como bakuno podrás publicar, compartir y comunicarte en privado con otros bakuos :D

Regístrame ya!

AYUDA CON FDPD

KALEL2200

Becerro
Desde
24 Nov 2009
Mensajes
48
Quisiera si me pudieran ayudar algunos de ustedes programadores expertos de la materia a solucionar este problema que tengo.

Trato de crear a traves de FPDF que un sitio web que muestra su contenido a traves de MySQL se pueda crear un PDF de dicha pagina que se este visitando.

Cree al parecer lo necesario para poder crear PDFs a traves de esta herramienta pero cuando dan click en descargar PDF solo abre otra paguina en blanco (nada de PDF) e aqui mi code.

<?
include ('tcpdf/tcpdf.php' );


include_once ('_functions.php');
define('FPDF_FONTPATH', $PATH . "fpdf/font/");
if (!is_numeric($_GET["id"])) die();

$Pquery = "SELECT p.*, t.name as type_name, l.name as location_name
FROM properties p
INNER JOIN property_types t on (p.property_type_id=t.id)

INNER JOIN property_locations l on (p.location_id=l.id)
WHERE p.id=".$_GET["id"];
$p = $bd->get_row($Pquery);


/*
* Starts generating PDF file
*/
$pdf->Image ("../images/logopdf.jpg",30, 10, 140, 25, 'JPG', "http://www.m");
$pdf=new HP_PDF('P','mm','A4');
# Assign MOS Config vars
$pdf->absolute_path = $PATH;
$pdf->live_site = $URL;
$pdf->site_name = "test - asdasde";
$pdf->AddPage();
$pdf->setTitle($p->name);
$pdf->setSubject($p->type_name);
$pdf->setAuthor("yo mero");

# Assign Hot Property data
$pdf->hp_currency = html_entity_decode("USD $");
$pdf->hp_dec_point = ".";
$pdf->hp_thousand_sep = ",";
$pdf->hp_show_moreinfo = "0";
$pdf->hp_view_features_title = "Amenities";

$pdf->hp_properties = "Properties";



# Print Name of the property
$pdf->printTitle($p->name);


$Pimages = "SELECT path,title from images WHERE property_id=$p->id order by orden";
$images = $bd->get_results($Pimages);
if($images) {
# Attach standard photo
if ($images[0]->path <> '') {
$pdf->addStandardPhoto($IMAGE_PATH."std/".$images[0]->path,$images[0]->title,"");
}
# Attach thumbnails, not including standard's thumbnail (above)
if (count($images) > 1) {
foreach($images AS $image) {
// Prevent repeating Standard's photo
if ($images[0]->path <> $image->path && $image->path <> '' ) {
$pdf->addThumbPhoto($IMAGE_PATH."thb/".$image->path,$p->name);
}
}
}
}
$pdf->page=1;
$pdf->SetFont('Arial','',10);
$pdf->writeDetails("Location: ".$p->location_name);
$pdf->Ln();
$pdf->writeDetails("Bedrooms: ".$p->bedrooms);
$pdf->Ln();
$pdf->writeDetails("Bathrooms: ".$p->bathrooms);
$pdf->Ln();
if ($p->price!='') {
$pdf->writeDetails("Price: ".show_price($p->price));
$pdf->SetFont('Arial','',8);
$pdf->writeDetails(' (price may change)');
$pdf->Ln();
$pdf->SetFont('Arial','',10);
}
$pdf->writeDetails("Url: ".$URL."property-".$p->id."-".seotize($p->name).".php");
$pdf->Ln();
$pdf->SetFont('Arial','',12);
$pdf->writeDetails($p->intro);
$pdf->SetFont('Arial','',12);
$pdf->writeDetails($p->description);

$pdf->Output("_pdf.pdf",'D');
echo "<script language='javascript'>window.open('Property Brochure.pdf','_pdf','');</script>";//para ver el archivo pdf generado
exit;
?>


en el arechivo functions se encuentra la info para acceder a MySQL pero ps nada que me falla?.
Cree otro fichero que conectara a la bd pero ni asi.

<?
<php class DB{ var $conect; var $DB; var $DB_HOST; var $DB_USER; var $DB_PASSWORD; function DB(){ $this--->DB = "casdasdasd";
$this->DB_HOST = "asdasd.hostedresource.com";
$this->DB_USER = "casdasd";
$this->DB_PASSWORD = "asdasdasd";
}

function connect() {
if(!($con=@mysql_connect($this->DB_HOST,$this->DB_USER,$this->DB_PASSWORD))){
echo"Error al conectar a la base de datos";
exit();
}
if (!@mysql_select_db($this->DB,$con)){
echo "Error al seleccionar la base de datos";
exit();
}
$this->conect=$con;
return true;
}
}
?>


Aprecio toda su atencion y ayuda
 
Hola, yo utilizo FPDF

y no utilizo jscript para abrir ninguna ventana, se genera solo el PDF y se abre en la ventana actual o en otro navegador
eso lo haces cuando llamas al reporte, en mi caso yo utilizo Flex

vas s_url = "http://localhost/taller/reportes/rClientes.php";

navigateToURL(new URLRequest(s_url), "_blank"); // _blank abre esa pagina en una nueva ventana en html es algo parecido, no se pke no lo uso, jejeje



rClientes.php

<?php
require('fpdf.php');
require('../servicios/services/db_conn.php');

// Datos de la empresa
$sql = "select * from datos" ;
$rs = db_conn::query($sql);
$rowEmp = mysql_fetch_assoc($rs);

$tit1 = $rowEmp['nombre'];
$tit2 = $rowEmp['domicilio'];
$tit3 = $rowEmp['telefono'] . ' ' . $rowEmp['email'];
mysql_free_result($rs);


class PDF extends FPDF
{
var $titulo1;
var $titulo2;
var $titulo3;

// Cabecera de página
function Header()
{
// Logo
$this->Image($_SERVER['DOCUMENT_ROOT']."/taller/assets/logo.jpg",10,5,45);

$this->SetFillColor(229,229,222);
$this->SetFont('Arial','B',11);
$this->Cell(0,10,$this->titulo1,0,0,'C');
$this->Ln(5);
$this->SetFont('Arial','B',10);
$this->Cell(0,10,$this->titulo2,0,0,'C');
$this->Ln(6);
$this->Cell(0,10,$this->titulo3,0,0,'C');
$this->Ln(7);
$this->SetFont('Arial','',8);
$this->Cell(0,10,"Listado de Clientes",0,0,'C');
//$this->Line(10,36,205,36);
$this->Ln(8);
$this->SetFont('Arial','B',9);
$this->Cell(18,6,'Estatus',1,0,'C',true);
$this->Cell(75,6,'Nombre',1,0,'C',true);
$this->Cell(80,6,'Domicilio',1,0,'C',true);
$this->Cell(25,6,'Telefono',1,0,'C',true);
$this->Cell(60,6,'Correo',1,1,'C',true); // ultimo 1 para ke la sig. celda sea despues de esta linea
//$this->Ln(5);
}

// Pie de página
function Footer()
{
// Posición: a 1,5 cm del final
$this->SetY(-15);
// Arial italic 8
$this->SetFont('Arial','I',8);
// Número de página
$this->Cell(0,10,'Pag. '.$this->PageNo().'/{nb}',0,0,'C');
}
}




// Creación del objeto de la clase heredada
$pdf = new PDF('L','mm','Letter');
$pdf->titulo1 = $tit1;
$pdf->titulo2 = $tit2;
$pdf->titulo3 = $tit3;

$pdf->AliasNbPages();
$pdf->AddPage();
$pdf->SetFont('Arial','',8);


// Clientes
$sql = "select * from clientes order by nombre" ;

$rs = db_conn::query($sql);

while( $row=mysql_fetch_assoc($rs) )
{
$pdf->Cell(18,6,$row['status'],1,0,'C');
$pdf->Cell(75,6,$row['nombre'],1,0,'L');
$pdf->Cell(80,6,$row['domicilio'],1,0,'L');
$pdf->Cell(25,6,$row['telefono'],1,0,'L');
$pdf->Cell(60,6,$row['email'],1,1,'L'); // ultimo 1 para brinco de linea
}

mysql_free_result($rs);

$pdf->Output();
?>
 
Volver
Arriba