首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

用iTextSharp填充单选按钮组

iTextSharp是一个开源的.NET库,用于创建和操作PDF文档。它提供了丰富的功能,包括填充表单字段,添加文本、图像和其他元素,以及生成报表等。

填充单选按钮组是指在PDF表单中的一组单选按钮中选择一个选项。iTextSharp提供了一种简单的方法来实现这一功能。

首先,你需要创建一个PdfReader对象来读取现有的PDF文档。然后,使用PdfStamper类创建一个新的PDF文档,并将PdfReader对象传递给它。

接下来,你需要获取单选按钮组的字段对象。可以使用AcroFields类的GetField方法来获取字段对象。传递字段名称作为参数,该名称在PDF文档中唯一标识该字段。

一旦你获取到字段对象,你可以使用SetField方法来设置字段的值。传递字段名称和选中的单选按钮的值作为参数。

最后,使用PdfStamper类的Close方法关闭PDF文档,并保存修改后的文档。

以下是一个示例代码,演示如何使用iTextSharp填充单选按钮组:

代码语言:csharp
复制
using System;
using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;

public class Program
{
    public static void Main(string[] args)
    {
        // 读取现有的PDF文档
        PdfReader reader = new PdfReader("input.pdf");

        // 创建一个新的PDF文档
        using (FileStream fs = new FileStream("output.pdf", FileMode.Create))
        {
            PdfStamper stamper = new PdfStamper(reader, fs);

            // 获取单选按钮组的字段对象
            AcroFields fields = stamper.AcroFields;
            AcroFields.FieldPosition fieldPosition = fields.GetFieldPositions("radioGroup")[0];
            int pageNumber = fieldPosition.page;

            // 设置字段的值
            fields.SetField("radioGroup", "option1");

            // 绘制单选按钮的选中状态
            PdfContentByte contentByte = stamper.GetOverContent(pageNumber);
            RadioCheckField radioField = new RadioCheckField(stamper.Writer, fieldPosition.position, "option1", "Yes");
            radioField.CheckType = RadioCheckField.TYPE_CHECK;
            radioField.Checked = true;
            PdfFormField field = radioField.CheckField;
            contentByte.AddAnnotation(field, pageNumber);

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

        Console.WriteLine("单选按钮组已填充并保存为output.pdf");
    }
}

请注意,以上示例代码仅供参考,实际使用时可能需要根据具体情况进行调整。

推荐的腾讯云相关产品:腾讯云对象存储(COS),用于存储和管理PDF文档。您可以通过以下链接了解更多信息:腾讯云对象存储(COS)

希望以上信息对您有所帮助!

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 之解析练习RadioButton+Fragment+viewpager布局架构

    所要添加的子视图 index 将要添加子视图的位置 params 所要添加的子视图的布局参数 public void check (int id) 如果传递-1作为指定的选择标识符来清除单选按钮的勾选状态...,相当于调用clearCheck()操作 id 该中所要勾选的单选按钮的唯一标识符(id) 参见 getCheckedRadioButtonId() clearCheck() public...void clearCheck () 清除当前的选择状态,当选择状态被清除,则单选按钮组里面的所有单选按钮将取消勾选状态,getCheckedRadioButtonId()将返回null public...int getCheckedRadioButtonId () 返回该单选按钮中所选择的单选按钮的标识ID,如果没有勾选则返回-1 返回该单选按钮中所选择的单选按钮的标识ID public RadioGroup.LayoutParams...ViewGroup.LayoutParams或其子类的实例 public void setOnCheckedChangeListener (RadioGroup.OnCheckedChangeListener listener)注册一个当该单选按钮中的单选按钮勾选状态发生改变时所要调用的回调函数

    1.3K40

    Java Swing用户界面组件:复选框+ 滑块+组合框+边界+单选按钮

    给一按钮或者一列选项让用户做出选择。(这样也免去了检查错误的麻烦。)在本节中,将介绍如何编写程序实现复选框、单选按钮、选项列表以及滑块。...这样一框通常称为单选按钮(radio button group),这是因为这些按钮的工作像收音机上的电台选择按钮。当按下一个按钮时, 前一个按下的按钮就自动地弹起。图9-16显示了典型的例子。...在Swing中实现单选按钮非常简单。为单选按钮组构造一个ButtonGroup类型的对象。 然后,把JRadioButton类型的对象添加到按钮中。...注意,按钮仅仅控制按钮的行为,如果想把这些按钮组织在一起布局,需要把它们添加到容器中,如JPanel。 看一下图9-15和图9-16,会发现单选按钮的外观不同于复选框。...边界 如果在一个窗口中有多组单选按钮,那么就需要用可视化的形式明确地指出哪些按钮属于同一。Swing提供了一有用的边界(border)来解决这个问题。

    7.1K10

    个人永久性免费-Excel催化剂功能第58波-批量生成单选复选框

