使用 IronPDF 将在线申请表转换为 PDF 摘要
仅存在于数据库中的表单数据存在的问题
IronPDF 主页 当客户完成多步骤网页表单(如抵押贷款申请、保险报价或员工入职资料包)时,数据会被存储到数据库行或 JSON 数据包中。 就这样。 没有 PDF 文档。 客户未提供其提交内容的可打印记录或 PDF 文件。 那位刚刚花了四十分钟填写收入详情并上传文件的借款人,最终只收到一封写着"我们已收到您的申请"的确认邮件。他们既没有 PDF 格式的文件可供存档,也没有任何依据可在文件完整性发生争议时进行申诉。
合规性问题更为严重。 审计团队通常需要获取申请人在点击"提交"按钮时,整个文档中确切提交内容的快照。 内部审阅人员通常通过截图或复制粘贴到 WORD 文档中来弥补这一不足。 这些方法均无法生成规范且可重现的记录,也无法保留文档结构。 当审计员要求提供原始贷款申请表时,回答不应是"让我从数据库中导出并格式化一下"。今天,我们将探讨 IronPDF 如何成为解决您问题的方案。
解决方案:在提交时使用 C# 生成 PDF
借助 Iron Software 的 IronPDF 库,.NET 应用程序和 .NET Core 系统可立即将 HTML 及表单提交数据转换为带有品牌标识的 PDF 文档。 这款 .NET PDF 库可确保您团队在确认页面中已使用的 HTML 内容和 Web 技术,直接作为生成 PDF 的模板。 无需支付任何第三方文档生成 API 的费用; PDF 文件是在现有应用程序内部生成的。
生成的 PDF 文件将通过电子邮件发送给申请人,并存储在 PDF 阅读器或文档管理系统中,以供后台文档工作流使用。 文档工作流的自动化意味着审阅者将获得一份标准化的最终文档。 无论用户访问了哪些网页,每次提交生成的 PDF 文件质量均保持一致。
实际应用示例:从表单数据生成 PDF 文件
1. 提交处理程序接收表单模型
当用户点击"提交"时,服务器端处理程序将接收表单模型和电子签名元数据。 至此,数据已完整。 处理程序不仅会将模型保存下来,还会将其传递给 PDF 生成任务。 借助 IronPDF,仅需几行代码即可处理包括数字签名在内的各种 PDF 生成任务。
在此简单的 IronPDF 示例中,我们将使用以下示例数据代码:
!示例数据
2. HTML 文件或字符串模板已填充提交数据
Razor 视图、HTML 文件、HTML 结构或 HTML 字符串模板均可作为布局使用。 此简短的 HTML 字符串包含公司徽标,该徽标可能包含 Iron Software 的客户徽标,或与 Iron Suite 相关的文字徽标图像。 您可以使用外部 CSS 文件或内联 CSS 来设置字体家族和字号,以确保保留原有格式。
3. ChromePdfRenderer 将 HTML 转换为 PDF 文档
使用 IronPDF,该过程非常简单。 首先,您可以通过 NuGet 包管理器、Visual Studio 包管理器或包管理器控制台安装 IronPDF。
以下代码片段展示了用于 HTML 转 PDF 的相同代码:
using IronPdf;
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.MarginBottom = 20;
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
string html = $@"
<h1>Loan Application Summary</h1>
<p><strong>Applicant:</strong> {submission.FullName}</p>
<p><strong>Submitted:</strong> {submission.SubmittedAt:f}</p>
<p><strong>Loan Amount:</strong> {submission.LoanAmount:C}</p>
<p><strong>Reference:</strong> {submission.ReferenceNumber}</p>
<hr/>
<h2>Employment Details</h2>
<p>{submission.EmployerName} — {submission.AnnualIncome:C} per year</p>";
PdfDocument summary = renderer.RenderHtmlAsPdf(html);
using IronPdf;
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.MarginBottom = 20;
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
string html = $@"
<h1>Loan Application Summary</h1>
<p><strong>Applicant:</strong> {submission.FullName}</p>
<p><strong>Submitted:</strong> {submission.SubmittedAt:f}</p>
<p><strong>Loan Amount:</strong> {submission.LoanAmount:C}</p>
<p><strong>Reference:</strong> {submission.ReferenceNumber}</p>
<hr/>
<h2>Employment Details</h2>
<p>{submission.EmployerName} — {submission.AnnualIncome:C} per year</p>";
PdfDocument summary = renderer.RenderHtmlAsPdf(html);
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.MarginTop = 20
renderer.RenderingOptions.MarginBottom = 20
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4
Dim html As String = $"
<h1>Loan Application Summary</h1>
<p><strong>Applicant:</strong> {submission.FullName}</p>
<p><strong>Submitted:</strong> {submission.SubmittedAt:f}</p>
<p><strong>Loan Amount:</strong> {submission.LoanAmount:C}</p>
<p><strong>Reference:</strong> {submission.ReferenceNumber}</p>
<hr/>
<h2>Employment Details</h2>
<p>{submission.EmployerName} — {submission.AnnualIncome:C} per year</p>"
Dim summary As PdfDocument = renderer.RenderHtmlAsPdf(html)
C# PDF 输出示例
示例输出 PDF 其易于使用的 API 允许您生成 PDF 文档,并可从本地文件或简单的 HTML 字符串创建 PDF。 对于动态报告,ChromePdfRenderer 能完美处理 JavaScript 的执行。 请注意,在用户界面中,您可能会看到蓝色圆圈内的钥匙图标或灰色圆圈内的钥匙图标,它们分别代表关键功能或许可证状态。
4. 生成的 PDF 文件将通过电子邮件发送给申请人,并存储以供审核
新的 PDF 文档为电子邮件附件提供了 BinaryData 接口。 您还可以修改 PDF 文件、编辑 PDF、加密 PDF 或嵌入图片。 如果您需要拆分 PDF、分离 PDF 或将 PDF 分割为多个 PDF,该库都能胜任。 您甚至可以将其合并到现有 PDF 中,或管理 PDF 表单。
using System.Net.Mail;
using System.IO;
var stream = new MemoryStream(summary.BinaryData);
var attachment = new Attachment(
stream,
$"Application-{submission.ReferenceNumber}.pdf",
"application/pdf"
);
var message = new MailMessage
{
From = new MailAddress("applications@yourcompany.com"),
Subject = $"Your Application Confirmation – Ref {submission.ReferenceNumber}",
Body = $"Dear {submission.FullName},\n\nThank you for submitting your application. Your submission summary is attached.",
};
message.To.Add(submission.Email);
message.Attachments.Add(attachment);
using var client = new SmtpClient("smtp.yourprovider.com");
await client.SendMailAsync(message);
using System.Net.Mail;
using System.IO;
var stream = new MemoryStream(summary.BinaryData);
var attachment = new Attachment(
stream,
$"Application-{submission.ReferenceNumber}.pdf",
"application/pdf"
);
var message = new MailMessage
{
From = new MailAddress("applications@yourcompany.com"),
Subject = $"Your Application Confirmation – Ref {submission.ReferenceNumber}",
Body = $"Dear {submission.FullName},\n\nThank you for submitting your application. Your submission summary is attached.",
};
message.To.Add(submission.Email);
message.Attachments.Add(attachment);
using var client = new SmtpClient("smtp.yourprovider.com");
await client.SendMailAsync(message);
Imports System.Net.Mail
Imports System.IO
Dim stream As New MemoryStream(summary.BinaryData)
Dim attachment As New Attachment(
stream,
$"Application-{submission.ReferenceNumber}.pdf",
"application/pdf"
)
Dim message As New MailMessage With {
.From = New MailAddress("applications@yourcompany.com"),
.Subject = $"Your Application Confirmation – Ref {submission.ReferenceNumber}",
.Body = $"Dear {submission.FullName}," & vbCrLf & vbCrLf & "Thank you for submitting your application. Your submission summary is attached."
}
message.To.Add(submission.Email)
message.Attachments.Add(attachment)
Using client As New SmtpClient("smtp.yourprovider.com")
Await client.SendMailAsync(message)
End Using
附带 PDF 的示例邮件
相同的 BinaryData 字节数组将与提交记录一同写入 Blob 存储——Azure Blob、AWS S3 或您的文档管理系统。 审阅人员每次从任务队列中提取任务时,打开的都是格式统一的文档。
实际好处
合规性与审计追踪。该 PDF 文件基于申请人提交的原始数据生成,并带有提交时的精确时间戳。 它是不可变的,合规团队可以按需生成其快照,而无需从可能已发生变化的数据库中重新构建。
客户信心。申请人将收到一份Professional且带有品牌标识的文件,以确认其提交的内容。 对于抵押贷款借款人或保险申请人而言,该确认函具有实际效力,可与其他保单或贷款文件一并存档。
内部效率。审阅人员基于标准化 PDF 文件进行工作,该文件以统一的结构和格式呈现每份提交内容。 不再需要截图,不再在 WORD 中复制粘贴字段值,不同团队成员处理的提交内容之间不再存在格式不一致的问题。
模板复用。HTML 模板是唯一控制文档布局的元素。 当表格新增一个部分、共同申请人字段或修订后的披露块时,团队只需更新一个文件,此后所有提交的内容都会自动反映这些变更。
不依赖外部服务。IronPDF 作为 NuGet 包在进程内运行。 提交流程中不收取按文档计费的 API 费用,无需监控外部渲染服务,且不存在网络依赖。
结语
提交的网页表单会生成结构化数据。 若不刻意为之,它无法生成文档。 这种差距造成了实际的摩擦:对于无法获得可保留确认的申请人、需要处理不一致导出数据的审核人员,以及需要向审计员提交实际可用材料的合规团队而言,都带来了困扰。
在提交时生成 PDF 文件,只需在处理程序中增加一个步骤,即可弥补这一缺口。 IronPDF for .NET 提供了全面的 PDF 功能,可在同一库内生成、读取、编辑和提取文档内容。 如果您想将其应用于您自己的表单工作流进行测试,请开始您的 30 天试用,并在做出任何决定前验证输出结果。


