基于 Acrobat 中表单域值的动态字体颜色分配

Dynamic font color assignment based on a form field value in Acrobat

我有一个计算 debt:income 比率的贷款表格。我希望比例所在的字段(计算字段,不允许用户输入)根据比例更改字体颜色。

如果比率高于 60%,那么我希望字体颜色为淡红色(请参阅下面的颜色值),如果 >= 35%,则为另一种颜色,如果低于 35%,则为正常颜色。

这是我想出的代码...

if (event.value >= .6) {
    this.textColor = (255, 153, 0);
}
else if (event.value >= .35) {
    this.textColor = (204, 51, 0);
}
else {
    this.textColor = (0, 102, 153);
}

代码在自定义验证中。

这行不通。我做错了什么?

您的代码有几个问题,而且,您 运行 是在错误的事件中。在验证事件期间,该值尚未实际提交。在提交值后,使用自定义格式脚本更改字段的外观。见图像。

然后在你的代码中,你需要获取触发脚本的字段的值(event.target),然后你需要设置它的颜色属性(event.target .textColor)。此外,PDF 中的颜色是通过使用数组定义的,其中第一个元素是颜色 space,然后是 0 到 1 范围内的值。请参阅下面的修订代码。

if (event.target.value >= .6) {
    event.target.textColor = ["RGB", 255/255, 153/255, 0];
}
else if (event.target.value >= .35) {
    event.target.textColor = ["RGB", 204/255, 51/255, 0];
}
else {
    event.target.textColor = ["RGB", 0, 102/255, 153/255];
}