    插件的最大威力莫过于可以把简单重复的事情批量完全,对日常数据采集或打印报表排版过程中,弄个单选、复选框和用户交互,美观的同时,也能保证到数据采集的准确性,一般来说原生的方式插入单选、复选框,操作繁琐,...使用场景 在制作一些数据采集表单时,如果需要与用户互动,让用户在指定地方来选择相应内容时,单选、复选框是比较理想的作法,在做了单元格链接的方式后,可以满足采集的数据的准确性。...单选、复选功能按钮位置 操作步骤 选择要添加单选或复选框的内容 控制生成的单选或复选框的链接单元格位置 链接单元格位置是指当用户交互过程中,选择了某个组件,该组件的状态信息会反应到相应的链接单元格内容上...控件生成后,有留边的情况,单元格行高、列宽稍微要增大一些 不同组的单选控件可分离,即每一仅有一个项目被选定,多个可以有多个选定项 有链接单元格的效果为选定的项对应的链接单元格为TRUE 控件删除...、列宽调整好后,选择需要调整的控件所在单元格区域,然后对控件进行上下居中、左右居中或完全填充单元格等方式进行调整。

    1.4K20

    Flutter 全栈式——基础控件

    clip:剪辑溢出的文本;fade:将溢出的文本淡化为透明;ellipsis:省略号表示溢出;visible:在容器之外显示溢出的文本 textScaleFactor double 每个逻辑像素的字体像素值...focusColor Color 获取焦点时按钮颜色 splashColor Color 水波纹效果的初始化颜色 hoverColor Color 当指针悬停在按钮上时的填充颜色 highlightColor...borderSide: BorderSide(color: Colors.red,), ), Radio 与 Checkbox Radio 属性名 类型 简述 value 动态类型 此单选按钮表示的值...groupValue 动态类型 该单选按钮当前选定的值 onChanged ValueChanged 状态变化回调 activeColor Color 选中时的颜色 materialTapTargetSize...Text('女'), ], ), Checkbox 属性名 类型 简述 value bool 是否选中此复选框 onChanged ValueChanged 该单选按钮当前选定的值

    3.8K40

    CompoundButton

    CompoundButton 具有两种状态的按钮,选中和未选中。当按钮被按下或点击时,状态会自动改变。 这是一个抽象类,目前有的子类有 复选框,单选按钮,开关,切换按钮。...复选框 复选框是一种特定类型的双状态按钮,可以选中或取消选中。 单选按钮 单选按钮是两个状态的按钮,可以选中也可以取消选中。...CompoundButton的XML 属性 android:button Drawable 用于按钮图形(例如,复选框和单选按钮)。 android:buttonTint 应用于按钮图形的色调。...int getAutofillType() 描述此视图的自动填充类型,因此 AutofillService可以AutofillValue 在自动填充视图时创建正确的类型。...AutofillValue getAutofillValue() 获取TextView的当前自动填充文本。

    2K20

    Axure RP9中文版,交互式原型设计软件Axure RP 9永久版下载安装

    案例中增加了13种常用的元件,分别为单行输入框、多行输入框、数字输入框、密码输入框、月份选择器、日期选择器、时间选择器、单选按钮、多选按钮、下拉列表、文件上传、评分控件、滑动滑块,你们也可以根据实际需要增加或删除...动态面板里每个状态的名称和中继器type里的名称一致,并且在里面放置对应的元件,案例中包括了13种常用的元件,分别为单行输入框、多行输入框、数字输入框、密码输入框、月份选择器、日期选择器、时间选择器、单选按钮...鼠标单击中继器内组合时,我们做一个高亮变色的效果,这样就知道选中了该行内容,所以我们要先把背景矩形设置选中样式,设置单选,因为在中继器内部,所以记得要勾选隔离列表质检的选项。...这里状态名也是要和type列里每行的值一一对应,有多少个元件类型就增加多少个状态页面,案例中包括了13种常用的元件,分别为单行输入框、多行输入框、数字输入框、密码输入框、月份选择器、日期选择器、时间选择器、单选按钮...、多选按钮、下拉列表、文件上传、评分控件、滑动滑块,你们也可以根据实际需要增加或删除。

    4.8K40

    超全的Android组件及UI框架

    设置内边距(填充)属性 上面这些属性用于设置组件的内边距,内边距主要用于设置组件边框和子组件之间的间隙 6....RadioButton 单选按钮 5.1 常用属性 RadioButton 单选按钮就是只能够选中一个,所以我们需要把 RadioButton 放到 RadioGroup 按钮中,从而实现单选功能...RadioGroup 单选按钮 6.1 常用属性 要实现 RadioButton 的 单选功能,需要把所有的 RadioButton 放到 RadioGroup 里面  用于将几个 RadioButton... 在一起形成单选按钮,实现单选功能,也就是选中一个,会取消其它选项的选中 RadioGroup 只提供了一个 XML 属性 android:checkedButton 用于指定初始化时选中的 ID...常用属性 SeekBar ( 拖动条 ) 控件一般用于音乐播放器或者视频播放器的音量控制或者播放进度控制 SeekBar 是 ProgressBar 的子类,所以 ProgressBar的属性都可以

    6.2K30

    delphi vcl_delphi数据类型

    TMainMenu有一些属性,这些属性能控制菜单选项是否变灰,是否被复选,快捷帮助ID,选项提示文本,以及其他的一些内容,每个菜单选项都有一个OnClick事件,因此可以为选中的菜单选项连接一个事件处理程序...、拷贝和传送选项,如果Clipboard中有数据,那么传送的按钮盒菜单选项就会生效。...如果Clipboard中没有数据,那么传送的按钮盒菜单项将无效,当用TActionList组件时,所有的控件(工具栏、按钮盒菜单选项)都可以是有效或者无效。...TDBNavigator组件提供了一些按钮这些按钮用户可以移动数据库表,这个类包括的按钮有下一个记录、前一个记录、第一个记录、最后一个记录、取消编辑、接收编辑和继续编辑等。...Bitmap属性可以为填充一个位图。

    2.7K10

    Android自定义控件

    时隔一年,新知识重构一个老库一年前, Java 写了一个高可扩展选择按钮库。单个控件实现单选、多选、菜单选,且选择模式可动态扩展。...,而RadioGroup继承自LinearLayout,遂单选按钮只能是横向或纵向铺开,这限制的单选按钮布局的多样性,比如下面这种三角布局就难以原生控件实现: selector.gif 为了突破这个限制...函数类型变量代替继承 在抽象按钮控件中,“按钮样式”和“按钮选中状态变换”被抽象成算法,算法的实现推迟到子类,这样的方式,扩展按钮的样式和行为。...("soup", orderGroup); selector3_2.setGroup("soup", orderGroup); ​ // 菜单选单选,跨多选 private class OderChoiceMode...groupTag和SelectorGroup,所以他们属于同一并且是单选模式。

    5.9K00

    单选按钮的用户体验设计

    现代软件中的单选按钮正是仿照的这些物理按钮。 二、单选按钮的最佳实践 1、使用单选按钮仅用来设置 使用单选按钮来更改设置,而不是作为操作按钮来执行命令。...同时,改变的设置不应该在用户点击命令按钮(标记为“前进”或“保存”为例)前生效。如果用户点击返回或取消按钮,任何在该单选按钮所做的更改都应该被丢弃而且回到初始状态。...如果单选按钮只被用来影响一个命令的执行,那最好还是显示命令的变化来取代。这样做允许用户选择单个交互的正确命令。...好的水平排布的单选按钮案例可以在Duolingo app中看到:它们使用一经典的横向按钮,在视觉上凸显出目标区域并且对于触摸设备来说足够大。...7、使用单选按钮而不是下拉列表 如果可能,就使用单选按钮而不是下拉列表。单选按钮认知成本低因为它把所有选项可见从而让用户很容易比较选择。 如果你的选择项少于7个,你应该考虑使用单选按钮

    6.2K100

    Qt Style Sheet实践(三):QCheckBox和QRadioButton

    单选按钮只允许用户在一选项中选择一个,且当其中一个被选中的时候,按钮中的其他单选按钮自动取消。复选框则可以让用户同时选中多个选项,这在多项选择的情况下非常有用。...单选按钮和复选框应用广泛,在WEB表单、软件配置界面常常是不可或缺的元素。这篇博文主要讲述Qt中单选按钮和复选框如何通过样式表进行外观定制。...我们简单的Qt Designer拖个按钮,按Ctrl+R进行预览: ?       效果还不错,朴素简单。在这里,我们将一单选按钮全部放到了一个QGroupBox里面。...另外的一个方法是,将这一单选按钮全部添加到QButtonGroup中去。...不过传统设计中单选按钮都设计成了原型,这里的图片来自金山卫士。相比于复选框(QCheckBox),单选按钮少了一个状态:indeterminate。

    9.6K60

    CSS实现最简洁的单选折叠菜单

    今天教大家用纯css实现一个单选的折叠菜单,不需要JavaScript就能用。折叠菜单和标签页差不多,逻辑上都是一种单选面板,只不过折叠菜单一般是垂直堆叠的,标签页是横着排列。...标签页: 既然是单选的,就可以单选按钮来实现。...首先这些单选按钮的父元素,因为可以监听按钮的变化,同时还能通过name属性直接得到RadioNodeList列表和变化值,非常方便,不用设置其他的css选择器了。...collapse"> 给设置id,这样可以直接通过window[id]找到它,每个的name属性要一致,然后通过form[name]得到单选...,form[name].value就是当前选中的按钮的value,也就是折叠按钮的标题,每个后面跟着一个就是菜单展开的内容。

    5.2K20
    领券