none
Gerando relatório em PDF RRS feed

  • Pergunta

  • Olá pessoal,

    Estrou gerando um relatório usando ReportViewer e convertendo em PDF. O código abaixo está gerando o PDF direitinho, o problema é que está gerando uma página a mais em branco. Como posso resolver isso? Segue o código abaixo:

    Imports System.DataImports System.Configuration

    Imports System.Data.SqlClient
    Imports Microsoft.Reporting.WebForms

    Partial Class administrador_relatorios_relEmpresas
        Inherits System.Web.UI.Page

        Private Sub Consulta(ByVal pParametro As String, ByVal pOrdem As String)
            Dim pSQL As String
            pSQL = " SELECT Empresa_Codigo, Categoria_Codigo, Cidade_Codigo, Empresa_CPF, Empresa_Aniversario, " & _
                   " Empresa_RazaoSocial, Empresa_Fantasia, Empresa_Pessoa, Empresa_RG, ENDERECO, Empresa_Endereco, " & _
                   " Empresa_Numero, Empresa_Complemento, Empresa_Bairro, Empresa_Cep, CIDADE, TELEFONE, SITE_EMAIL," & _
                   " MATRIZ_FILIAL, Empresa_Ativo " & _
                   " FROM v_empresas "
            If Trim(pParametro) <> "" Then pSQL = pSQL & " WHERE " & Trim(pParametro)
            If Trim(pOrdem) <> "" Then pSQL = pSQL & " ORDER BY " & Trim(pOrdem)

            SqlDataSource1.SelectCommand = pSQL
            SqlDataSource1.DataBind()

        End Sub

        Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim warnings As Warning() = Nothing
            Dim streamids As String() = Nothing
            Dim mimeType As String = Nothing
            Dim encoding As String = Nothing
            Dim fileNameExtension As String = Nothing

            'MONTANDO RELATÓRIO
            Consulta("", "")
            ReportViewer1.Reset()
            ReportViewer1.SizeToReportContent = True
            ReportViewer1.LocalReport.EnableHyperlinks = True
            ReportViewer1.LocalReport.ReportPath = Server.MapPath("Report1.rdlc")
            ReportViewer1.LocalReport.DataSources.Clear()
            ReportViewer1.LocalReport.DataSources.Add(New ReportDataSource("DSEmpresas1", SqlDataSource1))
            ReportViewer1.LocalReport.Refresh()


            'CONVERTENDO O RELATÓRIO EM PDF
            Dim exportBytes() As Byte = ReportViewer1.LocalReport.Render("PDF", Nothing, mimeType, encoding, fileNameExtension, streamids, warnings)
            HttpContext.Current.Response.Buffer = True
            HttpContext.Current.Response.Clear()
            HttpContext.Current.Response.ContentType = mimeType
            HttpContext.Current.Response.AddHeader("content-disposition", ("inline; filename=ExportedReport." + fileNameExtension))
            HttpContext.Current.Response.BinaryWrite(exportBytes)
            HttpContext.Current.Response.Flush()
            HttpContext.Current.Response.End()

        End Sub

        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            If Not IsPostBack Then

            End If

        End Sub

    End Class


    Outra coisa, como posso gerar esse PDF em uma nova página, ao invés de ser na mesma página?

    Grato,

    Ilano.

    segunda-feira, 4 de agosto de 2014 14:44

Respostas

  • llano o problema esta no report viewer veja seu relatório diminua as margens, execute sem gerar o pdf e vc verá que ele vai gerar a página em branco. 

    Em suma o erro está no report viewer veja as margens.


    Junior

    • Marcado como Resposta ilanocf segunda-feira, 4 de agosto de 2014 15:20
    segunda-feira, 4 de agosto de 2014 14:54