PDFSharp 是一个功能强大的 .NET 库,用于创建、编辑和填充 PDF 文件。本文将详细介绍如何使用 PDFSharp 填充 PDF 表单,并提供完整的示例代码。
一、准备
1. 通过 Adobe Acrobat 等工具,制作pdf的表单

2. 安装 PDFSharp库
dotnet add package PDFsharp
二、代码示例
using PdfSharp.Pdf.AcroForms;
using PdfSharp.Pdf.IO;
using PdfSharp.Pdf;
string inputPdfPath = "input.pdf"; // 输入的PDF文件路径
string outputPdfPath = "output.pdf"; // 输出的PDF文件路径
// 加载包含表单的 PDF 文件
string inputFilePath = "input.pdf";
PdfDocument document = PdfReader.Open(inputFilePath, PdfDocumentOpenMode.Modify);
// 获取表单
PdfAcroForm form = document.AcroForm;
// 检查表单是否存在
if (form != null)
{
// 填充表单字段
form.Fields["fill_1"].Value = new PdfString("Hello !");
form.Fields["fill_2"].Value = new PdfString("NetShare");
form.Fields["name"].Value = new PdfString("Libai");
// 保存填充后的 PDF 文件
document.Save(outputPdfPath);
Console.WriteLine("PDF 表单填充完成,文件已保存到:" + outputPdfPath);
}
else
{
Console.WriteLine("PDF 文件中没有表单字段。");
}
document.Close();
Console.WriteLine("PDF表单填充完成!");
效果如图:
填充结果示例
三、注意事项
1. 字段名称匹配
确保字段名称与 PDF 表单中的字段名称完全一致。字段名称通常在创建表单时定义,可以通过 Adobe Acrobat 等工具查看。2. 字段类型匹配
根据字段类型(如文本框、下拉列表、复选框等),可能需要设置不同的值类型:
• 文本框:使用
PdfString
。• 复选框:使用
PdfBoolean
。• 下拉列表:确保值与选项列表中的值匹配。
3. 默认值覆盖
如果表单字段有默认值,可以直接覆盖默认值。4. 错误处理
在实际应用中,建议添加异常处理逻辑,以应对可能的运行时错误。
四、扩展功能
如果需要更复杂的表单操作,例如动态创建表单字段、设置字段属性等,可以参考以下方法:
• 动态创建字段:通过
PdfAcroForm
类手动添加字段。• 设置字段属性:调整字段的可见性、只读状态等属性。
• 高级格式化:为字段值添加格式化规则(如日期、货币等)。
更多详细信息可以参考 PDFSharp 官方文档 或相关教程。
五、相关扩展
HtmlToPdf
DinkToPdf: .Net轻松搞定Html转PDF生成,几分钟上手!
https://mp.weixin.qq.com/s/ABTCKqZlN2jMijSQ5Le_VwPuppeteerSharp:在.NET中驾驭浏览器的强大工具
https://mp.weixin.qq.com/s/eM-6r1yRicGAxhMdkYbHbAHtmlToPDFCore:HTML 转换为 PDF 的利器,轻便,快捷,重量级
https://mp.weixin.qq.com/s/rWGaFP_rLYzc8B6GBunuLQChromiumHtmlToPdf:Net跨平台轻松将HTML转换为PDF
https://mp.weixin.qq.com/s/LWuzVwJ6J9UyqnmP_1ecPwpdf相关库
探索 QuestPDF:全平台支持、多功能、专业级的 .NET PDF 库
https://mp.weixin.qq.com/s/ClqiS2hjPpPXgV1hfUfKwA或者点击文章底部的pdf标签查看更多
六、总结
本文介绍了如何使用 PDFSharp 填充 PDF 表单,并提供了完整的示例代码。通过 PDFSharp,开发者可以轻松实现 PDF 表单的自动化填充,提升工作效率。希望本文对你有所帮助!
如果有任何问题或建议,欢迎在评论区留言交流! 😊