PlasmA 0 Denunciar post Postado Agosto 11, 2005 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
PlasmA 0 Denunciar post Postado Agosto 11, 2005 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
PlasmA 0 Denunciar post Postado Agosto 12, 2005 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