问题标签 [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.
extendscript - 从 HTML 文件或 js 脚本执行 jsx 脚本
通常,当您编写 .jsx 脚本以自动化 Adobe 产品(如 InDesign、Illustrator 或 Photoshop)时,您会从 ExtendScript IDE 编写、调试和执行脚本。是否可以绕过 ExtendScript 并从第三个程序运行脚本?
我编写了脚本来自动化一些后效工作。我一直在从 ExtendScript IDE 运行脚本,但是现在我希望用户从 html 表单中提供输入参数,然后当他单击提交按钮时,我想将用户输入传递给 jsx 脚本,然后自动运行脚本。
所以基本上我想从 HTML 或用 html 文件编写的 JavaScript 代码调用 jsx 代码
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
方法的参数究竟是什么,这些参数的所有属性是什么?
adobe - InDesign CS5 / 脚本:我可以将 TIFF 和 PNG 图像转换为“黑白”吗?
我有一个脚本,它可以扫描文档中的所有图像类型,将它们全部转换为黑白,然后将黑白图像导出到新文件夹。
似乎 InDesign 将导出这些图像文件格式:(
JPEG, TIFF, and PNG
它不导出GIF 文件)。
但是,InDesign 似乎没有 TIFF 和 PNG 文件的
ColorSpace.GRAY
orColorSpaceEnum.GRAY
属性(但它确实具有 JPEG 文件的此属性)。
那么,有没有办法在 InDesign 的 Extendscript 中将 TIFF 和 PNG 文件转换为黑白文件?
如果没有,不为这些文件类型提供黑白转换的原因是什么?
这是我的代码,到目前为止只导出黑白 JPEG 文件:
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
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 语句......
image-processing - Photoshop / InDesign CS5 Script:图像大小转换错误是使用了太多内存?
我有一个脚本试图:
- 扫描 InDesign 文档中的所有图像
BridgeTalk
通过对象将所有图像发送到 Photoshop- 将所有图像的大小调整为 600px 宽度(在数学上保持纵横比)
- 将所有图像从 Photoshop 导出到新文件夹
似乎我可能需要以编程方式调整每张图像的 DPI,因为在调整一张图像大小之前 Photoshop 就崩溃了。该错误表明此脚本使临时内存过载,我认为它与图像质量和/或大小有关...这是错误消息:
发生一般 Photoshop 错误。此功能在此版本的 Photoshop 中可能不可用。
第 1 行中的错误:
由于暂存盘已满,无法完成命令。
这是转换图像大小的相关代码:
注意 ——我对该语句的使用 app.purge(PurgeTarget.ALLCACHES)
似乎没有太大影响,因为错误仍在发生......
adobe-illustrator - Adobe Illustrator - 尝试适应画板命令时脚本崩溃
调用此命令时,AI 在 AI 5.1/6 32bit 和 64bit 版本上崩溃。我可以使用菜单中的命令。有没有人遇到过这个?有人知道解决方法吗?
完整的代码。
directory - InDesign CS5 脚本:如何显示目录?
我有一个脚本:
- 创建一个新文件夹
- 扫描 InDesign 文档中的图像
- 格式化图像并将它们复制到新文件夹
当脚本完成所有这些操作后,我希望它能够关注新文件夹目录(在 Windows 中)。
截至目前,我在警报窗口中显示文件夹路径,但我宁愿它打开目录(如果还没有的话),以便用户可以看到新文件。
我希望我可以调用其中之一:
myNewFolder.bringToFront()
:仅适用于程序重点,即-BridgeTalk.bringToFront("photoshop")
myNewFolder.open()
: 似乎只适用于文件 I/O 操作myNewFolder.show()
: 似乎只适用于Window
对象
...但这些都不起作用。
编辑:
new ActiveXObject("Scripting.FileSystemObject")
也不起作用...
error-handling - 如何关闭隐藏的 InDesign 文档?
在编写 InDesign 脚本时,我有很多实例创建了一个隐藏的新文档,直到我执行所有操作,然后我使用 myDocument.windows.add(); 让它显示出来。但是,我也有很多在最后一步之前遇到错误的情况,因此文档没有实现。我能够让它们关闭的唯一方法是完全关闭 InDesign。虽然这可行,但我认为必须有更好的方法。
有没有办法在 IDE 中或通过脚本来查看打开和/或关闭所有隐藏进程的内容?
干杯,布伦丹
error-handling - InDesign CS5 脚本:打开文档没有响应,并且没有抛出错误?
我正在使用该方法 myFile.execute()
以编程方式打开一个 InDesign 文档(在这种情况下,它是一个应用了样式的空白文档)。
有时会打开文档,有时则不会打开文件……似乎脚本在完成之前没有足够的时间打开文件。
这发生在我身上,因为在使用它进行测试
alert(template.name)
时确实显示了我正在寻找的文件名,并且脚本在应用时不会引发错误 File(template).execute()
(变量 template
本身已经是一个 File
对象,但也根本 template.execute()
不起作用)。
以下是相关代码:
那么,脚本可能没有足够的时间来加载文档吗?如果是这样,我应该在调用此函数之前创建一个计时器吗?或者有没有更好的方式以编程方式打开 InDesign 文档?