This sample project shows how to print the report from code without using the report viewer. For this action, it is enough to use the special StiReportResponse class that implements the methods for report printing. These methods take the input of all the necessary parameters to configure export and print the report.

The special StiReportResponse class contains two modes for report printing: print as PDF and print as HTML. For example, implementing these modes for one report in order to compare them. Add two buttons for each print mode and add the click event handlers for these buttons:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Print_Report_from_Code.Default" %>

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
	<title>Print and Export Report from Code</title>
</head>
<body>
	<form id="form1" runat="server">
		<br /><br />
		<asp:Button ID="ButtonPrintPDF" runat="server" Text="Print Report as PDF" OnClick="ButtonPrintPdf_Click" />
		<br /><br />
		<asp:Button ID="ButtonPrintHTML" runat="server" Text="Print Report as HTML" OnClick="ButtonPrintHtml_Click" />
		<br /><br />
	</form>
</body>
</html>

In the ButtonPrintPdf_Click event, it gets the report and calls the PrintAsPdf() static method of the StiReportResponse class. The report will be automatically generated, exported to PDF and sent for printing - the system print dialog will be displayed:
protected void ButtonPrintPdf_Click(object sender, EventArgs e)
{
	var report = this.GetReport();
	StiReportResponse.PrintAsPdf(report);
}

In the ButtonPrintHtml_Click event, it gets the report and calls the PrintAsHtml() static method of the StiReportResponse class. The report will be automatically generated, exported to HTML and sent for printing - the system print dialog will be displayed:
protected void ButtonPrintHtml_Click(object sender, EventArgs e)
{
	var report = this.GetReport();
	StiReportResponse.PrintAsHtml(report);
}

To get the report, the GetReport() method was used. This method loads the report template, loads the XML data file and registers this data for loaded report:
private StiReport GetReport()
{            
	var report = new StiReport();
	report.Load(Server.MapPath("Reports/SimpleList.mrt"));
	return report;
}

In the screenshot below you can see the result of the sample code:

Printing the Report Template from Code

By using this website, you agree to the use of cookies for analytics and personalized content. Cookies store useful information on your computer to help us improve efficiency and usability. For more information, please read the privacy policy and cookie policy.