javascript - 用于自定义图章的 PDF Javascript 在 Adobe Reader DC 中不起作用
问题描述
下面的代码用于 Adobe Reader 中的自定义图章。此代码适用于邮票表中的一行 3 个文本字段。
它的作用:在放置印章时要求用户在 javascript 窗口中输入。提交后,自定义图章表格中的文本字段将填入输入内容。
问题:它在 Adobe Acrobat Pro XI 中适用于所有 3 个字段。但除了 Adobe Reader DC 中的第一个字段外,它无法用于任何其他领域。导致其他 2 个字段为空白。
第一个字段有效的事实意味着我的代码在底部(“这部分!”)都很好。在修复或让我知道使用用户输入定义字段值的另一种方法方面的任何帮助将不胜感激:)
据我所知(PDF JavaScript 在 Adobe Reader DC 但所有其他 Reader 中不起作用)新的 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.`
}
}
解决方案
我修好了它!
没有 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
}
}
推荐阅读
- c# - 'Lucene.Net.Store.FSDirectory' 的类型初始化程序引发异常
- c# - 等待来自 api 的数据时的 wpf 显示(gif)窗口
- angular - 从未经授权的客户端保护 Angular/Spring REST Web 服务
- excel - 如何更新代码以删除空白以同时删除特定的“字符串”?
- ios - 如何在swift4中水平使用collectionView Cell
- amazon-web-services - 我正在尝试将图像上传到 Amazon S3 存储桶,这是成功的,并且在几次上传后图像没有上传
- android - 在 Android 的 dimen 文件中定义边距和填充
- c# - C# 和 SQL 动态 where 子句
- javascript - react-router-dom - 将参数添加到索引 url 但接受页面
- apache2 - 如何在 apache 2.4 RewriteRule 中使用发布数据规则编写替换和重定向 url(两者同时)?