Atualize hoje para o Scriptcase 9 e ganhe 35% de desconto! Atualize hoje para o Scriptcase 9 e ganhe 35% de desconto! COMPRAR AGORA!

Autor Tópico: [RESOLVIDO] Problema com TCPDF, na segunda página está perdendo as configurações  (Lida 648 vezes)

utechii

  • Intermediário
  • ***
  • Mensagens: 137
Boa tarde,

Estou utilizando a a biblioteca TCPDF para fazer um relatório, a primeira página está funcionando perfeitamente, mas a partir dai as configurações de layout são perdidas.

Se alguém puder me ajudar a identificar algum erro.

Estou anexando o PDF gerado.

Código: [Selecionar]
sc_include_lib("tcpdf");

$pdf = new tcpdf('L','mm','A4');

$pdf->Open();
$pdf->AddPage();

$pdf->SetPrintHeader(false);
$pdf->SetPrintFooter(false);

$relatorio_name = "Respostas da Empresa";

$pdf->Write(0, $relatorio_name, '', 0, 'C', true, 0, false, false, 0);

$empresa_name = "[empresa]";

$pdf->Write(0, $empresa_name, '', 0, 'C', true, 0, false, false, 0);


$x = array("ano_0"=>150, "ano_1"=>170, "ano_2"=>190, "ano_3"=>210, "ano_4"=>230, "ano_5"=>250, "ano_6"=>270);

$y = 30;

$ano = list_of_years();

$pdf->SetFont('courier','B',10);
$pdf->SetXY($x['ano_0'], $y);
$pdf->Write(0, $ano[0]['ano'], '', 0, 'L', true, 0, false, false, 0);

$pdf->SetXY($x['ano_1'], $y);
$pdf->Write(0, $ano[1]['ano'], '', 0, 'L', true, 0, false, false, 0);

$pdf->SetXY($x['ano_2'], $y);
$pdf->Write(0, $ano[2]['ano'], '', 0, 'L', true, 0, false, false, 0);

$pdf->SetXY($x['ano_3'], $y);
$pdf->Write(0, $ano[3]['ano'], '', 0, 'L', true, 0, false, false, 0);

$pdf->SetXY($x['ano_4'], $y);
$pdf->Write(0, $ano[4]['ano'], '', 0, 'L', true, 0, false, false, 0);

$pdf->SetXY($x['ano_5'], $y);
$pdf->Write(0, $ano[5]['ano'], '', 0, 'L', true, 0, false, false, 0);

$pdf->SetXY($x['ano_6'], $y);
$pdf->Write(0, $ano[6]['ano'], '', 0, 'L', true, 0, false, false, 0);


$informacoes = list_of_information();

$y += 10;

$i = 1;
foreach($informacoes as $inf){


$informacao = $i."- ".$inf['informacao'];
$pdf->SetFont('courier','B',10);
$pdf->SetXY(5, $y);
$pdf->Write(0, $informacao, '', 0, 'L', true, 0, false, false, 0);
$i++;

[id_informacao] = $inf['id_informacao'];
$dados = list_data();

$y +=7;

$pdf->SetFont('courier','',10);
foreach($dados as $d){

$y +=5;

$j=0;

$pdf->SetXY(10, $y);
$pdf->Write(0, $d['planta'], '', 0, 'L', true, 0, false, false, 0);

while($j < 7){

$pdf->SetXY($x['ano_'.$j], $y);
$pdf->Write(0, $d['ano_'.$j], '', 0, 'L', true, 0, false, false, 0);
$j++;
}
}
$y += 15;
}
$pdf->Output();

« Última modificação: Março 23, 2017, 02:02:03 pm por utechii »

Haroldo

  • Expert
  • *****
  • Mensagens: 7362
  • Conhecimento diminui limitações.△TFA△
    • InfinitusWeb Software de Gestãol/Gestão ITIL/Consultoria Scriptcase
Re:Problema com TCPDF, na segunda página está perdendo as configurações
« Responder #1 Online: Março 20, 2017, 05:12:16 pm »
Precisa ver como estão seus controles aí. É um código 100% pessoal.

Faço controles sem problema com report pdf (tcpdf)

já olhou esse vídeo?
https://www.youtube.com/watch?v=aKpkZmsKwis&t=878s


utechii

  • Intermediário
  • ***
  • Mensagens: 137
Re:Problema com TCPDF, na segunda página está perdendo as configurações
« Responder #2 Online: Março 20, 2017, 05:23:05 pm »
Tentamos utilizar o report pdf, porém estavamos tento bastante difculdades. Devido a tópicos como esse: http://www.scriptcase.com.br/forum/index.php/topic,8067.15.html?PHPSESSID=l7il5iva8a35pqkq44rdf7egf3 achamos melhor desenvolver no Blank.

