Я пытаюсь использовать abcPDF для заполнения полей формы, и у меня возникают проблемы при выборе определенных переключателей. Форма, над которой я работаю, имеет несколько полей переключателей, большинство из которых я могу установить следующим образом:
Doc theDoc = new Doc();
theDoc.Read(Server.MapPath("fileName.pdf"));
Field areYouHappy = theDoc.Form["Q28_happy"];
areYouHappy.Value = areYouHappy.Options[0]; // set Field areYouHappy to Option 0 (yes)
theDoc.Save(Server.MapPath("newFileName.pdf"));
Это работает плавно для большинства кнопок, но некоторые не настроены должным образом (или, скорее, вообще). Единственная разница между функциональными и неисправными кнопками - это текст или имя вспомогательного параметра поля.
Например, для поврежденных полей при просмотре в отладчике доступны следующие параметры:
Options[0] "If your answer is �Yes,� select this option."
Options[1] "If your answer is �No,� select this option."
В отличие от функциональных полей:
Options[0] "If you're happy and you know it, select this option."
Options[1] "Clap your hands, select this option."
Похоже, что не-юникодный символ используется в объекте Option объекта Field, или, возможно, не экранированный "
, что приводит к �
, но кажется странным, что это будет мешать проверке переключатель справа, так как я все равно передаю ему индекс.
Я попытался «переименовать» значения Option в коде, выполнив следующие действия:
Field areYouHappy = theDoc.Form["Q28_happy"];
areYouHappy.Options[0] = areYouHappy.Options[0].RemoveSymbols();
areYouHappy.Options[1] = areYouHappy.Options[1].RemoveSymbols();
areYouHappy.Value = areYouHappy.Options[0];
но это не работает, хотя отладчик показывает, RemoveSymbols
выполняет свою работу:
Options[0] "IfyouranswerisYesselectthisoption."
Options[1] "IfyouranswerisNoselectthisoption."
Есть ли в abcPDF способ установки переключателей, в которых есть значения со специальными символами, или есть способ изменить значения этих параметров самостоятельно?