Autor Tópico: Problemas com TCPDF [RESOLVIDO]  (Lida 1890 vezes)

jobsoncunha

  • Iniciante
  • **
  • Mensagens: 79
    • Email
Problemas com TCPDF [RESOLVIDO]
« Online: Janeiro 28, 2015, 06:02:56 pm »
Migrei recentemente para a versão 8 e comecei agora a utilizar o TCPDF.

Estou com o seguinte problema: tenho uma tabela de exames que contem um campo TXT, o qual armazena os dados do laudo. A digitação do laudo e realizada através de um campo configurado como Editor Html. O conteúdo do campo na base de dados esta com todos os tags de configuração da edição do campo. No relatório, portanto, não consigo fazer mostrar o conteúdo desde campo. Jã tentei todos os exemplos do site tcpdf.org sem sucesso. Segue a baixo o código usado para o referido relatório (uso o blank para fazer relatórios), na esperança de que alguém indique onde esta meu erro.

////////////////////////////////////////

sc_include_lib("tcpdf");

sc_lookup(ds_atend, "SELECT
   i.id_req,
   i.id_exame,
   e.descricao,
   i.valor,
   i.laudo,
   r.id_medico_solicita,
   m.pf_nome,
   r.data,
   z.emp_nome,
   i.data_laudo,
   z.emp_endereco,
   z.emp_numero,
   z.emp_bairro,
   z.emp_cep,
   z.emp_cidade,
   z.emp_uf,
   z.emp_fones,
   z.emp_site,
   z.emp_email,
   c.cli_nome,
   c.cli_fones,
   t.cv_nome
   FROM
   req_exames_itens i
   LEFT OUTER JOIN exames e ON e.id = i.id_exame
   LEFT OUTER JOIN req_exames r ON r.id = i.id_req
   LEFT OUTER JOIN medicos m ON m.pf_codigo = r.id_medico_solicita
   LEFT OUTER JOIN parametros z ON z.id = i.id_emp
   LEFT OUTER JOIN clientes c ON c.cli_id = r.id_cliente
   LEFT OUTER JOIN convenios t ON t.cv_id = r.id_convenio
   WHERE i.id_req = [v_requisicao]
    ");
//fim do sc_lookup

$v_titulo = 'LAUDO MEDICO';

$v_req = {ds_atend[0][0]};
$v_exame = {ds_atend[0][2]};
$v_valor = {ds_atend[0][3]};
$v_laudo = {ds_atend[0][4]};
$v_medico = {ds_atend[0][6]};
$v_data = {ds_atend[0][7]};
$v_empresa = {ds_atend[0][8]};
$v_data_laudo = {ds_atend[0][9]};
$v_emp_endereco = {ds_atend[0][10]};
$v_emp_numero = {ds_atend[0][11]};
$v_emp_bairro = {ds_atend[0][12]};
$v_emp_cep = {ds_atend[0][13]};
$v_emp_cidade = {ds_atend[0][14]};
$v_emp_uf = {ds_atend[0][15]};
$v_emp_fones = {ds_atend[0][16]};
$v_emp_site = {ds_atend[0][17]};
$v_emp_email = {ds_atend[0][18]};
$v_cli_nome = {ds_atend[0][19]};
$v_cli_fones = {ds_atend[0][20]};
$v_convenio = {ds_atend[0][21]};

$v_end_emp = $v_emp_endereco . ', ' . $v_emp_numero . ' - ' . $v_emp_bairro;
$v_cid_emp = $v_emp_cep . ' - ' . $v_emp_cidade . '/' . $v_emp_uf . '  Fones: ' . $v_emp_fones;
$v_contato_emp = $v_emp_site . '  -  ' . $v_emp_email;

// create new PDF document
$pdf = new TCPDF('P', 'mm', 'A4', true, 'UTF-8', false);

// set document information
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Jobson Cunha');
$pdf->SetTitle('SIGCLI Laudo_001');

// set margins
$pdf->SetMargins(20, 30, 20);
$pdf->SetHeaderMargin(false);
$pdf->SetFooterMargin(false);

// set auto page breaks
$pdf->SetAutoPageBreak(TRUE, 20);

// set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);

// set some language-dependent strings (optional)
if (@file_exists(dirname(__FILE__).'/lang/eng.php')) {
    require_once(dirname(__FILE__).'/lang/eng.php');
    $pdf->setLanguageArray($l);
}

// set cell padding
$pdf->setCellPaddings(1, 1, 1, 1);

// set color for background
$pdf->SetFillColor(255, 255, 127);

// ---------------------------------------------------------

// add a page
$pdf->AddPage();

$pdf->Image('\Users\JobsonCunha\Documents\Serviços\Clinicas\logo1.jpg', 25, 5, 25, 25, 'JPG', '', '', false, 150, '', false, false, 0, false, false, false);

$pdf->SetFont('helvetica', 'B', 14);
$pdf->SetXY(10, 10);
$pdf->Write(0, $v_empresa, '', 0, 'C', true, 0, false, false, 0);
//$pdf->SetXY(10, 23);
//$pdf->Write(0, $v_titulo, '', 0, 'C', true, 0, false, false, 0);
$pdf->SetFont('helvetica', '', 8);
$pdf->Write(0, $v_end_emp, '', 0, 'R', true, 0, false, false, 0);
$pdf->Write(0, $v_cid_emp, '', 0, 'R', true, 0, false, false, 0);
$pdf->Write(0, $v_contato_emp, '', 0, 'R', true, 0, false, false, 0);

$pdf->Rect(0, 35, 220, 0, 'DF');

$pdf->ln(5);
$pdf->SetFont('helvetica', 'B', 12);
$pdf->Cell(100,0,'Requisicao: ' . $v_req,0,0);
$pdf->SetFont('helvetica', '', 9);
$pdf->Cell(100,0,'Data Req.: ' . $v_data,0,1);

$pdf->Cell(100,0,'Medico Solicitante: ' . $v_medico,0,0);
$pdf->Cell(100,0,'Convenio: ' . $v_convenio,0,1);
$pdf->Ln(1);
$pdf->Cell(100,0,'Cliente: ' . $v_cli_nome,0,0);
$pdf->Cell(100,0,'Fones: ' . $v_cli_fones,0,1);
$pdf->Ln(1);
$pdf->Cell(100,0,'Exame: ' . $v_exame,0,0);
$pdf->Cell(100,0,'Data do Laudo: ' . $v_data_laudo,0,1);

$pdf->Ln(2);
$pdf->SetFont('helvetica', 'B', 10);
$pdf->Cell(100,0,'LAUDO: ',0,1);
$pdf->SetFont('helvetica', '', 9);


// OS CODIGOS ABAIXO NÃO MOSTRAM O CONTEÚDO DO CAMPO
$pdf->Write(0, $v_laudo, '', 0, 'J', true, 0, false, false, 0);  // Imprime primeiro caractere do conteúdo
$pdf->writeHTML($v_laudo, true, false, true, false, '');  // Imprime primeiro caractere do conteúdo
$pdf->writeHTMLCell(0, 0, '', '', $v_laudo, 'LRTB', 1, 0, true, 'J', true);
$pdf->Cell(0,0,$v_laudo,0,1);  // Imprime primeiro caractere do conteúdo
$pdf->MultiCell(0, 0, $v_laudo."\n", 1, 'J', 1, 1, '' ,'', true);  // Imprime primeiro caractere do conteúdo

$pdf->lastPage();

// ---------------------------------------------------------

//Close and output PDF document
$pdf->Output('example_021.pdf', 'I');

« Última modificação: Janeiro 29, 2015, 09:07:45 am por jobsoncunha »

FredKeyster

  • Expert
  • *****
  • Mensagens: 1702
  • DEWENNINMEN
    • Email
Re:Problemas com TCPDF
« Responder #1 Online: Janeiro 28, 2015, 07:45:33 pm »
Qual erro que dar? Ou ele gera o PDF em branco?
F. A.
Analista de Sistemas

jobsoncunha

  • Iniciante
  • **
  • Mensagens: 79
    • Email
Re:Problemas com TCPDF [RESOLVIDO]
« Responder #2 Online: Janeiro 29, 2015, 09:10:23 am »
Para resolver coloquei as variáveis de conteúdo dentro do seguinte comando: utf8_encode(variavel)

$pdf->writeHTML(utf8_encode($v_laudo), true, false, true, false, ''); 


O inconveniente é de colocar em todas as variáveis cujo conteúdo possa ter acentos e caracteres especiais.

« Última modificação: Janeiro 29, 2015, 09:12:51 am por jobsoncunha »

FredKeyster

  • Expert
  • *****
  • Mensagens: 1702
  • DEWENNINMEN
    • Email
Re:Problemas com TCPDF [RESOLVIDO]
« Responder #3 Online: Janeiro 29, 2015, 09:41:29 am »
Já tinha um tópico falando sobre isso "utf8_encode". Quem que deu certo, abraço!
F. A.
Analista de Sistemas