当前位置: 首页 > 知识库问答 >
问题:

Adobe Reader DC中无法使用自定义戳的PDF Javascript

邵飞宇
2023-03-14

下面的代码用于Adobe Reader中的自定义戳。此代码用于stamp表中的一行3个文本字段。

它所做的:当stamp被放置时,在javascript窗口中请求用户输入。提交后,自定义戳表中的文本字段将填充输入。

问题:它在Adobe Acrobat Pro XI中适用于所有3个字段。但无法处理Adobe Reader DC中的第一个字段以外的任何其他字段。导致其他2个字段为空。

第一个字段工作的事实意味着我的代码一直到底部都很好(“这里是这个部分!”)。如果您能在这里提供帮助,或者让我知道用用户输入定义字段值的另一种方法,将不胜感激:)

据我所知(PDF JavaScript在Adobe Reader DC中不工作,但在所有其他阅读器中都不工作),新的Adobe Reader DC对JavaScript语法非常严格。

var dialog = {
        noz8Value: "",
        fa8Value: "",
        fl8Value: "",

        commit:function (dialog) { // called when OK pressed
                var results = dialog.store();
                this.noz8Value = results["txt1"];
                this.fa8Value = results["txt2"];
                this.fl8Value = results["txt3"];
        },     

        description:
        {      
                name: "8 Nozzle Load",    // Dialog box title
                elements:
                [      
                        {      
                                type: "view",
                                elements:
                                [      
                                        {      
                                                name: "1st Nozzle ID: ",
                                                type: "static_text",
                                        },     
                                        {      
                                                item_id: "txt1",
                                                type: "edit_text",
                                                width: 300,
                                                height: 30
                                        }, 
                                        {      
                                                name: "Fa (kN): ",
                                                type: "static_text",
                                        },     
                                        {      
                                                item_id: "txt2",
                                                type: "edit_text",
                                                width: 300,
                                                height: 30
                                        },
                                        {      
                                                name: "Fl (kN): ",
                                                type: "static_text",
                                        },     
                                        {      
                                                item_id: "txt3",
                                                type: "edit_text",
                                                width: 300,
                                                height: 30
                                        },
                                ]      
                        },     
                ]      
        }      
};

// THIS PART HERE (below)
//Line below Runs dialog function (prompt window) if stamp is placed down

if(event.source.forReal && (event.source.stampName == "#nozzle"))
{
  if ("ok" == app.execDialog(dialog))
  {
    var cMsg = dialog.noz8Value;
    event.value = "\n" + cMsg;
    event.source.source.info.noz = cMsg;

    var cMsg2 = dialog.fa8Value;
    this.getField("fa8Field").value = cMsg2;

    var cMsg3 = dialog.fl8Value;
    var test1 = this.getField("fl8Field");
    test1.value= cMsg3

 // Above I tried 3 different ways of linking the user input as the field's `value.`   
  }
}

共有1个答案

解浩渺
2023-03-14

我修好了!

没有event.source.source.info.noz=cmsg;代码起作用了。较旧的版本运作良好,而且更为宽大。DC是严格的。

if(event.source.forReal && (event.source.stampName == "#nozzle"))
{
  if ("ok" == app.execDialog(dialog))
  {
    var cMsg = dialog.noz8Value;
    event.value = "\n" + cMsg;

    var cMsg2 = dialog.fa8Value;
    this.getField("fa8Field").value = cMsg2;

    var cMsg3 = dialog.fl8Value;
    var test1 = this.getField("fl8Field");
    test1.value= cMsg3

  }
}
 类似资料:
  • 我试图创建一个Alexa技能,从我的网站上提取数据,当我使用HTTPS时,请求错误被排除,尽管在其他需要api密钥的网站上使用HTTPS是可以的,比如《纽约时报》。这是一个代码片段

  • 我正在尝试为我的应用程序的主题定义自定义颜色。我是这样做的: 定义自定义属性: 定义应用程序样式: 在清单中设置样式: 在可绘制xml中使用此属性: 但出于某种原因,它不适用于我的颜色绘图。它应用了透明的颜色。 还有一件奇怪的事,如果我替换我的与,在,则应用正确的颜色。 最后一个问题是:你知道为什么它不起作用,以及如何修复它吗?

  • 我正试图根据此答案在我的项目详细信息旁边添加删除按钮。我在一个新项目上试用过,效果非常好: 当我单击delete时,我将删除该项目。 不幸的是,当我的listView在calendar_选项卡中时,我试图在我自己的项目中使用它。xml。日历选项卡使用CompactCalendarTab。java-fragment类。所以Android Studio出错:E:\Downloads\MyCustomA

  • 我正在工作的WordPress不是那么流行和深刻的主题。可以肯定地说,这是一个完全自定义的主题。我面临的问题是关于@font-face的。我在这里创建了字体结构:http://akshay2000.pcriot.com/trial/index1.html 我用我的WordPress主题创建了相同的结构。没奏效。现在,我有如下CSS: 字体文件与style.css和index.php在同一个目录中。

  • 上一页下一页都是第一页的内容

  • 我正在尝试将SpringBoot应用程序的一个服务用于另一个SpringBoot服务。由于一些限制,我不得不使用基于jar的方法,即,我使用命令maven build构建第一个项目,并使用为该项目创建的jar。 我将该jar添加到其他/依赖项目的构建路径中。但是我不能看到我的主要项目的服务。我也不能自动连接它们。几天前,不知何故,我能够看到服务,但是依赖项目的maven构建失败了,因为它无法在依赖