Crystal Report - Imprimir Directamente - C#

 
Vista:

Imprimir Directamente - C#

Publicado por fmonte (3 intervenciones) el 12/11/2007 13:23:04
Hola gente necesito imprimir directamente un reporte rpt sin visualizarlo con Crystal, eh probado con Printtoprinter pero me imprime en el servidor, y no en una impresora del cliente.
Necesito su ayuda, muchisima gracias.
Estoy usando .NET Visual Studio 2005- C# - Crystal 11

Pd: Si tienen ejemplos de otras versiones = pasenmenla q yo lo veo, muchisimas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Imprimir Directamente - C#

Publicado por fany (2 intervenciones) el 27/02/2008 12:01:34
Eso mismo es lo que estoy intentando yo en estos momentos. Lo primero que hice fue intentar mandar el informe de Crystal reports directamente a la impresora con la siguiente instrucción i
infcrystalReports1.PrintToPrinter(1, false, 0, 1);
pero con esto no conseguia que me sacara el menú de la configuración de impresión, así al final obté por poner un control CrystalReportVierwer oculto en mi formulario, le cargo los datos cuando le dan al botón de imprimir y en lugar de mostrarlo lo imprimo con la sentencia
crystalReportViewer1.ReportSource = infcrystalReports1;
crystalReportViewer1.PrintReport();
Y asi me sale el menu y además me imprime correctamente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Imprimir Directamente - C#

Publicado por Arrieta (1 intervención) el 13/05/2008 21:04:43
Hola,
he seguido tus pasos pero me gustaría saber cómo se oculta el crystalReportViewer. He probado en ponerlo a visible=false, pero entonces no me visualiza el report en pantalla. Yo lo que quiero es que no me aparezca el "componente" crystalreportviewer en la página pero sí el report!
-Otra pregunta: ¿qué versión de visual utilizas???? yo hando con el 2003 y no me aparece la opción crystalReportViewer1.PrintReport(); . Me gustaría saber si es por la versión y si tengo que importar algo con el using.

Espero tu respuesta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Imprimir Directamente - C#

Publicado por Edder (3 intervenciones) el 01/08/2019 21:16:11
Hola, lo que puedes hacer es meterlo en un GroupBox y ocultar ese groupbox, Saludos, Espero que te sirva!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 8
Ha aumentado su posición en 2 puestos en Crystal Report (en relación al último mes)
Gráfica de Crystal Report

RE:Imprimir Directamente - C#

Publicado por Cesar (3 intervenciones) el 01/08/2019 21:21:14
¿11 años despues?, no creo que le sirva.

No revivan mensajes viejos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Imprimir Directamente - C#

Publicado por Cristian (2 intervenciones) el 30/10/2008 14:50:40
hola yo estoy buscando lo mismo pero que me imprima la ultima pagina del reporte automaticamente
Estoy usando Visual Basic.NET 2005 pero aplicacion windows y Crystal Report.
porfavor alguien que me ayude.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Imprimir Directamente - C#

Publicado por fmonte (1 intervención) el 30/10/2008 16:05:50
Hola Cristian, mira yo lo solucione de la siguiente manera, lo hice en C# despues adaptalo.

1) Dentro del aspx agregar:

<%@ Register Assembly="CrystalDecisions.Web, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"
Namespace="CrystalDecisions.Web" TagPrefix="CR" %>

2) Dentro del aspx en <head>, agrega lo ste:
<link href="/aspnet_client/System_Web/2_0_50727/CrystalReportWebFormViewer3/css/default.css"
rel="stylesheet" type="text/css" />

3) Agregar

<iframe id="iframe" runat=server scrolling=no style="visibility:hidden">

4) Luego en el evento de imprimir
protected void btnImprimir_Click(object sender, EventArgs e)
{
Session["REPORT"] = null;
Session["cargar"] = null;
Page.RegisterStartupScript("print", "<script>document.getElementById('" + iframe.ClientID + "').src='CrystalViewer.aspx';</script>");
}

5)En la pagina CrystalViewer.aspx en el aspx poner lo ste:
<%@ Register Assembly="CrystalDecisions.Web, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"
Namespace="CrystalDecisions.Web" TagPrefix="CR" %>
.....
<div id="divReporte" runat="server" style="visibility: visible">
<CR:CrystalReportViewer id="crystal" runat="server" autodatabind="true" hasexportbutton="False"
hasgotopagebutton="False" hassearchbutton="False" hastogglegrouptreebutton="False"
haszoomfactorlist="False" height="50px" width="350px"></CR:CrystalReportViewer>
</div>
.......

en CrystalViewer.aspx.cs dentro del PageLoad hacer lo ste:
private ReportDocument report;
string path = String.Empty;
protected void Page_Load(object sender, EventArgs e)
{
if (Session["cargar"] == null && Session["REPORT"] == null)
{
string path = @Server.MapPath("~/ Tu Reporte .rpt");
path = path.Replace("\", "\\");
report = new CrystalDecisions.CrystalReports.Engine.ReportDocument();
report.Load(path, CrystalDecisions.Shared.OpenReportMethod.OpenReportByTempCopy);
DataSet datasourse = obtenes tu dataSet
report.SetDataSource(datasourse);
crystal.PrintMode = CrystalDecisions.Web.PrintMode.ActiveX;
Session.Add("REPORT", report);
report.PrintOptions.PaperOrientation = PaperOrientation.Landscape;
report.PrintOptions.PaperSize = CrystalDecisions.Shared.PaperSize.PaperA4;
crystal.ReportSource = report;
string imagePrint = crystal.Controls[2].Controls[1].ClientID; //Obtenes el boton de imporimir que pertener al control de Crystal

Page.RegisterStartupScript("print", "<script>printReview('" + imagePrint + "');</script>");
Session["cargar"] = true;
}
else
if ((Session["REPORT"] != null && Session["cargar"] != null))
{
report = (ReportDocument)Session["REPORT"];
crystal.ReportSource = report;
Session["cargar"] = null;
}
else
{
report = (ReportDocument)Session["REPORT"];
crystal.ReportSource = report;
}
}

Con esto vas a lograr imprimir el reporte completo, para imprimir la ultima pagina fijate las propiedades de report.PrintOptions si hay algo que setee la ultima pagina.
Saludos y suerte!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Imprimir Directamente - C#

Publicado por Cristian  (2 intervenciones) el 19/11/2008 13:16:48
si pero lo necesito para aplicacion Windows no en C# ¿quiero imprimir la ultima pagina del reporte hecho en Crystal Report con VB.NET 2005.?

pero igual muy amable al contestar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Imprimir Directamente - C#

Publicado por jesus miranda (1 intervención) el 30/12/2008 00:52:58
Por favor, necesito ayuda ocn el codigo para poder imprimir un reporte... bueno el problema es que tengo una aplicacion de formularios en los que calculo valores todo bien pero quiero mandar esos valores para un reporte en el crystal reports para luego imprimirlos... como puedo hacer...???
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Imprimir Directamente - C#

Publicado por Juan Tagliavini (1 intervención) el 18/11/2011 15:32:49
Hola yo estoy usando visual 2010 c# y crystal 13. Lo solucione con este código en el load del form

private void frmLibroDiarioXPeriodo_Load(object sender, EventArgs e)
{
this.lDiarioTableAdapter.FillByDate(LDXPeriodo.LDiario, DateTime.Now, DateTime.Now);
reportLDXperiodo LDX = new reportLDXperiodo();
LDX.SetDataSource(LDXPeriodo);
crvLibroDiarioXPeriodo.ReportSource = LDX;
System.Drawing.Printing.PageSettings pg = new System.Drawing.Printing.PageSettings();
if (printDialog1.ShowDialog() == DialogResult.OK)
{
//necesitaba imprimir 2 copias si o si por lo que independientemente de los seleccione el
//usuario en el printDialog siempre va a imprimir dos copias
printDialog1.PrinterSettings.Copies = 2;
LDX.PrintToPrinter(printDialog1.PrinterSettings, pg, true);
this.Close();
}
else
{
this.Close();
}
}
//acá básicamente oculte el form y si queres en la propiedad icon del notifyIcon
//le pones el icono de una impresora y de esa forma el usuario nunca ve el form
//con el reporte y tiene el icono de notificación que le indica que el reporte se esta
//imprimiendo
private void frmLibroDiarioXPeriodo_Resize(object sender, EventArgs e)
{

if (this.WindowState == FormWindowState.Minimized)
{
//Ocultamos el formulario
this.Visible = false;
//Hacemos visible el icono de la bandeja del sistema
notifyIcon1.Visible = true;
}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar