如何使用IronPDF构建一个ASP.NET Core PDF查看器
仅存在于数据库中的表单数据存在的问题
当客户完成多步骤网页表单(如抵押贷款申请、保险报价或员工入职资料包)时,数据会被存储到数据库行或 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 文档
using 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输出
易于使用的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 天试用,并在做出任何决定前验证输出结果。
常见问题解答
什么是IronPDF,它如何帮助处理在线表单数据?
IronPDF是一种软件工具,允许您将在线申请表转换为PDF摘要,提供可追踪的表单提交记录,对于合规和存档目的特别有用。
为什么将在线表单数据转换为PDF很重要?
将在线表单数据转换为PDF可确保信息以稳定且普遍可访问的格式保存,帮助实现法律合规、记录管理和便于共享。
IronPDF如何促进政府法规合规?
IronPDF通过将网络表单提交转换为安全可追踪的PDF文档,帮助满足政府合规要求,并可作为正式记录进行存档。
IronPDF能处理动态网络表单吗?
是的,IronPDF能够处理动态网络表单,捕获所有用户输入并生成反映提交数据的精确PDF摘要。
使用IronPDF可以定制PDF输出吗?
IronPDF为PDF输出提供了广泛的定制选项,包括布局、样式,以及页眉或页脚的加入,允许进行量身定制的文档呈现。
使用PDF摘要的网络表单有什么好处?
网络表单的PDF摘要提供了一份永久且防篡改的提交记录,这对于审核、合规检查和确保数据完整性非常重要。
IronPDF如何与现有网络应用程序集成?
IronPDF可以无缝集成到现有的网络应用程序中,实现表单数据到PDF的自动转换,对当前工作流程影响最小。
IronPDF中是否有处理表单数据的安全功能?
IronPDF包括安全功能,例如加密和密码保护,以保护PDF文档中的敏感信息。
IronPDF创建的PDF摘要中可以包含哪些类型的数据?
IronPDF可以在PDF摘要中包含广泛的数据类型,例如文本输入、复选框、单选按钮和其他表单元素,确保提交文档的全面性。
IronPDF支持对多个表单提交进行批处理吗?
是的,IronPDF支持批处理,允许用户高效地将多个表单提交转换为PDF摘要,这对于高容量的数据处理非常理想。

