Abrir PDF gerado em outro webform/página

18/12/2012

0

Bom dia!

Esta é minha primeira postagem aqui. Já estudo C# ASP.NET a 4 meses e estou adorando.

Minha dúvida é a seguinte:

Estou montando relatórios utilizando o ReportView e esta tudo funcionando OK.

Porém, como o Reportviwer não mostra o botão imprimir em browser que não seja o internet explorer, consegui o seguinte código abaixo que já renderiza diretamente para PDF:

string mimeType;
string encoding;
string fileNameExtension;
Warning[] warnings;
string[] streamids;
byte[] exportBytes = ReportViewer1.LocalReport.Render("PDF", null, out mimeType, out encoding, out fileNameExtension, out streamids, out warnings);
HttpContext.Current.Response.Buffer = true;
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.ContentType = mimeType;
HttpContext.Current.Response.AddHeader("content-disposition", "inline; filename=Relatório de Viagem." + fileNameExtension);
HttpContext.Current.Response.BinaryWrite(exportBytes);
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();


Funciona perfeitamente!

Minha dúvida é a seguinte, como posso fazer com que o arquivo PDF gerado seja exibido em outro webform ou mesmo aberto em uma nova página?

Agradeço a atenção de todos,

Abraço.
G2 Ltda.

G2 Ltda.

Responder

Posts

18/12/2012

Robson Alves

Amigo, eu fiz esse post:

[url]https://www.devmedia.com.br/reporting-services-command-exportanto-arquivos/26629[/url]

Ele é perfeito para a sua necessidade, ele não usa o ReportViewer, ele usurá diretamente o Command do SQL!

Por ser uma requisição por URL, você irá criar uma nova página para isso, consequentemente atendendo sua necessidade.
Responder

18/12/2012

G2 Ltda.

Amigo, eu fiz esse post:

[url]https://www.devmedia.com.br/reporting-services-command-exportanto-arquivos/26629[/url]

Ele é perfeito para a sua necessidade, ele não usa o ReportViewer, ele usurá diretamente o Command do SQL!

Por ser uma requisição por URL, você irá criar uma nova página para isso, consequentemente atendendo sua necessidade.


Bom dia,

Sua solução é muito interessante!

O problema é que já tenho todos os meus relatórios montados (35 ao todo) e não queria mudar o modo agora, visto que não terei tempo hábil para a entrega do sistema.

No momento, eu conseguindo direcionar o arquivo gerar para outro webform/página, resolveria meu problema neste momento.

Abraço.

Responder

18/12/2012

Robson Alves

O que pode ser feito.

Uma nova página de relatórios, que recebe os parâmetros de cada relatório.

você chamam essa página via c#, utilizando o ClientScript ou caso utilize update panel ScriptManager.RegisterScriptBlock.

neste comando você faz a chamada via javascript.

Windows.open('urlDoPáginaDeRelatorio');

ScriptManager.RegisterClientScriptBlock(this, typeof(Page), Guid.NewGuid().ToString(), "windows.open", true);


Na página de relatórios você faz essa sua rotina.

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar