使用iTextSharp填写PDF表格并发送填好的表格

本文关键字:表格 并发 填写 PDF 使用 iTextSharp | 更新日期: 2023-09-27 17:50:25

我有一个PDF表格,可以手动填写。

我想动态填充数据,并通过电子邮件发送这个PDF。

您建议使用哪个dll以及如何使用?

使用iTextSharp填写PDF表格并发送填好的表格

让我们开始,首先使用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。它会看起来更好,而且会花更少的时间。