none
Automatização de criação de PDF RRS feed

  • Pergunta

  • Bom dia colaboradores.

     

    Meu cliente solicitou uma automatização de geração de PDF e isso pode me custar o sucesso do projeto.

    Queria discutir com vocês. Ver suas idéias e chegar a algumas conclusões, por favor.

     

    Projeto

    Existe um sistema legal que gera um arquivo .txt, contendo todos os dados que eu preciso para gerar o PDF.

     

    Problema

    Antigamente esse arquivos eram submetidos a um terceiro, e o mesmo cobrava um valor X para gerar os PDF e devolvê-los.

     

    Solução

    Criar o PDF no próprio cliente, utilizando Reporting Service e exportando-o para PDF.

     

    Especificação da solução

    1º - Efetuamos a leitura dos arquivos .txt  (podem ser vários ao mesmo tempo) e geramos um XML, salvando-o em uma outra pasta

    2º - Efetuamos a leitura destes XML´s e alimentamos alguns modelos de relatórios, dependendo do tipo de arquivo a ser gerado. Com os relatórios preenchidos, exportamo-os para PDF em uma terceira pasta.

    3º - Por fim, teremos arquivos PDF um tanto grande para armazenarmos em banco de dados (que foi o solicitado pelo cliente). Para isso (não briguem comigo, por favor) fazemos chamada a uma API Java, que comprime os arquivos PDF em até 10% do seu originas ( de 4Mb vai para 400Kb)

     

    Meus problemas

    Este processo está consumindo 100% de processamento da máquina, além de (aparentemente) estar com um problema de alocação de memória (ele sempre aumenta a alocação, mesmo eu chamando o GC e limpando a memória) e pra finalizar, demora muito.

     

     

    Alguém quer opinar sobre, discutir e/ou sugerir algo?

     

    Agradeço a todos pela atenção

     

    terça-feira, 15 de maio de 2007 12:30

Todas as Respostas

  • Daniel,

     

    Mas este processo de memória esta crescendo durante o processo de criação do arquivo .PDF, ou a memória que a aplicação utiliza esta aumentando?

    terça-feira, 15 de maio de 2007 13:05
  • Bom dia Junior.

    Na verdade eu (com certeza) devo ter realizado o mais simples dos testes. Fiz uma analize em cima do Gerenciador de Tarefas do próprio Windows e analisei o desempenho de sistema. Nele notei a utilização de 100% do processamento da CPU e um aumento significativo dos indicadores de paginação.

    Qual seria a melhor ferramenta para que eu faça essa analise?

     

    Obrigado pela ajuda

    terça-feira, 15 de maio de 2007 13:30
  • Daniel,

     

    Você poderia utilizar a ferramenta Performance(Desempenho) e adicionar alguns contadores de memória, processador e fazer o monitoramente durante o processamento da sua aplicação.

    terça-feira, 15 de maio de 2007 16:33
  • Bom dia Junior.

     

    Fiz o monitoramento e realmente, enquanto executando, o programa consome 100% de processamento da máquina.

    Observei também um contador de memória heap do .Net, e este se demonstrou normal.

     

    Agora, pergunto se a questão do 100% de consumo da CPU seria realmente uma preocupação capaz de inviabilizar o projeto.

    Tem algum link falando sobre isso?

     

    Obrigado.

    quarta-feira, 16 de maio de 2007 13:25
  • Daniel,

     

    Realmente esta alto consumo de memória pode atrapalhar, mas o Garbage Colletion deveria fazer este gerenciamento.

     

    Em relação link você poderia inicialmente procurar informações no WebSite Microsoft, ou ForumWeb.

    quarta-feira, 16 de maio de 2007 14:10
  • Boa tarde.

    Ok Junior.

     

    Muito obrigado pelas dicas e pela atenção. Vou ver o que consigo descobrir por aqui e volto para postar alguma possível solução.

     

    Abraço

    quinta-feira, 17 de maio de 2007 18:21