保存后关闭所有打开的文档
close all open documents after saving
我让脚本部分工作。它将所有打开的psd以jpg格式保存到一个单独的目录中,并关闭一些打开的文件,而不是全部。该目录有五个文件。该脚本只保存三个文件,我做错了什么?
#target photoshop
if (app.documents.length > 0) {
//flatten the active document
app.activeDocument.flatten();
//jpeg options
var myJPEGOptions = new JPEGSaveOptions();
myJPEGOptions.embedColorProfile = true;
myJPEGOptions.formatOptions = FormatOptions.STANDARDBASELINE;
myJPEGOptions.matte = MatteType.WHITE;
myJPEGOptions.quality = 12;
myJPEGOptions.scans = 3;
// get documents;
var docs = app.documents;
for (var m = 0; m < app.documents.length; m++) {
app.activeDocument = docs[m];
try {
//save file to folder
var myFile = new File(("~/Desktop/forum-test") + "/" + activeDocument.name);
app.activeDocument.saveAs(myFile, myJPEGOptions, true);
//close the document
activeDocument.close(SaveOptions.DONOTSAVECHANGES);
}
catch (e) {
alert ("Error the script did not execute");
}
}
}
app.documents
集合是动态的,因此当您关闭文档时,该集合会相应地更改。
因为在for循环中关闭文档,将递增索引与app.documents.length
进行比较,所以不会处理所有文件(因为每次处理循环时app.documents.length
都会减少一个)。
尝试while循环:
while (app.documents.length){
// Save and close the active document here.
}
我认为这两行是错误的:
//save file to folder
var myFile = new File(("~/Desktop/forum-test") + "/" + activeDocument.name);
和
//close the document
activeDocument.close(SaveOptions.DONOTSAVECHANGES);
你不应该用app.activeDocument
而不是activeDocument
吗?什么是activeDocument
?
相关文章:
- 如何在外部文档中使用javascript将文本区域的内容保存为变量
- 谷歌文档如何拦截Ctrl-S/Command-S来保存文档而不是html页面
- RichEditor Onlyoffice编辑和保存文档
- 保存后访问子文档 ID - 猫鼬
- 使用mongoose保存多个文档时的错误处理
- 编辑以前保存的文档也会更新数据库中的文档
- JavaScript-使用sessionStorage保存文档之间共享的复选框状态
- firefox扩展可以修改HTML文档的DOM,然后保存为HTML
- 将多个文档中的字段保存到对象
- 如何使用撤消管理器确定文档是否有未保存的更改
- 从OpenShift Mongodb保存文档
- AppleScript 从网页特定部分的 URL 保存文档
- Photoshop Javascript 脚本保存和关闭文档
- 在Javascript(Angular)中读取,更改和保存文档
- 我的文档何时使用猫鼬保存功能保存
- JavaScript:使用网站的 HTML 文档保存/加载 Cookie
- 在带有猫鼬的 mongodb 中加载和保存文档
- 为什么猫鼬会多次保存同一个文档
- Passport没有't将子文档保存到req.user
- PDFkit js如何将文档保存到文件(Win 8应用程序)