Eu sei que o código é 100% pessoal, mas minha dúvida é que na primeira página esta tudo posicionado perfeitamente dai sem explicação alguma dados são perdidos e o layout é totalmente desconfigurado.

Gostaria de saber se alguém ja teve problemas como esse e como fez para solucionar.

Não acredito que tenha algo de errado no código, já olhei algumas vezes e não encontrei nada.

Haroldo

  • Expert
  • *****
  • Mensagens: 7362
  • Conhecimento diminui limitações.△TFA△
    • InfinitusWeb Software de Gestãol/Gestão ITIL/Consultoria Scriptcase
Re:Problema com TCPDF, na segunda página está perdendo as configurações
« Responder #3 Online: Março 20, 2017, 05:28:21 pm »
O Vídeo demonstra perfeitamente que o Report PDF é 100% livre no desenvolvimento.

Você usa coordenadas em um variável,  não podemos avaliar sua lógica,  coloco em modo debug e echoe as variáveis da sua rotina para acompanhar os valores.



pauloper

  • Global Moderator
  • Avançado
  • *****
  • Mensagens: 412
Re:Problema com TCPDF, na segunda página está perdendo as configurações
« Responder #4 Online: Março 20, 2017, 06:09:26 pm »
O vídeo do Haroldo sobre recibos é show.
É só seguir as dicas e prestar atenção nos detalhes.

Att,
Paulo.

utechii

  • Intermediário
  • ***
  • Mensagens: 137
Re:Problema com TCPDF, na segunda página está perdendo as configurações
« Responder #5 Online: Março 20, 2017, 06:15:52 pm »
Haroldo,

Eu particulamente acho muito fixo o módulo de report pdf, não consigo organizar as informações da maneira como gostaria.

Já assisti alguns vídeos para este módulo e todos possuem o mesmo layout, o que não se encaixa para o padrão escolhido.

Nesse código estou bem próximo do estipulado pelo cliente, porém não estou conseguindo finalizar. Você poderia me ajudar com esse blank?

Obrigado.

Haroldo

  • Expert
  • *****
  • Mensagens: 7362
  • Conhecimento diminui limitações.△TFA△
    • InfinitusWeb Software de Gestãol/Gestão ITIL/Consultoria Scriptcase
Re:Problema com TCPDF, na segunda página está perdendo as configurações
« Responder #6 Online: Março 20, 2017, 06:53:53 pm »
Assistiu vários vídeos mas não assistiu especificamente o que sugeri?

Eu demonstro com total liberdade e sem dificuldades e diversas situações diferentes em um mesmo PDF.

No seu código é sua lógica você está fazendo algo que o tcpdf está interpretando de forma indesejada.
Eu terei que ter o exemplo em minha máquina para avaliar.



utechii

  • Intermediário
  • ***
  • Mensagens: 137
Re:Problema com TCPDF, na segunda página está perdendo as configurações
« Responder #7 Online: Março 21, 2017, 06:02:07 pm »
Infelizmente ainda não consegui finalizar essa questão. Estamos tentando utilizar a biblioteca FPDF. Adicionamos esta biblioteca nas ferramentas do próprio SC.

Em seguida criamos uma biblioteca interna que sobrescreve alguns métodos como "Header" e "Footer" para atender nosso projeto, o problema é que quando eu dou um "extends" na classe que está implementando os métodos eu pego o seguinte erro:

Fatal error: Class 'FPDF' not found in /opt/NetMake/v81/wwwroot/scriptcase/app/SGA/relatorio_resposta_empresa_2/classe_PDF.php on line 5

Ela não encontra a Classe FPDF que é a biblioteca externa. Fazendo isso fora do SC ficou bem legal só que sem os dados necessários obviamente.

Alguém consegue dizer o que acontece.

Wennys Carlos

  • Avançado
  • ****
  • Mensagens: 289
    • Email
Re:Problema com TCPDF, na segunda página está perdendo as configurações
« Responder #8 Online: Março 21, 2017, 06:24:42 pm »
Como vc tá fazendo o include da FPDF ?
Wennys Carlos

utechii

  • Intermediário
  • ***
  • Mensagens: 137
Re:Problema com TCPDF, na segunda página está perdendo as configurações
« Responder #9 Online: Março 21, 2017, 06:41:28 pm »
Bom adicionamos a a biblioteca na opção: Ferramentas->bibliotecas externas.

A nova classes pra reimplementar alguns metódos foi na opção: Ferramentas->bibliotecas internas.

