public FileResult GeneratePdf(FormCollection fc)
{
string fromDate="";
string Todate="";
string buyer="";
byte[] bytes=null;
string fileName = "";
fromDate = fc["txtFromDate"] == null ? "" : fc["txtFromDate"].ToString();
Todate = fc["txtToDate"] == null ? "" : fc["txtToDate"].ToString();
buyer = fc["txtBuyerName"] == null ? "" : fc["txtBuyerName"].ToString();
Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 10f, 0f);
string[,] Param = new string[,]
{
{"@buyerId", buyer},
{"@FromDate", fromDate.Trim()},
{"@ToDate", Todate.Trim()},
{"@Type", "S"},
};
DataSet ds = CommonMethod.ExecuteProcedureReturnDS(Param, "USP_ShowExMeshReport_Pdf");
if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
{
StringBuilder sb = CommonMethod.GenerateMeshReportPDF(ds, fromDate, Todate);
StringReader sr = new StringReader(sb.ToString());
using (MemoryStream memoryStream = new MemoryStream())
{
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, memoryStream);
pdfDoc.Open();
PdfContentByte cb = writer.DirectContent;
cb.SetLineWidth(1f);
cb.SetColorStroke(BaseColor.GRAY);
cb.Rectangle(0, 0, pdfDoc.PageSize.Width, pdfDoc.PageSize.Height);
cb.Stroke();
iTextSharp.tool.xml.XMLWorkerHelper.GetInstance().ParseXHtml(writer, pdfDoc, sr);
pdfDoc.NewPage();
StringBuilder itemListSb = CommonMethod.GenerateMeshReportPDF_ItemList(ds);
StringReader itemListSr = new StringReader(itemListSb.ToString());
iTextSharp.tool.xml.XMLWorkerHelper.GetInstance().ParseXHtml(writer, pdfDoc, itemListSr);
pdfDoc.Close();
bytes = memoryStream.ToArray();
fileName = "Mess_Invoice_" + DateTime.Now.ToString("yyyyMMdd_HHmmss") + ".pdf";
}
}
return File(bytes, "application/pdf", fileName);
}