使用ITextSharp的复选框

卡恩达契尔

我正在使用ITextSharp填写我的pdf,但我不知道如何检查复选框。

我有不同的情况:

  1. 我只有一个盒子。如果我得到的值是“ true”,则检查它,否则不检查。
  2. 我有2个方框,“是”和“否”。如果该值为true,则我选择“是”,否则,我选择“否”。
  3. 我有多种选择。例如,我有“标题”,可能的值为“ Mr”,“ Mrs”和“ Miss”。我要选中与我获得的值相对应的框(我将获得“先生”,“太太”或“小姐”。

实际上,这就是我要做的:

if (Output.AcroFields.Fields.ContainsKey(m.Item1))
{
    // Boolean or not (have to treat differently)
    if (Input.Data[m.Item2] is Boolean)
    {
        Output.AcroFields.SetField(m.Item1, (bool)Input.Data[m.Item2] ? "On" : "Off"); // I've tried "True", "On", "true"
    }
    else
    {
        Output.AcroFields.SetField(m.Item1, Input.Data[m.Item2].ToString());
    }
}

但是复选框永远不会被打勾。文本字段有效,但这3种情况无效。任何的想法 ?

布鲁诺·洛瓦吉

问题尚不清楚。一个复选框可以有两个可能的值。这些值之一始终是Off(在ISO-32000-1中定义)。其他值可以是任何值。您可以使用我对这个问题的答案找出可能的值:使用itextsharp选中pdf复选框

我可以将您的问题解释为:我想创建一个包含2个以上状态的复选框。这是不可能的:您具有“打开”状态和“关闭”状态。

也许您正在寻找创建选择字段选择字段类似于下拉框,您可以在其中从列表中选择一个值。

也许您正在寻找一系列复选框:

[ ] Mr.
[ ] Mrs.
[ ] Ms.

在这种情况下,您将拥有三个不同的复选框。您可以将/Yes每个复选框的值都设置为,但通常情况下,您会使用/Mr/Mrs以及/Ms“ on”值。

如果您已经有PDF,则必须使用我对itextsharp的“检查pdf”复选框的回答来检查哪个值适用

更新:您写道我有两个方框,“是”和“否”。如果该值为true,则我选择“是”,否则,我选择“否”。那真的没有意义。一个复选框就足够了。如果要说“是”,则应选中它。如果要说“否”,则该值应为/Off(“否”不是“关闭”状态的允许值)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章