Я добавил пользовательский javascript в поля формы pdf для условного форматирования.Скрипт отлично работает, когда форма находится в редактируемом режиме.Когда мы изменили выравнивание формата на true, скрипт, который я добавил в поля формы pdf, не работает.
Метод добавления скрипта с использованием itextsharp
private void AddTextBoxEvent(string fieldName, PdfStamper stamper, string script)
{
var item = stamper.AcroFields.GetFieldItem(fieldName);
if (item != null)
{
var dict = item.GetWidget(0);
if (dict != null)
{
var aaDict = dict.GetAsDict(PdfName.AA);
var action = PdfAction.JavaScript(script, stamper.Writer);
if (aaDict == null) aaDict = new PdfDictionary();
aaDict.Put(PdfName.F, action);
dict.Put(PdfName.AA, aaDict);
}
}
}
Пример скрипта, который мы добавили
if(event.value == 0) event.value = '';
var v = Number(event.value);
if (v>0 && v<100) {event.target.fillColor = color.red;}
else if (v<0) {event.target.fillColor = color.red;}
else if (v>100) {event.target.fillColor = color.red;}
else if (v=100) {event.target.fillColor = color.white;}
if (event.value=='') event.target.fillColor = color.transparent;
После установки выравнивания формата на истинный сценарий не работает
stamp.FormFlattening = true;
Всем, пожалуйста, помогите найти решение для этого.
Спасибозаранее