Вы находитесь на странице: 1из 3

<?php //PDF SCRIPT By EDSON - INTEGRATOR define('FPDF_FONTPATH','fpdf/font/'); require_once('fpdf/fpdf.php'); //Arquivo que se conecta com o banco de dados require_once("conexao.

php"); class PDF extends FPDF { //Cabealho da pgina PHP 5 & MySQL 5 for Web www.integrator.com.br/php 140 PHP 5 e MySQL 5 e Ajax function Header( ) { //Logo $this->Image('fpdf/tutorial/logo_pb.png',10,8,33); //Arial bold 15 $this->SetFont('Arial','B',15); //Move para a direita $this->Cell(80); //Ttulo $this->Cell(60,10,'Cabealho da Pgina',0,0,'C'); //Quebra de linha $this->Ln(20); } //Rodap da pgina function Footer( ) { //Posio de 1.5 cm da borda inferior $this->SetY(-15); //Arial italic 8 $this->SetFont('Arial','I',8); //Nmero da pgina $this->Cell(0,10,'Pgina '.$this->PageNo().'/{nb}',0,0,'C'); //name $this->SetTextColor(0,0,255); $this->SetFont('','U'); $this->SetY(-5); $this->SetX(90); $this->Write(5,'www.integrator.com.br','http://www.integrator.com.br'); } } //Criando um novo arquivo de PDF //na classe, voc pode definir a visualizao (L em minsculo) indica Paisagem, //o default Retrato, as medidas usadas na pgina e o formato //da pgina: A3, A4 e etc $pdf=new PDF('l','mm','A4'); $pdf->AliasNbPages( ); //Abre o arquivo $pdf->Open( ); //Desabilita a quebra automtica de pginas $pdf->SetAutoPageBreak(false);

//Adiciona a primeira pgina $pdf->AddPage( ); PHP 5 & MySQL 5 for Web www.integrator.com.br/php 141 PHP 5 e MySQL 5 e Ajax //coloca o valor do eixo y na posio por pgina $y_axis = 30; //coloca a altura da linha $row_height = 6; //Imprime os ttulos para a pgina atual //coloca a cor de fundo $pdf->SetFillColor(232,232,232); //coloca o cor da fonte $pdf->SetTextColor(0,0,160); $pdf->SetFont('Arial','B',12); $pdf->SetY($y_axis); $pdf->SetX(25); $pdf->Cell(180,$row_height,'Livros Cadastrados',1,0,'C',1); //adiciona a altura da linha seguinte $y_axis = $y_axis + $row_height; $pdf->SetY($y_axis); $pdf->SetX(25); $pdf->Cell(50,$row_height,'ISBN',1,0,'C',1); $pdf->Cell(100,$row_height,'Titulo',1,0,'C',1); $pdf->Cell(30,$row_height,'Edio',1,0,'C',1); $y_axis = $y_axis + $row_height; try{ $con=conexao( ); //seleciona os livros para serem mostrados no seu arquivo PDF $result=$con->query('select isbn,titulo,edicao_num from livros ORDER BY titulo'); if($result===FALSE) throw new Exception('Problemas: '.$con->errno.' --- '.$con->error.'<br />'); //Inicializa o contador $i = 0; //Coloca o mximo de linhas por pgina $max = 5; if( $result->num_rows==0 ) throw new Exception('No existem dados cadastrados no momento'); while($row = $result->fetch_array( )) { //Se a linha atual da prxima pgina, criada uma nova pgina e //impressa os ttulos novamente if ($i == $max) { $pdf->AddPage( ); PHP 5 & MySQL 5 for Web www.integrator.com.br/php 142 PHP 5 e MySQL 5 e Ajax $y_axis = 30; //Imprime os ttulos das colunas para a pgina atual $pdf->SetY($y_axis);

$pdf->SetX(25); $pdf->SetFillColor(232,232,232); $pdf->SetTextColor(0,0,160); $pdf->Cell(50,$row_height,'ISBN',1,0,'C',1); $pdf->Cell(100,$row_height,'Titulo',1,0,'C',1); $pdf->Cell(30,$row_height,'Edio',1,0,'C',1); //Vai para a prxima linha $y_axis = $y_axis + $row_height; //Pega a varivel $i e coloca o valor 0 (primeira linha) $i = 0; } //coloca o efeito zebra nas linhas if($i%2) $pdf->SetFillColor(255,255,255); else $pdf->SetFillColor(245,245,245); $isbn = $row['isbn']; $titulo = $row['titulo']; $edicao = $row['edicao_num']; //coloca a cor da fonte $pdf->SetTextColor(0,0,0); $pdf->SetY($y_axis); $pdf->SetX(25); //adiciona os valores do banco nas clulas $pdf->Cell(50,$row_height,$isbn,1,0,'L',1); $pdf->Cell(100,$row_height,$titulo,1,0,'L',1); $pdf->Cell(30,$row_height,$edicao,1,0,'R',1); //vai para a prxima linha $y_axis = $y_axis + $row_height; $i ++; } //Cria o arquivo //abaixo voc tem a possibilidade de enviar para o browser para salvar como //$pdf->Output('arquivo.pdf','D'); //o exemplo abaixo para ser exibido diretamente no browser $pdf->Output( );//abre o plug-in padro do PDF para visualizar o arquivo de sada Header('Pragma: public'); //Deve ser colocado para exibio no Internet Explorer $result->close( ); } catch(Exception $e){ //caso haja uma exceo a mensagem capturada e atribuida a $msg echo $e->getMessage( ); } PHP 5 & MySQL 5 for Web www.integrator.com.br/php 143 PHP 5 e MySQL 5 e Ajax $con->close( );

Вам также может понравиться