问题标签 [extendscript]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1764 浏览

extendscript - 从 HTML 文件或 js 脚本执行 jsx 脚本

通常,当您编写 .jsx 脚本以自动化 Adob​​e 产品(如 InDesign、Illustrator 或 Photoshop)时,您会从 ExtendScript IDE 编写、调试和执行脚本。是否可以绕过 ExtendScript 并从第三个程序运行脚本?

我编写了脚本来自动化一些后效工作。我一直在从 ExtendScript IDE 运行脚本,但是现在我希望用户从 html 表单中提供输入参数,然后当他单击提交按钮时,我想将用户输入传递给 jsx 脚本,然后自动运行脚本。

所以基本上我想从 HTML 或用 html 文件编写的 JavaScript 代码调用 jsx 代码

0 投票
3 回答
4452 浏览

javascript - InDesign CS5 / Extendscript -- exportFile 的参数是什么,它的相关属性是什么?

在线 InDesign 的 Extendscript 文档非常差,否则我无法找到有关该exportFile方法的任何详细/有用的信息……这就是我能找到的全部内容,其中相当混乱:http:    //jongware.mit.edu/ idcs5/pe_ExportFormat.html


我见过的一个常见的这样的陈述exportFile是:

       imgs[i].exportFile(ExportFormat.JPG, img, false).

该语句使用 的JPG属性ExportFormat,正在传递一个文件对象img,并且正在传递参数false

我知道文件对象必须以这种方式实例化:

       var img = new File(folder + "/" + fileName).

...但是WTF是false为了?

此外,似乎ExportFormat对象的不同文件类型属性以不同的方式实例化......例如,我看到一个 PDF 的 ExportFormat 被实例化为ExportFormat.pdfType. 这种变化让我大吃一惊,其他文件类型似乎也有唯一的属性名称。


那么,该exportFile方法的参数究竟是什么,这些参数的所有属性是什么?

0 投票
2 回答
1856 浏览

adobe - InDesign CS5 / 脚本:我可以将 TIFF 和 PNG 图像转换为“黑白”吗?

我有一个脚本,它可以扫描文档中的所有图像类型,将它们全部转换为黑白,然后将黑白图像导出到新文件夹。


似乎 InDesign 将导出这些图像文件格式:(  JPEG, TIFF, and PNG它不导出GIF 文件)。

但是,InDesign 似乎没有 TIFF 和 PNG 文件的ColorSpace.GRAYorColorSpaceEnum.GRAY属性(但它确实具有 JPEG 文件的此属性)。


  • 那么,有没有办法在 InDesign 的 Extendscript 中将 TIFF 和 PNG 文件转换为黑白文件?

  • 如果没有,不为这些文件类型提供黑白转换的原因是什么?



这是我的代码,到目前为止只导出黑白 JPEG 文件:

0 投票
2 回答
1379 浏览

ajax - InDesign CS5 脚本:如何使用 BridgeTalk 从 Photoshop 保存新图像?

该脚本试图:

  • 新建一个文件夹
  • 扫描 InDesign 文档中的所有图像
  • 在 Photoshop 中将所有图像转换为灰度
  • 从 Photoshop 将新的灰度图像保存在新文件夹中

在 Photoshop 中将图像转换为灰度需要使用BridgeTalk对象,这允许 InDesign 和 Photoshop 之间进行通信(BridgeTalk对象的使用似乎是 Ajax 的一种形式)。

到目前为止,我几乎可以正常工作,因为创建了一个新文件夹,并且 InDesign 似乎确实通过BridgeTalk. 但是当打开 Photoshop 时,什么也没有发生——没有新的图像被保存,我不确定灰度转换是否正在发生......

这是我的代码:


这是基于 Kasyan Servetsky 的工作,可在此处找到:   http ://forums.adobe.com/message/3817782

0 投票
2 回答
2606 浏览

error-handling - InDesign CS5 脚本:为什么 `#targetengine` 不能正常工作?

我知道该声明#targetengine "myEngineName"将用于 InDesign 来记住全局变量(在此处找到相关信息:http:   //incom.org/post/89818)。


但是,这仍然不足以记住全局变量,因为它仍然会引发有关全局变量的错误imgs

错误号:30476
错误字符串:“if(imgs[i].itemLink != null)”无法完成,因为对象不再存在。

