Impressão com FastReport.Net

12/08/2014

0

Olá pessoal,

Eu fiz um relatório usando FastReport.Net com SQL Server mas, ao clicar na impressora do componente, abre uma tela pedindo para fazer o download em PDF do relatório. Como faço para imprimir direto para a impressora? Tentei fazer com que gerasse um PDF ([b]GerarPF()[/b]), até que cria o arquivo mas, ao abrir, fica pensando e não abre nada. Mas, se for na pasta onde está o arquivo PDF eu consigo visualizá-lo.

Estou desenvolvendo em Visual Studio 2012, linguagem VB. Segue o código abaixo:


[b]Partial Class administrador_relatorios_relEmpresas[/b]
Inherits System.Web.UI.Page
Private Empresa As New PROTOCOLO.objEmpresas
Private Permissao As New PROTOCOLO.objPermissoes

[b]Private Sub HabilitaBotoes()[/b]
Dim Ds As Data.DataSet
Dim pPagina As String
pPagina = Request.CurrentExecutionFilePath
pPagina = pPagina.Remove(0, pPagina.LastIndexOf("/") + 1)

Try
LbMensagem.Text = DBNull.Value.ToString
Ds = Permissao.ConsultaAvancada(" A.Perfil_Codigo = " & Session("sPerfil") & _
" AND B.Modulo_Arquivo = 'relatorios/" & pPagina & "'", "")

If Not Ds Is Nothing Then
If Ds.Tables(0).Rows.Count > 0 Then
WebReport1.ShowPrint = Ds.Tables(0).Rows(0)("Perm_Imprime")
WebReport1.ShowExports = Ds.Tables(0).Rows(0)("Perm_Exporta")
Else
If Ds.Tables(0).Rows.Count = 0 Then
WebReport1.ShowPrint = False
WebReport1.ShowExports = False
End If
End If
Else
If Ds Is Nothing Then
WebReport1.ShowPrint = False
WebReport1.ShowExports = False
End If
End If

Catch ex As Exception
LbMensagem.Text = "Ocorreu um erro:
" & ex.Message
End Try

[b]End Sub[/b]

[b]Private Sub PovoaRelatorio(ByVal pParametro As String, ByVal pOrdem As String)[/b]
Dim pSQL As String
pSQL = " SELECT * FROM v_empresas "
If Trim(pParametro) <> DBNull.Value.ToString Then pSQL = pSQL & " WHERE " & pParametro
If Trim(pOrdem) <> DBNull.Value.ToString Then pSQL = pSQL & " ORDER BY " & pOrdem Else pSQL = pSQL & " ORDER BY Empresa_RazaoSocial "

HabilitaBotoes()

SqlDataSource1.SelectCommand = pSQL
SqlDataSource1.DataBind()

WebReport1.ReportFile = Server.MapPath("reEmpresas.frx")
WebReport1.Refresh()

[b]End Sub[/b]

[b]Private Sub GerarPF()[/b]
WebReport1.Prepare()
Dim export As FastReport.Export.Pdf.PDFExport = New FastReport.Export.Pdf.PDFExport()
WebReport1.Report.Export(export, "../../protocolo/relatorios/relEmpresas.pdf")
Response.Redirect("../../relatorios/relEmpresas.pdf")

[b]End Sub[/b]

[b]Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load[/b]
If Not IsPostBack Then
PovoaRelatorio(" Empresa_Codigo = 0 ", "")

End If

[b]End Sub[/b]

[b]Protected Sub BtnConsultar_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles BtnConsultar.Click[/b]
PovoaRelatorio(" Empresa_RazaoSocial LIKE '%" & TxtBusca.Text & "%' ", "")

[b]End Sub[/b]

[b]Protected Sub SqlDataSource1_Selected(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.SqlDataSourceStatusEventArgs) Handles SqlDataSource1.Selected[/b]
If e.AffectedRows > 0 Then
divRelatorio.Visible = True
Else
If e.AffectedRows = 0 Then
divRelatorio.Visible = False
End If
End If

[b]End Sub[/b]

[b]Protected Sub BtnPDF_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles BtnPDF.Click[/b]
GerarPF()

[b]End Sub[/b]

[b]End Class[/b]


Grato,

Ilano.
Ilano Caldas

Ilano Caldas

Responder

Posts

01/08/2015

Tiago Barbosa

Era para aparecer o cliente e os veiculos embaixo, como se fosse produtos de um cliente, e depois o outro cliente e seus produtos, mas aparece primeiro os clientes e depois os produtos[img:descricao=Era para aparecer o cliente e os veiculos embaixo, como se fosse produtos de um cliente, e depois o outro cliente e seus produtos, mas aparece primeiro os clientes e depois os produtos]http://arquivo.devmedia.com.br/forum/imagem/445491-20150801-114054.png[/img]
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