gpt4 book ai didi

c# - 将 byte[] 转换为 PDF Sharp Document 和 Email 作为附件

转载 作者:太空狗 更新时间:2023-10-30 00:40:59 25 4
gpt4 key购买 nike

我正在使用 PDF Sharp 库创建自定义 PDF。我希望能够将此自定义 PDF 作为附件通过电子邮件发送,而无需先保存本地副本。我尝试实现此目的的方法是将生成的 PDF Sharp 文档转换为字节数组,如下所示:

byte[] pdfBuffer = null;

using (MemoryStream ms = new MemoryStream())
{
document.Save(ms, false);

pdfBuffer = ms.ToArray();
}

这部分似乎可以正常工作,但是我遇到问题的部分是将字节数组转换回 PDF 文件。使用下面的代码,PDF 将附加到电子邮件中,但打开附件时它是一个空白文件。这是我用来执行此操作的代码:

//Add PDF attachment.
Stream stream = new MemoryStream(attachmentData);

mailMessage.Attachments.Add(new Attachment(stream, attachmentFilename, "application/pdf"));

//Setup up SMTP details.
smtpClient = new SmtpClient("************.com");
smtpUserInfo = new System.Net.NetworkCredential("****@****.com", "*****", "*****.com");
smtpClient.Credentials = smtpUserInfo;
smtpClient.UseDefaultCredentials = false;
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;

//Send the email.
smtpClient.Send(mailMessage);

谁能解释一下将 PDF 流转换回有效 PDF 并发送电子邮件附件的正确方法?

最佳答案

当我将流转换回 PDF 时文档显示为空白的原因是在使用 document.Save(memoryStream, false); 时,需要调用 document。 Close(); 之后,即:

document.Save(memoryStream, false);
document.Close();

关于c# - 将 byte[] 转换为 PDF Sharp Document 和 Email 作为附件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23607625/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com