En este post explico como crear un PDF en memoria y enviarlo como documento adjunto en un email usando la fantastíca libreria iTextSharp en SharePoint.
Lo primero que debes de hacer es descargarte aquí las dlls necesarias para añadirlas a tu proyecto y referenciarlas en tu código.
Aquí tienes un ejemplo de lo sencillo que es realizar esto:
var doc = new Document(); MemoryStream memoryStream = new MemoryStream(); PdfWriter writer = PdfWriter.GetInstance(doc, memoryStream); doc.Open(); doc.Add(new Paragraph("First Paragraph")); doc.Add(new Paragraph("Second Paragraph")); writer.CloseStream = false; doc.Close(); memoryStream.Position = 0; MailMessage mm = new MailMessage("[email protected]", "[email protected]") {Subject = "subject",IsBodyHtml = true,Body = "body"}; mm.Attachments.Add(new Attachment(memoryStream, "filename.pdf")); SmtpClient smtp = new SmtpClient{Host = "smtp.gmail.com", Port = 587,EnableSsl = true, Credentials = new NetworkCredential("[email protected]", "password")}; smtp.Send(mm);