使用IRONPDF

使用C#编程填充PDF表单(编码教程)

更新 2024年二月8日
分享:

本教程将演示如何以编程方式与 PDF 文件中的表单进行交互。

市场上有多个 .NET 库,可以让我们用 C# 编程填写 PDF 表单。 其中有些难以理解,有些需要付费。

IronPDF 是最好的 .NET Core 库,因为它简单易懂,而且免费用于开发。 除了填写PDF 表格此外,IronPdf 还可以从 HTML 字符串、HTML 文件和 URL 创建新的 PDF。

让我们来看看如何使用 C# 以编程方式填写 PDF 表单。 首先,将创建一个控制台应用程序用于演示,但您可以根据自己的要求使用任何应用程序。

创建 Visual Studio 项目

打开 Microsoft Visual Studio。 单击 "创建新项目"> 从模板中选择 "控制台应用程序"> 按 "下一步"> 给项目命名。 按下一步 > 选择目标框架。 点击创建按钮。 项目创建如下所示。

用 C# 编程填写 PDF 表单(编码教程),图 1:在 Visual Studio 中新建的控制台应用程序

在 Visual Studio 中新建一个控制台应用程序

安装 IronPDF 库

如前所述,本教程将使用 IronPDF 库。 使用该 .NET 库的主要原因是,它可免费用于开发,并在一个库中提供所有功能。

转到软件包管理器控制台。 键入以下命令

Install-Package IronPdf

此命令将为我们安装 IronPDF 库。 接下来,让我们开始编码。

阅读 PDF 文档

填写 PDF 表单的第一步是阅读 PDF 文档。 显然,我们怎么能不先读一下表格就填写呢?下面的 PDF 文档将用于演示。 您可以从谷歌驱动器链接如需翻译,请联系我们,或使用您的文档。

用 C# 编程填写 PDF 表单(编码教程),图 2:填写 PDF 表单的示例文件

填写表格的 PDF 样本文件

读取该文件的代码是

PdfDocument doc =  PdfDocument.FromFile(@"D:\myPdfForm.pdf");
PdfDocument doc =  PdfDocument.FromFile(@"D:\myPdfForm.pdf");
Dim doc As PdfDocument = PdfDocument.FromFile("D:\myPdfForm.pdf")
VB   C#

内传递 PDF 文档的完整路径。从文件方法。 这将从您的本地系统读取 PDF 文件。

获取 PDF 表单

编写以下代码行,从加载的 PDF 文档中获取表单。

var form = doc.Form;
var form = doc.Form;
Dim form = doc.Form
VB   C#

获取表单字段

为了让表单字段设置其值,IronPDF 通过两种方法访问表单字段:通过字段名或通过索引,使这一操作变得非常简单。 让我们逐一讨论这两个问题。

按名称获取表单字段

以下代码将按名称获取字段:

var field = form.GetFieldByName("First Name");
var field = form.GetFieldByName("First Name");
Dim field = form.GetFieldByName("First Name")
VB   C#

"(《世界人权宣言》)GetFieldByName方法将字段名称作为参数。 翻译具有容错性,会尝试匹配大小写错误和部分字段名称。

按索引获取表单字段

我们还可以通过索引获取 PDF 表单字段。 索引从零开始。 以下示例代码用于按索引获取表单字段。

var field = form.Fields [0];
var field = form.Fields [0];
Dim field = form.Fields (0)
VB   C#

填写PDF表格

接下来,让我们结合所有代码来填写 PDF 表单。

PdfDocument doc =  PdfDocument.FromFile(@"D:\myPdfForm.pdf");
var form = doc.Form;
form.Fields [0].Value = "John";
form.Fields [1].Value = "Smith";
form.Fields [2].Value = "+19159969739";
form.Fields [3].Value = "John@email.com";
form.Fields [4].Value = "Chicago";
doc.SaveAs(@"D:\myPdfForm.pdf");
PdfDocument doc =  PdfDocument.FromFile(@"D:\myPdfForm.pdf");
var form = doc.Form;
form.Fields [0].Value = "John";
form.Fields [1].Value = "Smith";
form.Fields [2].Value = "+19159969739";
form.Fields [3].Value = "John@email.com";
form.Fields [4].Value = "Chicago";
doc.SaveAs(@"D:\myPdfForm.pdf");
Dim doc As PdfDocument = PdfDocument.FromFile("D:\myPdfForm.pdf")
Dim form = doc.Form
form.Fields (0).Value = "John"
form.Fields (1).Value = "Smith"
form.Fields (2).Value = "+19159969739"
form.Fields (3).Value = "John@email.com"
form.Fields (4).Value = "Chicago"
doc.SaveAs("D:\myPdfForm.pdf")
VB   C#

