C# 在PDF中创建和填充域

C# 在PDF中创建和填充域攻略

步骤 1: 导入依赖库

在开始前,请确保你已经安装了以下依赖库:

using iTextSharp.text;
using iTextSharp.text.pdf;

步骤 2: 创建PDF并添加表单域

首先,我们需要创建一个空的PDF文件,并且添加表单域。

// 创建一个空白PDF文档
Document document = new Document();
PdfWriter writer = PdfWriter.GetInstance(document, new FileStream("output.pdf", FileMode.Create));
document.Open();

// 创建表单
PdfContentByte cb = writer.DirectContent;
PdfFormField formField;

// 创建文本域
formField = PdfFormField.CreateTextField(writer, false, false, 100);
formField.SetWidget(new Rectangle(100, 700, 200, 750), PdfAnnotation.HIGHLIGHT_INVERT);
formField.FieldName = "textfield";
formField.DefaultValue = "默认文本";
cb.AddAnnotation(formField);

// 创建复选框
formField = PdfFormField.CreateCheckBox(writer);
formField.SetWidget(new Rectangle(100, 650, 120, 670), PdfAnnotation.HIGHLIGHT_INVERT);
formField.FieldName = "checkbox";
formField.Checked = true;
cb.AddAnnotation(formField);

// 创建单选框
formField = PdfFormField.CreateRadioButton(writer, true);
formField.SetWidget(new Rectangle(100, 600, 120, 620), PdfAnnotation.HIGHLIGHT_INVERT);
formField.FieldName = "radiobutton";
formField.ValueAsName = "选项一";
cb.AddAnnotation(formField);

// 创建下拉框
formField = PdfFormField.CreateCombo(writer, false);
formField.SetWidget(new Rectangle(100, 550, 200, 570), PdfAnnotation.HIGHLIGHT_INVERT);
formField.FieldName = "dropdown";
formField.Options = new string[] { "选项一", "选项二", "选项三" };
cb.AddAnnotation(formField);

// 创建列表框
formField = PdfFormField.CreateList(writer, false);
formField.SetWidget(new Rectangle(100, 500, 200, 520), PdfAnnotation.HIGHLIGHT_INVERT);
formField.FieldName = "listbox";
formField.Options = new string[] { "选项一", "选项二", "选项三" };
cb.AddAnnotation(formField);

// 关闭PDF文档
document.Close();

该示例中,我们创建了一个空白的PDF文档,并为其添加了文本域、复选框、单选框、下拉框和列表框五种表单域。

步骤 3: 读取并填充表单域

接下来,我们将展示如何读取并填充已存在的表单域。

// 打开已有的PDF文档
PdfReader reader = new PdfReader("input.pdf");
PdfStamper stamper = new PdfStamper(reader, new FileStream("output.pdf", FileMode.Create));

// 获取表单域
AcroFields formFields = stamper.AcroFields;

// 填充文本域
formFields.SetField("textfield", "填充的文本");

// 填充复选框
formFields.SetField("checkbox", "是");

// 填充单选框
formFields.SetField("radiobutton", "选项一");

// 填充下拉框
formFields.SetField("dropdown", "选项二");

// 填充列表框
formFields.SetField("listbox", "选项三");

// 关闭PDF文档
stamper.Close();
reader.Close();

该示例中,我们打开了一个已存在的PDF文档,并使用AcroFields对象获取表单域。然后,我们使用SetField方法填充了文本域、复选框、单选框、下拉框和列表框。

以上就是使用C#创建和填充PDF表单域的完整攻略,你可以根据自己的需求来进行相应的调整和扩展。完成上述步骤后,你将能够在PDF中创建和填充各种类型的表单域。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# 在PDF中创建和填充域 - Python技术站

(0)
上一篇 2023年6月28日
下一篇 2023年6月28日

