gpt4 book ai didi

javascript - 使用 JavaScript 在 Acrobat 中导入图像(首选文档级)

转载 作者:行者123 更新时间:2023-11-29 21:58:14 25 4
gpt4 key购买 nike

我将在 Adob​​e Acrobat 中使用 JavaScript 实现动态图例。

文档包含很多层。每一层都有自己的图例。最初的想法是实现图例,使其在可见层的对话框中包含图像。

我只能通过在文档级别将状态设置为 false 或 true (this.getOCGs()[i].state = false;) 来隐藏/显示图层。

问题一:能否通过某种方式从图层中提取数据来建立图例?我认为没有,因为我们在层上只有这些功能:getIntent()、setIntent() 和 setAction()。正确的?因此我决定这样安排,每一层所需的所有图标都保存在一个具有相应名称的文件夹中。 JavaScript 应该导入图标,我用可见层的图标构建一个对话框窗口并放置一个文本(这个图标的描述)。

我尝试了此处描述的所有图像导入可能性:http://pubhelper.blogspot.com.au/2012/07/astuces-toolbar-icons-et-javascript.html .我只有一种方法(将图标转换为十六进制字符串)。这种方式并不好,因为使用其他工具从图像创建十六进制字符串并将其放入 javascript 代码中的工作量太大。不幸的是,我无法使用其他方法导入图像:(。由于 Adob​​e 中的安全设置在版本 7 之后发生了变化,因此无法在文档级别使用 app.newDoc、app.openDoc、甚至 app.getPath 等功能.我决定使用这样的可信函数在文件夹级别实现导入:

变体 1:

var importImg = app.trustedFunction(function() {
app.beginPriv();
var myDoc = app.newDoc({
nWidth: 20,
nHeight: 20
});

var img = myDoc.importIcon("icon", "/icon.png", 0);
app.endPriv();
return img; });
var oIcon = importImg();

Preferences->JavaScript->JavaScript Security中的设置被禁用(启用菜单项JS执行权限,启用全局对象安全策略)NotAllowedError:安全设置阻止访问此属性或方法。App.newDoc:109:Folder-Level:User:acrobat.js

变体 2:

var importImg = app.trustedFunction(function() {
var appPath = var phPath = app.getPath({
cCategory: "user",
cFolder: "javascript"
});

try {

app.beginPriv();
var doc = app.openDoc({
cPath: phPath + "/icon.png",
bHidden: true
});
app.endPriv();
} catch (e) {
console.println("Could not open icon file: " + e);
return;
}

var oIcon = util.iconStreamFromIcon(doc.getIcon("icon"));
return oIcon;});
var oIcon = importImg();

无法打开图标文件:NotAllowedError:安全设置阻止访问此属性或方法。

至少它允许执行所有这些功能,如 app.newDoc,但在第二个变体中它说,内容范围错误。也许这里是来自虚假图像的 pdf 文件?我只是拍摄了图像并将其打印成 pdf。

我用 .jpg、.png、.pdf 尝试了所有这些可能性。不同尺寸(大图像和 20x20),它不起作用。

有人可以帮助我吗,因为我花了很多时间尝试不同的可能性。在文档级别实现上述主要目标实际上会更好,这可能吗?

谢谢你和亲切的问候,亚历克斯

最佳答案

您是否已在 Acrobat 中完全激活控制台?如果没有,请执行此操作并查找您收到的错误消息。

第一个变体不起作用,因为未定义 myDoc(除非您在调用 importImg 函数之前已定义)。

如果要将图像导入到新创建的文件中,则必须引用使用 newDoc() 创建的文档对象。实际上,这将链接到 myDoc,如

var myDoc = app.newDoc(1,1)

(您确定要创建尺寸为 1x1 pt 的文档吗?)

第一个变体的下一个问题是 Acrobat 中的一个错误,它会在保存文档时丢弃“ float ”图标对象;您必须将图标对象附加到一个字段才能保留它;该字段可以隐藏,甚至可以隐藏在文档中的模板页面上。

关于javascript - 使用 JavaScript 在 Acrobat 中导入图像(首选文档级),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25323427/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com