...或者类似的东西。它不喜欢我的代码中的那一行,并且似乎忘记了全局变量imgs被实例化为什么。


所以我实现了一个try-catch语句,并恢复了变量imgs并减少了catch中的迭代器......虽然这确实解决了问题,但为什么没有#targetengine "myEngineName"像它应该的那样解决问题?

这是我的代码:


这是我能找到的关于这个错误的唯一信息:   http ://forums.adobe.com/thread/748419

编辑——

我很确定这个问题与函数有关replaceWithNewImage,因为这个错误没有没有这个函数就会发生,然后就不需要 try-catch 语句......

0 投票
1 回答
1227 浏览

image-processing - Photoshop / InDesign CS5 Script:图像大小转换错误是使用了太多内存?

我有一个脚本试图:

  • 扫描 InDesign 文档中的所有图像
  • BridgeTalk  通过对象将所有图像发送到 Photoshop  
  • 将所有图像的大小调整为 600px 宽度(在数学上保持纵横比)
  • 将所有图像从 Photoshop 导出到新文件夹

似乎我可能需要以编程方式调整每张图像的 DPI,因为在调整一张图像大小之前 Photoshop 就崩溃了。该错误表明此脚本使临时内存过载,我认为它与图像质量和/或大小有关...这是错误消息:

发生一般 Photoshop 错误。此功能在此版本的 Photoshop 中可能不可用。
第 1 行中的错误:
由于暂存盘已满,无法完成命令。




这是转换图像大小的相关代码:


注意  ——我对该语句的使用  app.purge(PurgeTarget.ALLCACHES)  似乎没有太大影响,因为错误仍在发生......

0 投票
1 回答
1361 浏览

adobe-illustrator - Adobe Illustrator - 尝试适应画板命令时脚本崩溃

调用此命令时,AI 在 AI 5.1/6 32bit 和 64bit 版本上崩溃。我可以使用菜单中的命令。有没有人遇到过这个?有人知道解决方法吗?

完整的代码。

0 投票
1 回答
488 浏览

directory - InDesign CS5 脚本:如何显示目录?



我有一个脚本:

  • 创建一个新文件夹
  • 扫描 InDesign 文档中的图像
  • 格式化图像并将它们复制到新文件夹


当脚本完成所有这些操作后,我希望它能够关注新文件夹目录(在 Windows 中)。

截至目前,我在警报窗口中显示文件夹路径,但我宁愿它打开目录(如果还没有的话),以便用户可以看到新文件。


我希望我可以调用其中之一:

  • myNewFolder.bringToFront() :仅适用于程序重点,即-                                                             BridgeTalk.bringToFront("photoshop")
  • myNewFolder.open() : 似乎只适用于文件 I/O 操作
  • myNewFolder.show() : 似乎只适用于  Window  对象

...但这些都不起作用。



编辑:   new ActiveXObject("Scripting.FileSystemObject")  也不起作用...

0 投票
1 回答
1170 浏览

error-handling - 如何关闭隐藏的 InDesign 文档?

在编写 InDesign 脚本时,我有很多实例创建了一个隐藏的新文档,直到我执行所有操作,然后我使用 myDocument.windows.add(); 让它显示出来。但是,我也有很多在最后一步之前遇到错误的情况,因此文档没有实现。我能够让它们关闭的唯一方法是完全关闭 InDesign。虽然这可行,但我认为必须有更好的方法。

有没有办法在 IDE 中或通过脚本来查看打开和/或关闭所有隐藏进程的内容?

干杯,布伦丹

0 投票
1 回答
1408 浏览

error-handling - InDesign CS5 脚本:打开文档没有响应,并且没有抛出错误?



我正在使用该方法  myFile.execute()  以编程方式打开一个 InDesign 文档(在这种情况下,它是一个应用了样式的空白文档)。


有时会打开文档,有时则不会打开文件……似乎脚本在完成之前没有足够的时间打开文件。


这发生在我身上,因为在使用它进行测试  alert(template.name)  时确实显示了我正在寻找的文件名,并且脚本在应用时不会引发错误  File(template).execute()  (变量  template  本身已经是一个  File  对象,但也根本  template.execute()  不起作用)。


以下是相关代码:


那么,脚本可能没有足够的时间来加载文档吗?如果是这样,我应该在调用此函数之前创建一个计时器吗?或者有没有更好的方式以编程方式打开 InDesign 文档?