Criando PDF com Crystal Reports e ASP.NET (sem gravar no servidor)

A geração de arquivos PDF com o método “ExportToDisk” exige que você possua espaço disponível no servidor e também a criação de um job para posterior exclusão dos arquivos.
Utilizaremos aqui o método “ExportToStream” que direciona a saída do export diretamente para o usuário que a solicitou.
O código abaixo foi adaptado do original em : http://www.explosivedog.com/blog/archive/2004/03/22/211.aspx

Segue o exemplo comentado:

private void Page_Load(object sender, System.EventArgs e)
{
oleDbDataAdapter1.Fill(dataSet11.Authors);

Relatorio rel = new Relatorio(); // instancia um relatório gerado no Crystal Reports que acompanha o Visual Studio
rel.SetDataSource(dataSet11);

// utilizando o ExportToStream.
System.IO.Stream st = rel.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat);

// criar um Leitor de Binários para receber o stream
System.IO.BinaryReader br = new System.IO.BinaryReader(st);

// cria um vetor de bytes do tamanho do stream
byte[] vet = new byte[st.Length];

// Carrega o vetor de bytes
for (int x = 0; x < (st.Length); ++x)
vet[x] = br.ReadByte();

// Limpa o cabeçalho da página de saída
Response.ClearContent();
Response.ClearHeaders();
// Altera o tipo de saída para pdf.
Response.ContentType = “application/pdf”;
// escreve o vetor na saída
Response.BinaryWrite(vet);
// exibe
Response.Flush();
// Fecha o Response (se não dá erro de arquivo não finalizado)
Response.Close();

rel.Close();
}

One Response to Criando PDF com Crystal Reports e ASP.NET (sem gravar no servidor)

  1. marciosilveira disse:

    O Post acima foi criado por mim em meados de 2005 e foi acrescentado na época no site http://www.Aspbrasil.com.br e hoje por acaso está publicado no DevMedia.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: