'argv' 未定义时 运行ning mutool 运行 script.js

'argv' is not defined when running mutool run script.js

我正在尝试将文件名传递到我的 JavaScript 脚本中,类似于此处的示例代码:https://mupdf.com/docs/examples/draw-document.js

C:\Tools\mupdf-1.14.0-windows> .\mutool.exe run .\script.js c:\temp\test.pdf

不幸的是,我收到以下错误:

ReferenceError: 'argv' is not defined

文档 (https://mupdf.com/docs/manual-mutool-run.html) 说:

[...] the command line arguments are accessible from the global 'argv' object.

底层代码如下所示(这只是 'proof of concept' 代码):

var doc = new Document(argv[1]);
var outline = doc.loadOutline();
var outlineString = JSON.stringify(outline, {}, 2);

var txt = new ActiveXObject("Scripting.FileSystemObject");
var s = txt.CreateTextFile("c:\temp\text.json", true);
s.Write(outlineString);
s.Close();

有人可以指出我犯的错误吗?

只是指出,在完美的世界中,我想将 JSON 对象转换为 XML 文件。

来自 MuTool 1.14.0-rc1 Changelog:

  • mutool run: Pass arguments to script in scriptArgs global.

因此,您应该在脚本中使用 scriptArgs 而不是 argv

干杯, 罗