使用iTextSharp填写PDF表格并发送填好的表格
本文关键字:表格 并发 填写 PDF 使用 iTextSharp | 更新日期: 2023-09-27 17:50:25
我有一个PDF表格,可以手动填写。
我想动态填充数据,并通过电子邮件发送这个PDF。
您建议使用哪个dll以及如何使用?
让我们开始,首先使用NuGet将iTextSharp添加到您的项目中。链接让我们继续:
可编辑PDF中的每个字段都有自己的名称。学习此字段名称后。
private static void FillPDFForm()
{
// Original File
const string pdfTemplate="Uploads'CV.PDF";
// New file which will be created after fillin PDF
var newFile ="Uploads'FilledCV.PDF"
var pdfReader = new PdfReader(pdfTemplate);
var pdfStamper = new PdfStamper(pdfReader, new FileStream(
newFile, FileMode.Create));
var pdfFormFields = pdfStamper.AcroFields;
// So one of our fields in PDF is FullName I am filling it with my full name
pdfFormFields.SetField("FullName", "Vuqar Qasimov");
// flatten the form to remove editting options, set it to false
// to leave the form open to subsequent manual edits
pdfStamper.FormFlattening = false;
pdfStamper.FormFlattening = false;
pdfStamper.Close();
break;
}
}
我们已经创建了文件,让它附加到电子邮件并发送它
public void SendEmailWithAttachment()
{
var objMailMessage = new MailMessage("EnterFromEmailAddress", "ReceiverEmailAddress")
{
Subject = "EnterEmailSubject",
IsBodyHtml = true,
Body = "EnterEmailBody"
};
//You can add more attachments
objMailMessage.Attachments.Add(new Attachment("EnterAttachmentLocationPath"));
var smtp = new SmtpClient("smtp.office365.com");
var login = new NetworkCredential("SenderEmail","SenderEmailPAssword");
smtp.Credentials = login;
smtp.Port = 587;
smtp.EnableSsl = true;
smtp.Send(objMailMessage);
}
- 我使用office 365作为电子邮件。如果您使用不同的电子邮件帐户,您可能需要更改端口或其他凭据。
- 从我的经验,而不是设计PDF文件使用iTextSharp或其他软件包更好地设计它与第三方应用程序和填充它与iTextSharp。它会看起来更好,而且会花更少的时间。