12

我的 PDF 中有三个签名字段。为此,我正在从ComboBox我的 Windows 窗体应用程序中获取值。

ComboBox

  Signature 1
  Signature 2
  Signature 3

对于签名字段,我有一个属性:

 field.fullname;
 field.baseobject;

这给了我该领域的全名,例如

 Signature 1
 ...

我想在单击保存按钮时比较这两者;也就是说,如果选择签名字段1,则数据应仅添加到签名字段1,依此类推。

我该怎么做呢?

我尝试使用field.BasedataObject,发现以下内容

<24 0 R> - 1st field
<26 0 R> - 2nd field
<1010 0 R> - 3rd field
4

5 回答 5

1

看起来一个简单的解决方案是为 Signature 创建一个类(使用您必要的属性),然后创建一个签名数组。首先使用该签名数组填充您的组合框(保持系统的完整性),然后使用组合框的选定值中的 id 与数组索引进行比较。像这样的东西:

public class Signature{
    string property1;
    string property2;

    public Signature(string propertyVal1, string propertyVal2)
    {
        property1 = propertyVal1;
        property2 = propertyVal2;
    }

}

    Signature[] mySignatures = new Signature[3];

    public Form1()
    {
        InitializeComponent();
        mySignatures[0] = new Signature("hello", "world");
        mySignatures[1] = new Signature("hello", "world");
        mySignatures[2] = new Signature("hello", "world");
        for (int i = 0; i < mySignatures.Length; i++)
        {
            comboBox1.Items.Add(mySignatures[i]);
        }

    }
于 2013-03-11T00:55:46.460 回答
0

很难理解你做了什么以及你想做什么,但看起来你只需要使用组合框的 SelectedValue 并比较/获取具有该“id”的正确对象。

在您的示例中,它看起来像 24、26 和 1010。您得到的输出可能是 Object.ToString()。

不要忘记组合具有选定的值(您应该存储密钥)和选定的文本。忘记文本并使用 field.BasedataObject.Key 获取密钥

于 2013-02-17T16:05:12.487 回答
0

您可以创建一个具有 3 个属性的类,如下所示 class Signature { string Signature1, string fullname, object baseobject } 也可能有 get 和 set

这将帮助您结合所有价值,并且也可以在此类中使用帮助方法

于 2013-01-02T07:44:30.087 回答
0

你是怎么指pdf的?它保存在您的数据库中吗?还是您在外部引用它?

如果它保存在您的数据库中,您可以使用二进制序列化访问它。如果在外部,Adobe pro 有一个链接按钮,可以使用 URL 将 pdf 文件连接到您的网络服务(您需要在 pdf 上进行 jscript pdf 编码)

您可能还想查看以简单方式访问 pdf 字段的 PDFOne 应用程序。

谢谢

于 2013-03-15T11:19:19.463 回答
0

为什么没有签名结构?

struct Signature
{
Signature1,
Field1,
Field2
};

然后您可以比较这些结构变量。

于 2012-12-04T11:50:44.047 回答