Доступ к списку текстовых полей
У меня есть три поля подписи в моем PDF файле. Я принимаю значения из ComboBox
в моих приложениях Windows Forms для этого.
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
Ответы
Ответ 1
Похоже, что простым решением было бы создать класс для Signature (используя ваши необходимые свойства), а затем создать массив подписей. Используйте этот массив Signatures, чтобы заполнить ваш combobox в первую очередь (поддерживая целостность вашей системы), затем используйте id из выбранного значения combobox для сравнения с индексом массива. Что-то вроде этого:
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]);
}
}
Ответ 2
Почему у вас нет структуры для Подписи?
struct Signature
{
Signature1,
Field1,
Field2
};
Затем вы можете сравнить эти структурные переменные.
Ответ 3
Вы можете создать класс с 3 свойствами следующим образом
Подпись класса
{
строка Signature1,
string fullname,
объект baseobject
}
возможно, получили и установили слишком
это поможет вам объединить все значение и может также помочь в этом классе
Ответ 4
Очень сложно понять, что вы сделали и что хотите делать, но похоже, что вам просто нужно использовать SelectedValue из comboBox и сравнить/получить правильный объект с этим "id".
В вашем примере это выглядит как 24, 26 и 1010. Вывод, который вы получили там, вероятно, Object.ToString().
Не забывайте, что комбо имеет выбранное значение (вы должны сохранить ключ) и выделенный текст. Забудьте текст и перейдите к ключу использования. BasedataObject.Key
Ответ 5
Как вы относитесь к pdf? он сохраняется в вашей базе данных?
или вы ссылаетесь на него извне?
если он сохранен в вашей базе данных, вы можете получить к нему доступ, используя двоичную сериализацию.
если извне, у Adobe pro есть кнопка ссылки, которая соединяет файлы PDF с вашим веб-сервисом, используя URL (вам нужно сделать jscript pdf-кодирование в pdf)
Возможно, вы также захотите, чтобы приложение PDFOne легко обращалось к полям PDF.
Спасибо