Добавлен JavaScript в pdf формах, не работающий после установки выравнивания формата в true - PullRequest
0 голосов
/ 21 мая 2018

Я добавил пользовательский 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;

Всем, пожалуйста, помогите найти решение для этого.

Спасибозаранее

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...