IronPDF vs Aspose.PDF vs Syncfusion:我应该选择哪个ASP.NET PDF库?
信息收集表、申请表、调查问卷和入职文件都有一个共同点:接收者需要填写字段并返回文档。 静态PDF无法做到这一点,而打印、扫描和重新输入浪费了大家的时间。IronPDF在C#中生成可填写的PDF表单,可以从团队已有的HTML标记生成,或者通过编程方式将字段放置到现有文档上。
业务问题
医疗服务提供者需要患者信息收集表,保险公司需要申请表,HR团队需要入职文件。 这些文件应以PDF形式发送给接收者,可以在屏幕上填写,最好已填写已知的详细信息。 在PDF编辑器中手动创建这些文件无法扩展,并且维护一个独立的表单布局会重复已有的网页版本。
从HTML生成表单
启用一种渲染选项可将标准HTML表单元素转换为交互式PDF字段,因此现有标记变成可填写的文档。
using IronPdf;
string formHtml = @"
<html><body>
<h2>Patient Intake</h2>
<form>
First name: <input type='text' name='firstname' value=''><br>
Address: <textarea name='address' rows='4' cols='50'></textarea><br>
Completed: <input type='checkbox' name='completed'><br>
Priority:
<select name='priority'>
<option value='high'>High</option>
<option value='low'>Low</option>
</select>
</form>
</body></html>";
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
renderer.RenderHtmlAsPdf(formHtml).SaveAs("intake-form.pdf");
using IronPdf;
string formHtml = @"
<html><body>
<h2>Patient Intake</h2>
<form>
First name: <input type='text' name='firstname' value=''><br>
Address: <textarea name='address' rows='4' cols='50'></textarea><br>
Completed: <input type='checkbox' name='completed'><br>
Priority:
<select name='priority'>
<option value='high'>High</option>
<option value='low'>Low</option>
</select>
</form>
</body></html>";
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
renderer.RenderHtmlAsPdf(formHtml).SaveAs("intake-form.pdf");
Imports IronPdf
Dim formHtml As String = "
<html><body>
<h2>Patient Intake</h2>
<form>
First name: <input type='text' name='firstname' value=''><br>
Address: <textarea name='address' rows='4' cols='50'></textarea><br>
Completed: <input type='checkbox' name='completed'><br>
Priority:
<select name='priority'>
<option value='high'>High</option>
<option value='low'>Low</option>
</select>
</form>
</body></html>"
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.CreatePdfFormsFromHtml = True
renderer.RenderHtmlAsPdf(formHtml).SaveAs("intake-form.pdf")
由于每个字段都有名称和值,相同的方法可以从数据库预填写表单,因此续订通知或申请表到达时已经填充了接收者的详细信息,仅剩需完成的空白部分。
向现有文档添加字段
当基础文档不是来自HTML,例如扫描的表单或需要批准字段的生成报告时,可以通过编程方式在准确的坐标位置添加字段。
using IronSoftware.Forms;
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h2>Approval</h2>");
var textForm = new TextFormField("approver", "", pageIndex: 0, x: 100, y: 700, width: 150, height: 15);
pdf.Form.Add(textForm);
pdf.SaveAs("approval-form.pdf");
using IronSoftware.Forms;
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h2>Approval</h2>");
var textForm = new TextFormField("approver", "", pageIndex: 0, x: 100, y: 700, width: 150, height: 15);
pdf.Form.Add(textForm);
pdf.SaveAs("approval-form.pdf");
Imports IronSoftware.Forms
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h2>Approval</h2>")
Dim textForm As New TextFormField("approver", "", pageIndex:=0, x:=100, y:=700, width:=150, height:=15)
pdf.Form.Add(textForm)
pdf.SaveAs("approval-form.pdf")
需要计划的要点
- 启用表单标志: 如果
CreatePdfFormsFromHtml未设置为true,HTML表单元素将渲染为静态视觉,而不是可填写字段。 这通常是表单不可编辑的最常见原因。 - 编程字段是基于坐标的: 通过代码添加的字段使用绝对的x, y, 宽度, 高度和页面索引,这很精确,但使得布局成为您的责任。
- 复选框值: 复选框使用"是"和"否"来表示其选中状态,而不是布尔值。
- 创建并不等于安全: 生成表单并不会锁定或签名。 当需要保护文档时,需单独应用密码、权限或签名。
结果
有一种针对HTML表单的选项和一种用于为其他所有内容设置基于坐标的字段的选项,团队可以发送可填写、预填充的文档,接收者可以在屏幕上完成,而无需手动构建表单。 完整的字段类型和选项在创建PDF表单指南中。
常见问题解答
IronPDF如何帮助从HTML创建可填写的PDF表单?
IronPDF允许您通过启用渲染选项从标准HTML表单元素生成可填写的PDF表单。这会将现有HTML标记转换为交互式PDF字段。
我可以使用IronPDF向现有PDF文档中添加字段吗?
是的,IronPDF可以通过为每个字段指定精确坐标程序化地向现有PDF文档中添加字段,使得可以根据特定布局要求定制表单。
在业务环境中使用IronPDF生成表单的优势是什么?
IronPDF自动从HTML生成可填写的PDF表单,这对于需要可扩展表单解决方案的企业非常有利,如患者接收、保险申请和人力资源入职文件。
是否可以使用IronPDF预填充表单字段?
是的,IronPDF允许通过使用具有指定名称和值的HTML表单元素来预填充表单字段。这对于发送已经填充的收件人详细信息的申请表或通知非常有用。
使用IronPDF程序化添加表单字段时需要考虑什么?
使用IronPDF程序化添加表单字段时,重要的是使用x、y、宽度、高度和页面索引的绝对坐标,以确保文档上的字段精确放置。
从HTML创建可填写表单时可能出现的常见问题是什么以及如何解决?
一个常见问题是HTML表单元素可能会渲染为静态视觉而非可填写字段。启用“CreatePdfFormsFromHtml”选项可以解决此问题。
IronPDF可以保护它生成的PDF表单吗?
IronPDF默认不会保护PDF表单。在生成表单后,您需要应用额外的安全措施,如密码、权限或数字签名以保护文档。
使用IronPDF可以创建哪种类型的表单字段?
IronPDF支持多种表单字段,包括文本输入、复选框和下拉列表等。详细选项可以在他们的创建PDF表单指南中找到。