上面的示例代码将通过索引值填写表格字段。 您也可以使用前面提到的字段名进行同样的翻译。 让我们运行程序查看输出结果。

已填写的 PDF 表格

用 C# 编程填写 PDF 表单(编码教程),图 3:

PDF 样本文件中已填写的表格

您可以看到,该库可以用最简单的代码填写 PDF 表单,无需复杂的逻辑。 这就是推荐 IronPDF 的原因。

假设您还没有任何带有表单的 PDF 文档--不用担心,IronPDF 可提供全面的支持,包括生成 PDF 表格. 按照以下步骤进行:

生成新的 PDF 表单文件

创建新的 HTML 文件

创建一个新的 HTML 文件并粘贴以下代码:

<!DOCTYPE html>
<html>
<body>

<h2>PDF Forms</h2>

<form action="/action_page.php">
  <label for="fname">First name:</label><br>
  <input type="text" id="fname" name="fname" ><br>
  <label for="lname">Last name:</label><br>
  <input type="text" id="lname" name="lname" ><br>
  <label for="contact">Contact #:</label><br>
  <input type="text" id="contact" name="contact" ><br>
  <label for="email">Email:</label><br>
  <input type="text" id="email" name="email"><br>
  <label for="city">City:</label><br>
  <input type="text" id="city" name="city"><br>

</form> 
</body>
</html>
<!DOCTYPE html>
<html>
<body>

<h2>PDF Forms</h2>

<form action="/action_page.php">
  <label for="fname">First name:</label><br>
  <input type="text" id="fname" name="fname" ><br>
  <label for="lname">Last name:</label><br>
  <input type="text" id="lname" name="lname" ><br>
  <label for="contact">Contact #:</label><br>
  <input type="text" id="contact" name="contact" ><br>
  <label for="email">Email:</label><br>
  <input type="text" id="email" name="email"><br>
  <label for="city">City:</label><br>
  <input type="text" id="city" name="city"><br>

</form> 
</body>
</html>
HTML

保存此示例 HTML 文件。您可以根据自己的表格要求定制此 HTML。

接下来,在您的 C# 程序中编写以下代码。

var renderer = new ChromePdfRenderer();
var file = renderer.RenderHtmlFileAsPdf(@"D:\myForm.html");
file.SaveAs(@"D:\myForm.pdf");
var renderer = new ChromePdfRenderer();
var file = renderer.RenderHtmlFileAsPdf(@"D:\myForm.html");
file.SaveAs(@"D:\myForm.pdf");
Dim renderer = New ChromePdfRenderer()
Dim file = renderer.RenderHtmlFileAsPdf("D:\myForm.html")
file.SaveAs("D:\myForm.pdf")
VB   C#

运行程序,查看生成的 PDF 表单文档。

用 C# 编程填写 PDF 表单(编码教程),图 3:从 HTML 文件生成的 PDF 表单

由 HTML 文件生成的 PDF 表格

摘要

以编程方式自动填写 PDF 表单非常重要。 本文建议使用 IronPDF 在 C# 中填写 PDF 表单的最简单方法。 此外,您还将学习如何生成新的 PDF 表格从零开始。

此外,IronPDF 还为开发人员提供了以下方法提取文本和内容从 PDF 文件、渲染图表PDF 格式、插入条形码, 用密码加强安全水印编程。

还有其他许多有用的库,如处理条形码的 IronBarcode、处理 Excel 文档的 IronXL 和处理 OCR 的 IronOCR。 您可以通过购买完整的 Iron Suite 以两个库的价格获得所有五个库。请访问Iron 软件许可页面了解更多详情。

< 前一页
如何将多页扫描成一个 PDF 文件
下一步 >
如何使用C#在ASP.NET中生成PDF

准备开始了吗? 版本: 2024.12 刚刚发布

免费NuGet下载 总下载量: 11,781,565 查看许可证 >