Na biblioteca interna tentei usar a macro: sc_include_lib('fpdf'), porém deu o erro apresentado.

Wennys Carlos

  • Avançado
  • ****
  • Mensagens: 289
    • Email
Re:Problema com TCPDF, na segunda página está perdendo as configurações
« Responder #10 Online: Março 21, 2017, 07:27:10 pm »
Para incluir a Biblioteca Interna, basta ir em Programação->Bilbliotecas Internas e marcar lá.

Não precisa usar sc_include_lib('fpdf').
Wennys Carlos

Haroldo

  • Expert
  • *****
  • Mensagens: 7362
  • Conhecimento diminui limitações.△TFA△
    • InfinitusWeb Software de Gestãol/Gestão ITIL/Consultoria Scriptcase
Re:Problema com TCPDF, na segunda página está perdendo as configurações
« Responder #11 Online: Março 21, 2017, 08:14:37 pm »
Que bagunça que estão fazendo.
Não precisa de fpdf, não precisa sc Include lib.

Cleidson dos Santos

  • Intermediário
  • ***
  • Mensagens: 199
    • Sistema para controle e Gerenciamento de Manutenção
    • Email
Re:Problema com TCPDF, na segunda página está perdendo as configurações
« Responder #12 Online: Março 21, 2017, 11:48:53 pm »
Infelizmente ainda não consegui finalizar essa questão. Estamos tentando utilizar a biblioteca FPDF. Adicionamos esta biblioteca nas ferramentas do próprio SC.

Em seguida criamos uma biblioteca interna que sobrescreve alguns métodos como "Header" e "Footer" para atender nosso projeto, o problema é que quando eu dou um "extends" na classe que está implementando os métodos eu pego o seguinte erro:

Fatal error: Class 'FPDF' not found in /opt/NetMake/v81/wwwroot/scriptcase/app/SGA/relatorio_resposta_empresa_2/classe_PDF.php on line 5

Ela não encontra a Classe FPDF que é a biblioteca externa. Fazendo isso fora do SC ficou bem legal só que sem os dados necessários obviamente.

Alguém consegue dizer o que acontece.

Veja esse vídeo. https://youtu.be/esYVd2SHx-M
Nele explico como usar a classe FPDF no scriptcase
Cleidson dos Santos
cleidsoncarneirodossantos@gmail.com
Skype: cleidson_santos1
WhatsApp: (15) 99635-4862

utechii

  • Intermediário
  • ***
  • Mensagens: 137
Re:Problema com TCPDF, na segunda página está perdendo as configurações
« Responder #13 Online: Março 22, 2017, 01:50:31 pm »
Cleidson, Obrigado pelo vídeo mas não consegui entender como resolver meu problema a partir dele, acho que o foco do vídeo é outro.

Acho que não consegui explicar direito qual é o nosso problema.

Temos uma aplicação: gerar_relatorio;
Temos uma a biblioteca externa: Fpdf;

Nosso problema é que através do mecanismo de herança queremos reimplementar algumas funções básicas da classe Fpdf.

Para isso criamos uma biblioteca interna: classes_fpdf com a classe MyPDF que extende a classe fpdf.

Código: [Selecionar]
class MyPDF extends FPDF{
   #código novo aqui
}

Bom com isso gerou o problema que a nova biblioteca interna(classes_fpdf) com a classe (MyPDF) não consegue identificar a biblioteca externa FPDF.

Será necessário inclui a biblioteca externa de alguma maneira e não sabemos como fazer isso dentro de uma biblioteca interna.

Este é o erro gerado:
Código: [Selecionar]
Fatal error: Class 'FPDF' not found in /opt/NetMake/v81/wwwroot/scriptcase/app/SGA/gerar_relatorio/classe_fpdf.php on line 5

Haroldo

  • Expert
  • *****
  • Mensagens: 7362
  • Conhecimento diminui limitações.△TFA△
    • InfinitusWeb Software de Gestãol/Gestão ITIL/Consultoria Scriptcase
Re:Problema com TCPDF, na segunda página está perdendo as configurações
« Responder #14 Online: Março 22, 2017, 01:57:47 pm »
class MyPDF extends FPDF{
   #código novo aqui
}

tem que estar em bibliotecas externas.

e o include a classe pdf utilize require_once.

ou utilize require_once para ambos.

Sem form em uma blank,  escreva a extensão da classe dentro da blank mesmo

http://www.fpdf.org/en/tutorial/tuto2.htm

http://www.fpdf.org/en/tutorial/tuto2.php



« Última modificação: Março 22, 2017, 02:01:04 pm por Haroldo »