我创建了一个计划任务,该任务应该从网站抓取数据,将其存储在数据库中,创建每日pdf并发送每周邮件。
前两部分顺利运行,但无论我尝试做什么,似乎都会跳过其他两部分。
创建文件不是问题,因为它会创建每日.log文件并写入文件。
对于pdf我使用PdfSharp库,邮件是System.Net.Mail。
PdfDocumentRenderer renderer = new PdfDocumentRenderer(false, PdfFontEmbedding.Always);
renderer.Document = document;
renderer.RenderDocument();
string directory = DateTime.Now.Year.ToString();
if (!Directory.Exists(directory))
{
Directory.CreateDirectory(directory);
}
string filename = directory + @"\NewCos" + DateTime.Now.DayOfWeek + ".pdf";
if (renderer.PageCount > 0)
renderer.PdfDocument.Save(filename);
非常感谢任何帮助。
答案 0 :(得分:-1)
只是一些未安装的组件以及我使用相对路径iso固定的直接设置的事实
答案 1 :(得分:-2)
首先将iTextSharp nuget Pack添加到您的项目中
然后创建一个pdf,你只需要做这样的事情:
Document myDocument = new Document(PageSize.A4, -60, -40, 10, 10);
PdfPTable MainTable = new PdfPTable(1);
PdfPCell pdfTableCell11 = new PdfPCell(new Paragraph("Hellod PDF!", RegularFont10));
MainTable.AddCell(pdfTableCell11);
string path = "C:\\Customer\\";
PdfWriter.GetInstance(myDocument, new FileStream(path + "\\Invoice_" + DateTime.Now.DayOfWeek + ".pdf", FileMode.Create));
myDocument.Open();
myDocument.Add(MainTable);
myDocument.Close();
如果你有一个复杂的pdf,你可以通过在表格中创建表来管理它...根据我的经验,最好有一个主表只有一个单元格(这是你的所有文档),然后创建任何欲望表并将这些添加到此主表。所以不是“PdfPCell”而是每个部分可能有不同的“PdfPTable”。