Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Oi pessoal, estou com um problema. Não consigo printar meu relatório na tela. ele aparece criptografado.
Já fiz até alteração no código do fpdf.php e não adiantou...alguém pode me ajudar.
Abaixo está meus códigos:
<?php include "../vendas/rosto_venda.php";
require "../con_check/conn.php";
//função para criar pdf
define("FPDF_FONTPATH","C:/fonte/fpdf/font/");
require ('../fpdf/fpdf.php');
///Classe de multicell com quebra automatica de linha
function MultiCell($w,$h,$txt,$border=0,$align='J',$fill=0,$maxline=0)
{
//Output text with automatic or explicit line breaks, maximum of $maxlines
$cw=&$this->CurrentFont['cw'];
if($w==0)
$w=$this->w-$this->rMargin-$this->x;
$wmax=($w-2*$this->cMargin)*1000/$this->FontSize;
$s=str_replace("\r",'',$txt);
$nb=strlen($s);
if($nb>0 and $s[$nb-1]=="\n")
$nb--;
$b=0;
if($border)
{
if($border==1)
{
$border='LTRB';
$b='LRT';
$b2='LR';
}
else
{
$b2='';
if(is_int(strpos($border,'L')))
$b2.='L';
if(is_int(strpos($border,'R')))
$b2.='R';
$b=is_int(strpos($border,'T')) ? $b2.'T' : $b2;
}
}
$sep=-1;
$i=0;
$j=0;
$l=0;
$ns=0;
$nl=1;
while($i<$nb)
{
//Get next character
$c=$s[$i];
if($c=="\n")
{
//Explicit line break
if($this->ws>0)
{
$this->ws=0;
$this->_out('0 Tw');
}
$this->Cell($w,$h,substr($s,$j,$i-$j),$b,2,$align,$fill);
$i++;
$sep=-1;
$j=$i;
$l=0;
$ns=0;
$nl++;
if($border and $nl==2)
$b=$b2;
if ( $maxline && $nl > $maxline )
return substr($s,$i);
continue;
}
if($c==' ')
{
$sep=$i;
$ls=$l;
$ns++;
}
$l+=$cw[$c];
if($l>$wmax)
{
//Automatic line break
if($sep==-1)
{
if($i==$j)
$i++;
if($this->ws>0)
{
$this->ws=0;
$this->_out('0 Tw');
}
$this->Cell($w,$h,substr($s,$j,$i-$j),$b,2,$align,$fill);
}
else
{
if($align=='J')
{
$this->ws=($ns>1) ? ($wmax-$ls)/1000*$this->FontSize/($ns-1) : 0;
$this->_out(sprintf('%.3f Tw',$this->ws*$this->k));
}
$this->Cell($w,$h,substr($s,$j,$sep-$j),$b,2,$align,$fill);
$i=$sep+1;
}
$sep=-1;
$j=$i;
$l=0;
$ns=0;
$nl++;
if($border and $nl==2)
$b=$b2;
if ( $maxline && $nl > $maxline )
return substr($s,$i);
}
else
$i++;
}
//Last chunk
if($this->ws>0)
{
$this->ws=0;
$this->_out('0 Tw');
}
if($border and is_int(strpos($border,'B')))
$b.='B';
$this->Cell($w,$h,substr($s,$j,$i-$j),$b,2,$align,$fill);
$this->x=$this->lMargin;
return '';
}
/////////////////////////////////////////////////////////////////////////////
//$_POST['id'] = $id;
$id = $_POST['id'];
//Instanciation of inheritedclass
header('Content-type: application/pdf');
$pdf = new FPDF("P","mm","A4");
$pdf->Open();
$pdf->AddPage();
//define o titulo
$pdf->SetTitle("Proposta Comercial Galva-Cromo Rivoli!");
$pdf->SetSubject("Proposta Comercial!");
//escreve no pdf largura,altura,conteudo,borda,quebra de linha,alinhamento
//endereco da imagem,posicao X(horizontal),posicao Y(vertical), tamanho altura, tamanho largura
$pdf->Image("c://fonte/logo.jpg", 25,18,30,20);
//resto do cabeçalho - nome
$cabeca = "GALVA-CROMO RIVOLI";
$pdf->SetFont('Arial', 'B', 14);
$pdf->SetY("20");
$pdf->Cell(0,5,$cabeca,0,0,'C');
//resto do cabeçalho - ano
$ano = "Desde de 1972";
$pdf->SetFont('Arial', 'B', 12);
$pdf->SetY("30");
$pdf->Cell(0,5,$ano,0,0,'C');
//resto do cabeçalho - tratamentos
$trata ="Zinco - Níquel Químico - Estanho - Liga de Zn/Ni - Liga de Zn/Fe - Cromo - Níquel Eletrolítico - Fosfato de Zinco";
$pdf->SetFont('Arial', '', 9);
$pdf->SetY("40");
$pdf->SetX("30");
$pdf->MultiCell(0,5,$trata,0,1,'C');
//resto do cabeçalho - tratamentos
$trata2 ="Fosfato de Manganês - Oxidação Negra - Cromo Negro – Cromatização Trivalente p/ Zn";
$pdf->SetFont('Arial', '', 9);
$pdf->SetY("45");
$pdf->SetX("45");
$pdf->MultiCell(0,5,$trata2,0,1,'C');
// posicao vertical no caso -1.. e o limite da margem
$pdf->SetFont('Arial', 'B', 14);
$pdf->SetY("60");
$data = date('Y');
$titulo="Proposta Comercial Nº ".$id. "/ ".$data;
$pdf->Cell(0,5,$titulo,0,0,'C');
//Inserindo dados do solicitante
if(empty($id))
{
echo "Erro de cadastramento!!!";
}
$sql = "Select * from orcamento1 where id=".$id;
$e = mysql_query($sql);
$linhas = mysql_num_rows($e);
if($linhas == 0) echo "erro de cadastramento";
}
$id = mysql_result($e,0,"id");
$data = mysql_result($e,0,"data");
$solic = mysql_result($e,0,"solic");
$contato = mysql_result($e,0,"contato");
$ddd = mysql_result($e,0,"ddd");
$fone = mysql_result($e,0,"fone");
$lt = mysql_result($e,0,"lt");
$fatura = mysql_result($e,0,"fatura");
$email = mysql_result($e,0,"email");//dados do solicitante - empresa
$pdf->SetFont('Arial', 'B', 10);
$pdf->SetY("75");
$pdf->SetX("25");
$s="À ".$solic;
$pdf->Cell(0,5,$s,0,0,'L');
//dados do solicitante - contato
$pdf->SetFont('Arial', 'B', 10);
$pdf->SetY("80");
$pdf->SetX("25");
$c="Sr. (a) ".$contato;
$pdf->Cell(0,5,$c,0,0,'L');
//dados do solicitante - data
$pdf->SetFont('Arial', 'B', 10);
$pdf->SetY("90");
$pdf->SetX("120");
$d="São Paulo, ".$data;
$pdf->Cell(0,5,$d,0,0,'C');
//texto do solicitante
$pdf->SetFont('Arial', '', 10);
$pdf->SetY("100");
$pdf->SetX("25");
$texto="Seguem abaixo nossos preços para os seguintes itens de sua fabricação:";
$pdf->Cell(0,5,$texto,0,0,'L');
//tabela de peças
/////////////////////////////////////////////////////////////////////////////////
//Selecionando dados do banco de dados para a tabela
//Select the Products you want to show in your PDF file
$result=mysql_query("select * from orcamento2 where id=".$id);
$table = mysql_num_rows($result);
//Initialize the 4 columns
$column_peca = "";
$column_trat = "";
$column_valor = "";
$column_unid = "";
//For each row, add the field to the corresponding column
while($row = mysql_fetch_array($result))
{
$peca = $row["peca"];
$trat = $row["trat"];
$valor = $row["valor"];
$unid = $row["unid"];
$column_peca = $column_peca.$peca."\n";
$column_trat = $column_trat.$trat."\n";
$column_valor = $column_valor.$valor."\n";
$column_unid = $column_unid.$unid."\n";
}
mysql_close();
//Fields Name position
$Y_Fields_Name_position = 120;
//Table position, under Fields Name
$Y_Table_Position = 127;
//First create each Field Name
//Gray color filling each Field Name box
$pdf->SetFillColor(232,232,232);
//Bold Font for Field Name
$pdf->SetFont('Arial','B',9);
$pdf->SetY($Y_Fields_Name_position);
$pdf->SetX(25);
$pdf->Cell(40,6,'Peça',1,0,'L',1);
//$pdf->SetY($Y_Fields_Name_position);
$pdf->SetX(65);
$pdf->Cell(80,6,'Tratamento',1,0,'L',1);
//$pdf->SetY($Y_Fields_Name_position);
$pdf->SetX(140);
$pdf->Cell(15,6,'Valor',1,0,'L',1);
//$pdf->SetY($Y_Fields_Name_position);
$pdf->SetX(155);
$pdf->Cell(15,6,'Unidade',1,0,'L',1);
$pdf->Ln();
//Now show the 3 columns
$pdf->SetFont('Arial','',7);
$pdf->SetY($Y_Table_Position);
$pdf->SetX(25);
$pdf->MultiCell(40,5,$column_peca,0,'J',0);
$pdf->Ln();
$pdf->SetY($Y_Table_Position);
$pdf->SetX(65);
$pdf->MultiCell(70,5,$column_trat,0,'J',0);
$pdf->SetY($Y_Table_Position);
$pdf->SetX(140);
$pdf->MultiCell(15,8,$column_valor,0,'J',0);
$pdf->SetY($Y_Table_Position);
$pdf->SetX(155);
$pdf->MultiCell(15,8,$column_unid,0,'J',0);
//Create lines (boxes) for each ROW (Product)
//If you don't use the following code, you don't create the lines separating each row
/*$i = 0;
$pdf->SetY($Y_Table_Position); $pdf->SetX(25);
$pdf->MultiCell(25,8,'',0,'J',0);
$i = $i +1;
}///////////////////////////////////////////////////////////////////////////////////
//texto do solicitante - faturamento
$pdf->SetFont('Arial', 'B', 10);
$pdf->SetY("210");
$pdf->SetX("25");
$fat="Faturamento: ".$fatura;
$pdf->Cell(0,5,$fat,0,0,'L');
//texto do solicitante - lote mínimo
$pdf->SetFont('Arial', 'B', 10);
$pdf->SetY("210");
$pdf->SetX("120");
$lote="Lote Mínimo: ".$lt;
$pdf->Cell(0,5,$lote,0,0,'C');
//texto do solicitante - validade
$pdf->SetFont('Arial', '', 10);
$pdf->SetY("220");
$pdf->SetX("25");
$val="Validade da proposta: 90 dias, exceto em caso de mudanças de ordem tributária.";
$pdf->Cell(0,5,$val,0,0,'L');
//texto do solicitante - atenciosamente
$pdf->SetFont('Arial', '', 10);
$pdf->SetY("230");
$pdf->SetX("25");
$aten="Atenciosamente";
$pdf->Cell(0,5,$aten,0,0,'L');
//texto do solicitante
$pdf->SetFont('Arial', '', 10);
$pdf->SetY("240");
$pdf->SetX("25");
$nome="Ricardo Savarino Levenhagen";
$pdf->Cell(0,5,$nome,0,0,'L');
//texto do solicitante
$pdf->SetFont('Arial', '', 10);
$pdf->SetY("245");
$pdf->SetX("25");
$gen="Gerente Técnico";
$pdf->Cell(0,5,$gen,0,0,'L');
/*****definindo o rodapé***********************/
$pdf->SetY("260");
$pdf->SetX("25");
$pdf->SetFont('Arial', '', 8);
$end= "Rua Itapecerica da Serra, 59 - Cidade Ademar - São Paulo - SP - Fones:(11) 5562-1160 / 5562-5034";
$pdf->Cell(0,5,$end,0,0,'C');
$pdf->SetY("265");
$pdf->SetX("25");
$pdf->SetFont('Arial', '', 8);
$end2="Fax:(11) 5677-7259 - e-mail: contato@galvarivoli.com.br - site: www.galvarivoli.com.br";
$pdf->Cell(0,5,$end2,0,0,'C');
$pdf->Output('orcamento','I');
?>
A alteração que fiz no fpdf está abaixo:
case 'I':
//Send to standard output
if(isset($HTTP_SERVER_VARS['SERVER_NAME']))
//if(ob_get_contents())
//$this->Error('Some data has already been output, can\'t send PDF file');
//if(php_sapi_name()!='cli')
{
//We send to a browser
header('Content-Type: application/pdf');
Valeu gente
Blanche
Carregando comentários...