Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

PlasmA

fpdf - função - não carrega direto no browser

Recommended Posts

pessoal é o seguinte desenvolvi uma função que me gera os relatorios pdf dinamicos...só que a função só funciona se eu mando criar um arquivo no proprio servidor.. mais eu preciso que esse arquivos ou abra direto no brouser ou crie no computador do cliente.em um arquivo de teste onde ele gera tudo dentro de uma mesma pagina ele funciona corretamente... mais da forma q está ele só cria o arquivo no server...cod:$pdf->Output("teste.pdf","D");erro:Warning: Cannot modify header information - headers already sent by (output started at C:\Priscila\consultas\pdf\teste.php:2) in C:\Priscila\consultas\pdf\fpdf.php on line 1035FPDF error: Some data has already been output to browser, can't send PDF filecod:$pdf->Output();erro:Warning: Cannot modify header information - headers already sent by (output started at C:\Priscila\consultas\pdf\teste.php:2) in C:\Priscila\consultas\pdf\fpdf.php on line 1022FPDF error: Some data has already been output to browser, can't send PDF filecod:$pdf->Output("C:\teste.pdf", "F");erro:Warning: fopen(C: este.pdf): failed to open stream: Invalid argument in C:\Priscila\consultas\pdf\fpdf.php on line 1046FPDF error: Unable to create output file: C: este.pdf cod:$pdf->Output("I");erroexecuta não acontece nada.alguem sabe pq desses erros ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

a pagina onde declaro e passo as variaveis necessarias

PHP

[*]<?

[*]require_once("../lib.php");

[*]requer_nivel(1);

[*]require_once("../dblib.php");

[*]?>

[*]<?

[*]function relatorio_pdf($campos,$titulo,$arquivo){

[*]print "<form action='".$arquivo."' method='post' name='relatorio' >";//target='Corpo'>";

[*]print "<table border='0' class='tabela' width='80%' align='left' cellspacing='0' cellpadding='0'>";

[*]print "<tr><td>Escolha os campos.</td></tr>";

[*] for($x=0 ; $x <= count($campos)-1; $x++ ){

[*] print "<tr><td><input type='checkbox' name='optCampos[]' value='".$x."'>". $titulo[$x]."</td></tr>";

[*] }

[*] print "<tr><td><input type='hidden' name='m' value='1'><input type='submit' name='btRelatorio' value='Pesquisar' class='bot'></td></tr>";

[*]print "</table>";

[*]print"</form>";

[*]}

[*]

[*]function exibe_relatorio_pdf($titulo,$campos,$tm_campos,$sql,$distinct){

[*]require('fpdf.php');

[*]define('FPDF_FONTPATH','font/');

[*]$qb = "" ;

[*]$res = sql_query($sql);

[*]

[*]$pdf = new FPDF('L','mm','A4');

[*] while ($obj = sql_fo($res)){

[*] if ($distinct != ""){

[*] if ($qb <> $obj->$distinct){

[*] $pdf->AddPage();

[*] $pdf->SetTopMargin(5);

[*] $pdf->SetFillColor(255);

[*] $pdf->SetFont('Arial', '', 10);

[*] $pdf->Cell(280,6, $obj->$distinct, 1, 1, 'C', 0);

[*] $qb = $obj->$distinct ;

[*] }

[*] }

[*] foreach ($_POST['optCampos'] as $a) {

[*]

[*] if ($a == count($_POST['optCampos'])-1){

[*] $pdf->Cell($tm_campos[$a],6, $obj->$campos[$a], 1, 1, 'C', 0);

[*] }else{

[*] $pdf->Cell($tm_campos[$a],6, $obj->$campos[$a], 1, 0, 'C', 0);

[*] }

[*]

[*] }

[*] }

[*]$pdf->Output("teste.pdf");

[*]}

[*]?>

 

 

 

 

 

 

a pagina com as funções

PHP

[*]<?

[*]require_once('funcoes.php');

[*]

[*]$campos = array("A_CD","A_DS");

[*]$titulo = array("Código","Amostra");

[*]$tm_campos = array("80","200");

[*]

[*]$distinct = "FABRICANTE";

[*]$arquivo = "teste.php";

[*]$sql = "SELECT DISTINCT FA.NM FABRICANTE,FA.CD,A.CD A_CD,A.DS A_DS FROM AMBULATORIO_WEB.FABRICANTES_AMOSTRA FA, AMBULATORIO_WEB.AMOSTRA A WHERE A.FAB_CD = FA.CD ORDER BY FA.NM" ;

[*]

[*]

[*]$m == $_REQUEST["m"];

[*]if ($m == ""){

[*] relatorio_pdf($campos,$titulo,$arquivo);

[*]}else{

[*] exibe_relatorio_pdf($titulo,$campos,$tm_campos,$sql,$distinct);

[*]print header( "location: teste.pdf");

[*]// print "Arquivo gerado com sucesso!";

[*]// print "<a href='teste.pdf'>teste.pdf</a>";

[*]}

[*]?>

[*]

Compartilhar este post


Link para o post
Compartilhar em outros sites

alem desse que falo acima... acabei de gerar uns relatorios e constatei que se coloco uma celula com um tamanho por exemplo de 100mm e o texto é maior que a celula.. ele acaba ficando para fora... tornando o relatorio ilegivel.como faço para que o texto só apareça dentro da area da celula ???

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.