相关文章

  • 易语言实现反OD调试反复附加的代码

    易语言实现反OD调试反复附加的代码攻略 介绍 在软件开发中,为了保护自己的代码不被逆向工程或调试工具破解,我们可以使用一些反调试的技术。本攻略将介绍如何使用易语言来实现反OD调试反复附加的代码。 步骤 步骤一:检测调试器 为了实现反OD调试反复附加的代码,首先需要检测当前程序是否正在被调试器调试。我们可以使用Windows的API函数来实现这一功能。 #de…

    other 2023年6月28日
    00
  • 央视影音怎么查看版本号?央视影音查看版本号方法

    央视影音是中国中央电视台推出的一款视频播放软件,如果你想查看央视影音的版本号,可以按照以下步骤进行操作: 打开央视影音应用:在你的设备上找到央视影音应用的图标,点击打开应用。 进入设置页面:在央视影音的主界面上,通常会有一个设置按钮,一般是一个齿轮或者三个竖直排列的点。点击该按钮,进入设置页面。 查看版本号:在设置页面中,你可以找到一个关于或者版本信息的选项…

    other 2023年8月3日
    00
  • 多签钱包怎么转账?多签钱包转账教程及注意事项详解

    多签钱包怎么转账?多签钱包转账教程及注意事项详解 多签钱包是一种安全性更高的钱包类型,需要多个私钥的授权才能进行转账操作。下面是多签钱包转账的详细攻略,包括教程和注意事项。 教程 步骤一:创建多签钱包 打开多签钱包应用或网站,并选择创建新钱包。 输入所需的信息,如钱包名称、密码等。 选择多签选项,并设置所需的签名数量和参与者列表。 生成并保存钱包的助记词或私…

    other 2023年8月4日
    00
  • C++11正则表达式详解(regex_match、regex_search和regex_replace)

    C++11正则表达式是一项非常强大的功能,允许你在一个文本字符串中查找、匹配和替换匹配的子字符串。在本文中,我们将重点介绍C++11正则表达式常用的三个函数:regex_match、regex_search和regex_replace,并提供一些示例来帮助您理解这些函数的用法。 regex_match 函数regex_match用于检查一个字符串是否完全匹配…

    other 2023年6月26日
    00
  • php上传功能集后缀名判断和随机命名(强力推荐)

    PHP上传功能集后缀名判断和随机命名攻略 在PHP中,实现上传功能时,通常需要对上传的文件进行后缀名判断和随机命名,以增加安全性和避免文件名冲突。下面是一个完整的攻略,包含了后缀名判断和随机命名的实现。 后缀名判断 获取上传文件的原始文件名和临时文件路径。 使用pathinfo()函数获取文件的后缀名。 使用in_array()函数判断后缀名是否在允许的文件…

    other 2023年8月5日
    00
  • 如何使用golang实现一个api网关

    如何使用golang实现一个API网关 在微服务架构中,API网关是一个非常重要的组件,它作为前置的入口,统一处理HTTP请求的路由、身份认证、流量控制等功能。本文将介绍如何使用golang实现一个基础的API网关,涉及以下主要内容: API网关的基本功能 架构设计 HTTP路由匹配 后端服务负载均衡 身份认证 流量控制 API网关的基本功能 API网关是一…

    其他 2023年3月29日
    00
  • 禁止IE用右键的JS代码

    要禁止IE使用右键,可以使用以下三种方法: 方法1:使用JS阻止默认事件 在JS代码中,可以使用oncontextmenu事件来阻止右键菜单的默认行为,从而达到禁止IE使用右键的目的。具体代码如下: document.oncontextmenu = function() { return false; } 在这个代码段中,我们可以看到定义了document.…

    other 2023年6月27日
    00
  • centos定时任务的查看与配置

    以下是关于“CentOS定时任务的查看与配置”的完整攻略,包含两个示例。 背景 在CentOS中,我们可以使用定时任务来定期执行些任务,例如备份数据清理日志等。在使用定时任务之前,我们需要了解如何查看和配置定时任务。 查看定时任务 在Cent中,我们可以使用crab命令来查看和编辑定时任务。具体步骤如下: 打开终端,输入以下命令查当前用户的定时任务: bas…

    other 2023年5月9日
    00
合作推广
合作推广
分享本页
返回顶部