Gerar PDF sem que abra o Preview

Tenho a necessidade em gerar o arquivo PDF que em seguida irei enviar por e-mail.
Estou usando o comando:

$this->Pdf->Output($NomeArquivo,‘F’);

Esta gerando o arquivo perfeitamente, porém esta aparecendo o relatório em tela.
Não quero que apareça, pois logo após gerar o arquivo pretendo envia-lo anexo em um e-mail.
Já alterei em Configuração->Destino do PDF para Servidor e mesmo assim continua a mostrar o relatório após grava-lo.
Alguém saberia como posso contornar esta questão.

Olá Wagner, Parece que a solução não é tão simples.
Veja esse tópico: http://www.scriptcase.com.br/forum/index.php/topic,11266.15.html
E esse vídeo : https://www.youtube.com/watch?v=ECaEJQMTNnM

Se funcionar, informa aqui.

Eu não sofro com isso.
Eu envio o email PM o link dá app direto para o cliente.

Carlos, grato pela pronta resposta.
Já havia assistido o vídeo, mais pela minha percepção ele gera o PDF e depois envia.
A minha questão é em gerar o PDF em disco (no caso uso o parâmetro ‘F’) e não aparecer em tela.
Continuo a procurar uma solução e assim q tiver sucesso eu compartilho.
Abraços.

Obrigado pela pronta resposta meu Mestre.

Sou novato no SC e não consegui entender sua solução, poderia dar mais detalhe se possível.

Acreditando que suas aplicações estão nas nuvens, em vez de gerar o pdf, salvar em disco para anexar em email e enviar, porque não enviar por email um link direto do sistema e o contato do email acessa esse link e o pdf é gerado diretamente na máquina dele

Haroldo, boa tarde.

Interessante e Inteligente sua alternativa, poderia me dar mais detalhes.

Eu tenho a aplicação PDFReport que irá gerar este PDF e para ele executar eu passo o código do cliente e a data de inicio do extrato, pensei que poderia somente enviar um link com o nome da aplicação e os parametros a serem passados, mas fiz o teste e não deu. O SC abre o browse e pede que se digite as informações.
Abaixo o link que pensei iria resolver esta questão:
http://186.232.82.244:88/scriptcase/app/Entidades/pdfreport_Clientes/pdfreport_Clientes_teste.php?clicodigo=1&dtInicio=17/01/2017

Vou desenvolver um exemplo aqui.

o correto é assim

http://186.232.82.244:88/scriptcase/app/Entidades/pdfreport_Clientes/index.php?clicodigo=1&dtInicio=17/01/2017

Por questões de segurança a reportpdf não pode estar liberada para acesso direto pela url.

uma tabela link deve ser criada:
id, aplicação, parametros, data, tabela entidade, entidade_id, key, acessos_max, acessos, data_expiração, email, nome contato, ips de acesso. datas e horas de acesso

  • aplicacao : aplicação a ser chamada (podemos usar não sõ para report pdf)
  • parametros: a ser passado ex: cli_id=111&pedido_id=222 (parâmetros do tipo data devem ser convertidos )
  • tabela entidade e entidade_id: tabela onde se encontra o contato que receberá o email (cliente, fornecedor, funcionario, transportadora, vendedor, representante, etc)
  • Key: é a criptografia de alguns campos dessa tabela, (id+data+hora+entidade_id) por exemplo.
  • acessos_max: Número máximo de vezes que o contato pode acessar o link
  • acessos: Número de acessos realizados pelo contato
  • data expiracao: A partir dessa data o link fica inválido
  • nome do contato e email: Destinatário do email
  • Ips de acesso: Ips de origem quando do acesso ao link (pode ser guardado em formato json)
  • Datas e horas de acesso: Data e horas dos acessos ao link (pode ser guardado em formato json)

Aplicação Blank: link_access
-Recebe o parâmetro Key via Get.
-Descriptografa Key e localiza o registro em Link
-Libera a segurança da aplicação a ser chamada
-Registra ip de origem e data e hora, e soma no contador de acessos
-Se Link não tiver expirado ou o nro de acessos for inferior ou igual ao máximo redireciona para aplicação passando parâmetros

Dessa forma obtêm-se segurança, diversificação no uso de extranet, por exemplo enviar uma cotação a um fornecedor, ele recebe o link da tela para preencher os valores dos produtos cotados, outro exemplo atualização de dados cadastrais de um cliente, e assim vai. Outro vantagem, é que você registra os acessos, e pode consultá-los e o contato não poderá vir com a desculpa por exemplo que não recebeu o boleto de pagamento, pois você tem o registro dos acessos, com ip, data e hora. Pode-se se integrar com um CRM também, com envio de emails de cobrança, de contato, de lembretes…
E ganha no uso da banda de internet do seu servidor também.

No envio do email seu corpo deve estar bem formatado com todos os dados da empresa, logo, contatos, para que receber o provedor de email não o configurar como virus ou spam.

o link a ser criado no email:

https://dominio/pasta/link_acess/?key=a2g3hky7dh033wqjum99w88723

Tags: Email, Anexo, Link, Report, PDF

Ainda na briga com a passagem de parâmetro par ao relatório, vou descrever os passos e quem saber alguém aponte o meu erro. E acredito que deve ser algo simples, coisa de aprendiz.

  1. Faço a chamada ao Controle e passo o cliente.
    186.232.82.244:88/scriptcase/app/Entidades/FiltroExtratoEmail/?i_CliCodigo=3
  2. Abre o formulário de Controle e é pedido a data de inicio do extrato, quando o operador clicar no botão OK executo o evento onValidateSuccess
    $data ={dtinicial};
    echo 'antes de redirecionar '.$data;
    sc_redir(pdfreport_Clientes, i_CliCodigo=[i_CliCodigo], i_dtInicio=$data);

o comando echo retorna a data que eu digitei.

Já dentro do PDF_REPORT ele não recebe este valor que passei, mantem sempre a última data que digite na tela padrão do SC de teste q pede parâmetros.

Alguém tem uma sugestão de onde posso estar errando…

a passagem de parâmetros via sc_redir dever ser entre ponto e virgula e não vurgula

sc_redir(pdfreport_Clientes, i_CliCodigo=[i_CliCodigo]; i_dtInicio=$data);

http://www.scriptcase.com.br/docs/pt_br/v81/macros-scriptcase/macros-scriptcase#sc_redir

Muitíssimo obrigado meu mestre…
Aprendiz é aprendiz mesmo… (dias re-escrevendo código e possibilidade e não havia percebido tal detalhe).