在将格式展平设置为true后,添加了pdf格式的javascript无法正常工作

时间:2018-05-21 06:54:14

标签: c# itext

我已将自定义javascript添加到pdf表单字段以执行某些条件格式设置。 当表单处于可编辑模式时,脚本可以正常工作。 当我们将格式flattening更改为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;
&#13;
&#13;
&#13;

将格式展平设置为真正的脚本无法正常工作

stamp.FormFlattening = true;

任何人都可以帮助找到解决方案。

提前致谢

0 个答案:

没有答案