[RESOLVIDO] v.81 Salvar PDF mais de uma página automaticamente

Prezados,

Tenho um recibo de vale transporte em PDFReport que funciona 99%, faltando apenas o detalhe de conseguir salvar automático quando o relatório gera mais de uma página. Se gero o recibo para apenas um funcionário, o pdf é armazenado corretamente no diretório que eu defino, no entanto, a partir de 2 funcionários, dá erro já na tela (não exibindo os relatórios) e também nos arquivos gerados (a partir do 2o), de maneira que não consigo visualizá-los depois.

  1. Meu relatório está configurado em Registro por Página (já tentei por linha tb, sem sucesso);

  2. Escrito manualmente (TCPDF) no corpo do código;

  3. Uso o comando abaixo para salvar o pdf (se removo, as páginas são exibidas na tela, perfeitamente)

$this->Pdf->Output({arquivo_gerado}, 'F');

Erro no Firefox

Desde já, agradeço imensamente a atenção.

Alguém? Rs

Não consegui entender sua necessidade.

São muitos arquivos pdf gerados de uma única vez?

Esse comando não deveria ser executado: $this->Pdf->Output({arquivo_gerado}, ‘F’);

Você deve definir o destino nas configurações da aplicação.

No caso dela, quando o PDF possui várias folhas a macro não funciona direito.
Possivelmente por que a macro é executada na primeira folha.

Então, se eu não coloco o comando output o PDF não é gravado no diretório configurado.
O que o Ronyan disse provavelmente é a causa. A questão é como resolver…

Resolvido assim:

No evento onRecord, preenchemos uma variável global que define se está no último registro:

if ($this->rs_grid->currentrow() == ($this->rs_grid->recordcount())-1) {
	$GLOBALS['ultimo_reg'] = true;
}

Em Layout PDF > Código, no final do código, salvamos o arquivo apenas se estiver no último registro:

if ($GLOBALS['ultimo_reg']) {
	$this->Pdf->Output({nome_arquivo}, 'F');
}