Ir para conteúdo
  • Cadastre-se

dev botao

Geração de DANFE em pdf


  • Este tópico foi criado há 1024 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Olá pessoal!

Tenho implementado a geração do DANFE em pdf a um bom tempo, e até então de acordo com os parâmetros que vimos tanto nos exemplos, quanto no forum:

   ACBrDANFE.IncorporarBackgroundPdf:=False;
   ACBrDANFE.IncorporarFontesPdf         :=False;
   ACBrDANFE.OtimizaImpressaoPdf        :=False;

  ACBrNFe.NotasFiscais.LoadFromFile(FPathNfe...',False);
  ACBrNFe.NotasFiscais.ImprimirPDF;

Ps.: Tamanho da logo é de 19k

 

Porém, durante o .imprimirPDF ele leva em torno de 3 a 4 segundos para gerar o arquivo, que ficam de 100k pra mais, (mesmo tendo poucos itens)

Gerando individualmente, ok! 3 segundo, entretanto quando há a necessidade de gerar PDF de uma seleção de notas, este tempo é considerável.

Podem me dar alguma luz, ou se é isso mesmo?

Desde já obrigado!

 

Editado por Luis Vicente Costa
Faltou informação do tamanho da logo.
Link para o comentário
Compartilhar em outros sites

Opa! Juliomar, cheguei nestes pontos abaixo, postei o fluxo dos pontos com perda de performance:

 

Primeiro ponto de perda de performance
(ACBRNFeDANFEFRDM) Linha 2078->Result := frxReport.PrepareReport;
(frxClass)Linha 10808-> Result := FScript.Compile
(fs_iinterpreter)Linha 2218->if p.MakeILScript(FLines.Text) then
(fs_iilparser)Linha 600->if Run(FRoot.FindItem('program')) and (FErrorMsg = '') then

 

Segundo ponto de perda de performance
(frxClass)Linha 10884-> EngineRun := FEngine.Run(True);
(frxEngine)Linha 334-> PreviewPages.AddSourcePage(FPage);

Terceiro ponto de perda de performance
(ACBRNFeDANFEFRDM) Linha 2087-> AjustaMargensReports;
(ACBRNFeDANFEFRDM) Linha 2528-> frxReport.PreviewPages.ModifyPage(I, Page);

Quarto ponto de perda de performance
(ACBRNFeDANFEFRDM) Linha 2389-> frxReport.Export(frxPDFExport);
(frxClass)Linha 11145-> FPreviewPages.Export(Filter);
(frxPreviewPages)Linha 2539-> DoExport

 

Em resumo, cada procedimento deste leva 1 segundo ou mais, no final do processo os, 3 ou 4 segundos que comentei. 😅

Link para o comentário
Compartilhar em outros sites

Luizão, boa tarde, tudo bem?

Já considerou Threads para essa geração de PDF?

Sugiro que faça um teste , joga essa parte pra uma Thread fazer.

Sugiro também ligar essa propriedade ACBrDANFE.OtimizaImpressaoPdf . O fastreports vai tratar de otimizar o tamanho do teu PDF:

https://www.fast-report.com/en/blog/183/show/

Qualquer coisa posta aí, assunto interessante esse

 

Abração!

Link para o comentário
Compartilhar em outros sites

Estou de volta!

Coloquei ACBrDANFE.OtimizaImpressaoPdf e deu mais uma aliviada no PDF. Obrigado.

Entretanto , após o comentário do nosso amigo Thobias em usar Thread, me lembrei que tivemos problema tempo atrás com o componente jvGifAnimator, estando habilitando a propriedade "Threaded" tinhamos alguns problemas, desabilitei e voltou ao normal

Agradeço a força pessoal,

Resolvido.

Link para o comentário
Compartilhar em outros sites

  • Administradores

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 1024 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.