我收到一封电子邮件,作为收据发送给付款。此电子邮件包含一个包含所有信息的HTML表。它将该表写为电子邮件的正文。
UPDATE simple_web_content
SET content_data = REPLACE(content_data, '“', '"') WHERE simple_web_content_type = 'B';
UPDATE simple_web_content
SET content_data = REPLACE(content_data, '’', '''') WHERE simple_web_content_type = 'B';
因此,电子邮件的正文是收据。我想将电子邮件中的HTML表格作为正文转换为PDF格式并将其作为附件发送。如果你知道怎么做,请告诉我。谢谢
答案 0 :(得分:0)
使用.Net Library hiqpdf(您可以从nuget:https://www.nuget.org/packages/hiqpdf/安装它)。它可以从您提供给它的HTML生成pdf。 然后使用该方法返回的字节数组,并将其添加为名称包含.pdf扩展名的附件:
Attachment att = new Attachment(new MemoryStream(bytes), name);
答案 1 :(得分:0)
所以我找到了这样做的方法。拿起我离开的地方。
string sBody = stringWrite.ToString();
StringReader sr = new StringReader(stringWrite.ToString());
Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 10f, 0f);
HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
我们发送电子邮件的地方
msg.Subject = sSubject;
msg.Body = sBody;
msg.IsBodyHtml = true;
var smpt = new SmtpClient();
smpt.Port = ###;
using (MemoryStream memoryStream = new MemoryStream())
{
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, memoryStream);
pdfDoc.Open();
htmlparser.Parse(sr);
pdfDoc.Close();
byte[] bytes = memoryStream.ToArray();
memoryStream.Close();
msg.Attachments.Add(new Attachment(new MemoryStream(bytes), "RECEIPT.pdf"));
smpt.DeliveryMethod = SmtpDeliveryMethod.Network;
smpt.Send(msg);
非常简单你需要iTextSharp这就是全部,它有一个pdfwriter选项,可以为你编写并通过电子邮件发送。谢谢观看。 相信这个POST