i have scheduled C# exe in task scheduler,when trigerring manually it send mail and pdf attached but from task scheduler it fails to create and attached pdf it is only sending mail
below is my code snippets for pdf
public static void ExportToPdF_Verify_report(DataTable myDataTable, DataTable dt2, string filename)
{
DataTable dt = myDataTable;
Document pdfDoc = new Document(PageSize.A4.Rotate(), 10, 10, 35, 10);
Font font13 = FontFactory.GetFont("ARIAL", 13);
Font font18 = FontFactory.GetFont("ARIAL", 10, Font.BOLD);
Font fonttext = FontFactory.GetFont("ARIAL", 10, Font.NORMAL);
try
{
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, new FileStream(filename, FileMode.Create));
pdfDoc.Open();
if (dt.Rows.Count > 0)
{
PdfPTable PdfTable = new PdfPTable(1);
PdfTable.TotalWidth = 200f;
PdfTable.LockedWidth = true;
PdfPCell PdfPCell = new PdfPCell(new Phrase(new Chunk("", font18)));
//PdfPCell PdfPCell = new PdfPCell(new Phrase(new Chunk("Manual Discrepancy Report", font18)));
PdfPCell.Border = Rectangle.NO_BORDER;
PdfTable.AddCell(PdfPCell);
//DrawLine(writer, 25f, pdfDoc.Top - 30f, pdfDoc.PageSize.Width - 25f, pdfDoc.Top - 30f, new BaseColor(222,0,0));
//DrawLine(writer, 25f, pdfDoc.Top - 30f, pdfDoc.PageSize.Width - 25f, pdfDoc.Top - 30f, new BaseColor(0,0,0));
pdfDoc.Add(PdfTable);
PdfTable = new PdfPTable(4); /* new PdfPTable(dt.Columns.Count); */
PdfTable.SpacingBefore = 20f;
PdfTable.DefaultCell.BackgroundColor = BaseColor.LIGHT_GRAY;
PdfPCell cell_heading = new PdfPCell(new Phrase(new Chunk("Coupon Verification Report", font18)));
cell_heading.BackgroundColor = BaseColor.LIGHT_GRAY;
cell_heading.MinimumHeight = 16;
cell_heading.Colspan = 4;
cell_heading.HorizontalAlignment = 1; //0=Left, 1=Centre, 2=Right
PdfTable.AddCell(cell_heading);
PdfTable.DefaultCell.BackgroundColor = BaseColor.WHITE;
//for (int columns = 0; columns <= dt.Columns.Count - 1; columns++)
//{
// PdfPCell = new PdfPCell(new Phrase(new Chunk(dt.Columns[columns].ColumnName, font18)));
// PdfTable.AddCell(PdfPCell);
//}
PdfTable.HorizontalAlignment = 1;
int valid_amnt = 0; int excep_amnt = 0;
for (int rows = 0; rows <= dt2.Rows.Count - 1; rows++)
{
valid_amnt = valid_amnt + int.Parse(dt2.Rows[rows][6].ToString());
excep_amnt = excep_amnt + int.Parse(dt2.Rows[rows][8].ToString());
}
PdfTable.AddCell(new PdfPCell(new Phrase(new Chunk("Batch Id", font18))));
PdfTable.AddCell(new PdfPCell(new Phrase(new Chunk(dt.Rows[0][0].ToString(), fonttext))));
PdfTable.AddCell(new PdfPCell(new Phrase(new Chunk("Sap Code", font18))));
PdfTable.AddCell(new PdfPCell(new Phrase(new Chunk(dt.Rows[0][3].ToString(), fonttext))));
//pdfDoc.Add(PdfTable);
PdfTable.AddCell(new PdfPCell(new Phrase(new Chunk("Distributor Name", font18))));
PdfTable.AddCell(new PdfPCell(new Phrase(new Chunk(dt.Rows[0][2].ToString(), fonttext))));
PdfTable.AddCell(new PdfPCell(new Phrase(new Chunk("State", font18))));
PdfTable.AddCell(new PdfPCell(new Phrase(new Chunk(dt.Rows[0][5].ToString(), fonttext))));
//pdfDoc.Add(PdfTable);
PdfTable.AddCell(new PdfPCell(new Phrase(new Chunk("Batch Date", font18))));
PdfTable.AddCell(new PdfPCell(new Phrase(new Chunk(dt.Rows[0][1].ToString(), fonttext))));
PdfTable.AddCell(new PdfPCell(new Phrase(new Chunk("Valid Amount", font18))));
PdfTable.AddCell(new PdfPCell(new Phrase(new Chunk(valid_amnt.ToString(), fonttext))));
//pdfDoc.Add(PdfTable);
PdfTable.AddCell(new PdfPCell(new Phrase(new Chunk("Scan Date", font18))));
PdfTable.AddCell(new PdfPCell(new Phrase(new Chunk(dt.Rows[0][4].ToString(), fonttext))));
PdfTable.AddCell(new PdfPCell(new Phrase(new Chunk("Exception Amount", font18))));
PdfTable.AddCell(new PdfPCell(new Phrase(new Chunk(excep_amnt.ToString(), fonttext))));
pdfDoc.Add(PdfTable);
PdfTable = new PdfPTable(9);
PdfTable.SpacingBefore = 20f;
PdfTable.DefaultCell.BackgroundColor = BaseColor.LIGHT_GRAY;
PdfPCell cell_heading2 = new PdfPCell(new Phrase(new Chunk("Detailed Summary", font18)));
cell_heading2.BackgroundColor = BaseColor.LIGHT_GRAY;
cell_heading2.MinimumHeight = 15;
cell_heading2.Colspan = 9;
cell_heading2.HorizontalAlignment = 1; //0=Left, 1=Centre, 2=Right
PdfTable.AddCell(cell_heading2);
//for (int columns = 0; columns <= dt2.Columns.Count - 1; columns++)
string[] arr_det = new string[] { "Coupon Type", "Claimed Coupon Count", "Claimed Coupon Amount", "Coupon Receipt Count", "Valid Coupon Count", "Valid Coupon Amount", "Exceptions Coupon Count", "Exceptions Coupon Amount", "Short/Excess Coupon Count" };
for (int columns = 0; columns < arr_det.Length; columns++)
{
PdfPCell = new PdfPCell(new Phrase(new Chunk(arr_det[columns], font18)));
PdfTable.AddCell(PdfPCell);
}
for (int rows = 0; rows <= dt2.Rows.Count - 1; rows++)
{
//for (int column = 0; column <9; column++)
//{
PdfPCell = new PdfPCell(new Phrase(new Chunk(dt2.Rows[rows][0].ToString(), fonttext)));
PdfTable.AddCell(PdfPCell);
PdfPCell = new PdfPCell(new Phrase(new Chunk(dt2.Rows[rows][2].ToString(), fonttext)));
PdfTable.AddCell(PdfPCell);
PdfPCell = new PdfPCell(new Phrase(new Chunk(dt2.Rows[rows][3].ToString(), fonttext)));
PdfTable.AddCell(PdfPCell);
PdfPCell = new PdfPCell(new Phrase(new Chunk(dt2.Rows[rows][4].ToString(), fonttext)));
PdfTable.AddCell(PdfPCell);
PdfPCell = new PdfPCell(new Phrase(new Chunk(dt2.Rows[rows][5].ToString(), fonttext)));
PdfTable.AddCell(PdfPCell);
PdfPCell = new PdfPCell(new Phrase(new Chunk(dt2.Rows[rows][6].ToString(), fonttext)));
PdfTable.AddCell(PdfPCell);
// int sums_exception = int.Parse(dt2.Rows[rows][8].ToString())+ int.Parse(dt2.Rows[rows][9].ToString())+ int.Parse(dt2.Rows[rows][10].ToString())+ int.Parse(dt2.Rows[rows][11].ToString()) + int.Parse(dt2.Rows[rows][12].ToString()) + int.Parse(dt2.Rows[rows][13].ToString());
PdfPCell = new PdfPCell(new Phrase(new Chunk(dt2.Rows[rows][7].ToString(), fonttext)));
PdfTable.AddCell(PdfPCell);
PdfPCell = new PdfPCell(new Phrase(new Chunk(dt2.Rows[rows][8].ToString(), fonttext)));
PdfTable.AddCell(PdfPCell);
PdfPCell = new PdfPCell(new Phrase(new Chunk(dt2.Rows[rows][9].ToString(), fonttext)));
PdfTable.AddCell(PdfPCell);
//}
}
PdfPCell = new PdfPCell(new Phrase(new Chunk("Total", font18)));
PdfTable.AddCell(PdfPCell);
string sum_colmns = sum_datatable_column(dt2, 2).ToString();
PdfPCell = new PdfPCell(new Phrase(new Chunk(sum_colmns, font18)));
PdfTable.AddCell(PdfPCell);
sum_colmns = sum_datatable_column(dt2, 3).ToString();
PdfPCell = new PdfPCell(new Phrase(new Chunk(sum_colmns, font18)));
PdfTable.AddCell(PdfPCell);
sum_colmns = sum_datatable_column(dt2, 4).ToString();
PdfPCell = new PdfPCell(new Phrase(new Chunk(sum_colmns, font18)));
PdfTable.AddCell(PdfPCell);
sum_colmns = sum_datatable_column(dt2, 5).ToString();
PdfPCell = new PdfPCell(new Phrase(new Chunk(sum_colmns, font18)));
PdfTable.AddCell(PdfPCell);
sum_colmns = sum_datatable_column(dt2, 6).ToString();
PdfPCell = new PdfPCell(new Phrase(new Chunk(sum_colmns, font18)));
PdfTable.AddCell(PdfPCell);
sum_colmns = sum_datatable_column(dt2, 7).ToString();
PdfPCell = new PdfPCell(new Phrase(new Chunk(sum_colmns, font18)));
PdfTable.AddCell(PdfPCell);
sum_colmns = sum_datatable_column(dt2, 8).ToString();
PdfPCell = new PdfPCell(new Phrase(new Chunk(sum_colmns, font18)));
PdfTable.AddCell(PdfPCell);
sum_colmns = sum_datatable_column(dt2, 9).ToString();
PdfPCell = new PdfPCell(new Phrase(new Chunk(sum_colmns, font18)));
PdfTable.AddCell(PdfPCell);
pdfDoc.Add(PdfTable);
}
pdfDoc.Close();
i tried to run change
- run user when user not logged on
- in action changes added path for arguments and optional
- checked about itextsharper
- changed configure for window server 2012 R2
please anyone help me on this , any more info required let me know