Date: 2016/12/30
Directly call jasper report via http request.
Please see below scripts.
Hope this is help for you ! Happy New Year !
Please note! the variable _ReportURL format
_ReportURL = http://<web url>/jasperserver/rest_v2/reports
public ActionResult PrintPO(string POEntry)
{
//_ReportURL = System.Web.Configuration.WebConfigurationManager.AppSettings["ReportURL"];
//_ReportUser = System.Web.Configuration.WebConfigurationManager.AppSettings["ReportUser"];
//_ReportUserPWD = System.Web.Configuration.WebConfigurationManager.AppSettings["ReportUserPWD"];
String encoded = System.Convert.ToBase64String(System.Text.Encoding.GetEncoding("ISO-8859-1").GetBytes(_ReportUser + ":" + _ReportUserPWD));
string URL = _ReportURL + "/report.pdf?po=" + POEntry;
CookieContainer myContainer = new CookieContainer();
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL);
request.CookieContainer = myContainer;
request.PreAuthenticate = true;
request.Headers.Add("Authorization", "Basic " + encoded);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
var fileBytes = response.GetResponseStream();
string filename = String.Format("PO{0}_{1}.pdf", POEntry, DateTime.UtcNow.ToString("yyyMMddHHmmssfff"));
return File(fileBytes, response.ContentType,filename); //preview in browser please remove filename
}
Result as below pix.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGDNcQEJ4Ez8fNpWw20r0ML6mxd2-i2_qyKJlHfc4I8uT8zgKonC-eji6gbvYUtvLdbgMawQcSx7eiPgOv7ZwFxbLUgxdDoiVHBK293CzE-vsO5IuxyK84Tw_Mq2IXQv8UrGJX6rE-Y8_b/s320/001.jpg)