标签: extendscript

Adobe InDesign .jsx脚本执行.jsx脚本

完成执行另一个.jsx脚本后如何获得我的.jsx脚本?

也许这有助于理解我想要做的事情:

// WebCard.jsx file

function mySnippet(){
    //<fragment>
    var myPageName, myFilePath, myFile;
    var myDocument = app.documents.item(0);
    var myBaseName = myDocument.name;
    for(var myCounter = 0; myCounter < myDocument.pages.length; myCounter++){
        myPageName = myDocument.pages.item(myCounter).name;
        app.jpegExportPreferences.jpegExportRange = ExportRangeOrAllPages.exportRange;
        app.jpegExportPreferences.resolution = 96;
       app.jpegExportPreferences.pageString = myPageName;  

          switch(myPageName) {
        case "1" : myPageName = "EN FRONT WebCard";
            docType = "Web/Web Cards" break;
        case "2" : myPageName = "EN BACK WebCard";
            docType = "Web/Web Cards" break;
        case "3" : myPageName = "ES FRONT WebCard";
            docType = "Web/Web Cards" …
Run Code Online (Sandbox Code Playgroud)

adobe extendscript adobe-indesign

5
推荐指数
2
解决办法
5623
查看次数

如何更改文件打开对话框的默认路径?

我正在编写一个脚本,允许我在InDesign CS3中进行一些基本拼版,我的任务之一是打开一个对话框,允许用户选择要放置的文件.我目前正在这样做:

var file = File.openDialog("Choose a File:");
Run Code Online (Sandbox Code Playgroud)

问题似乎是通过快捷方式导航到网络驱动器时.出于某种原因,对话框将其视为文件,并从对话框返回该路径,而不是导航到文件夹位置.我假设这只是对话框中的一个错误,我最初的想法是检查返回的文件是否有正确的扩展名,如果没有,再次显示对话框,打开到返回的路径位置.但是,我似乎无法找到一种方法来改变它默认打开的位置; openDlg()只有为参数String prompt,var filterboolean multiselect.我不熟悉Javascript,所以我不知道这是一般的解决方案,还是InDesign特有的.

编辑:如果有人感兴趣,这是我用来解决问题的最终代码:

var path = new File("~/desktop");
var file = path.openDlg("Choose File:");
while (file.alias) {
    file = file.resolve().openDlg("Choose File:");
}
Run Code Online (Sandbox Code Playgroud)

基本上,检查它是否是快捷方式(别名),如果是,则解析目标并再次显示对话框.有点像一种hackish方式,但它的工作正常.可能也希望在那里添加一些空值处理,但是,如果取消对话框,则返回null.

javascript scripting extendscript shortcut adobe-indesign

5
推荐指数
1
解决办法
1万
查看次数

ExtendScript(JSX)文件的声纳分析

我有一个扩展名为.jsx的文件列表,需要使用Sonar进行分析.Sonarqube没有可用的插件.可以对现有的JavaScript Sonar插件进行任何操作来分析.jsx文件.

任何人?

javascript extendscript jsx sonarqube

5
推荐指数
1
解决办法
830
查看次数

如何在Indesign脚本中使用像Array.reduce()这样的高阶函数?

我已经开始了一个项目,我需要使用Adobe Indesign和ExtendScript以编程方式从一系列INDD文件中提取一些数据.的Javascript用于这些程序的脚本的版本不支持任何的,我已经习惯了高阶函数使用(Array.reduce(),Array.forEach(),Array.map(),等...).

有没有办法将此功能添加到ExtendScript?我觉得我在一个四英尺高的天花板的房间里走来走去.

javascript arrays extendscript adobe-indesign

5
推荐指数
1
解决办法
530
查看次数

如何使用以像素为单位获取所选Illustrator PathItem的位置?

我有一个简单的问题,但似乎无法找到解决方法:我有PathItem和Illustrator指出它位于(781px,250px).

如何在jsx中获取这些值?

我已经注意到,PathItem继承position属性PageItem和位置是一个,但是当我尝试打印的价值观,我得到未定义:

$.writeln(app.activeDocument.selection[0].position.x);
Run Code Online (Sandbox Code Playgroud)

如果我从上面的行中省略.x,我会在控制台中打印出来:

521,510
Run Code Online (Sandbox Code Playgroud)

这些价值观是什么?它们是x,y坐标吗?在什么单位?如何转换为像素?

为什么我无法访问x,y/top,left属性?

我正在使用Illustrator CS5.

extendscript adobe-illustrator

4
推荐指数
1
解决办法
6610
查看次数

如何调试严重依赖现有Illustrator文档的脚本?

我正在使用Adobe Illustrator CS5和ExtendScript Toolkit CS5.

我有一个非常复杂的脚本和alert()不再工作,因为东西在循环中.如何模拟我使用特定Illustrator文档的事实,以便我可以使用ExtendScript Toolkit的调试功能?

我希望它与在Illustrator文档中并且使用"File-> Scripts-> Scriptname"相同.如果我只是在ExtendScript中测试脚本,我会收到错误

if (app.documents.length > 0) {
Run Code Online (Sandbox Code Playgroud)

谢谢!

extendscript adobe-illustrator

4
推荐指数
1
解决办法
959
查看次数

Adobe .jsx脚本可以包含其他脚本文件吗?

我们正在写一堆.jsx脚本,每一个我都要模拟一些函数,所以我可以使用像Array.map()和String.trim()这样的东西,但我不想要包含那些代码在每个脚本的顶部.

有没有办法在.jsx脚本文件中"包含"其他.jsx脚本?

scripting adobe extendscript adobe-illustrator

4
推荐指数
2
解决办法
4276
查看次数

如何使用ExtendScript创建文件夹?

似乎是一个很容易解决的问题,但是我已经用了近一个小时的时间来对付它.我只需要一段javascript/extendscript代码,以便我的InDesign CS6脚本可以创建一个文件夹.我知道应该在其中创建新文件夹的现有文件夹,并且我知道应该调用此新文件夹的名称.但是如何让javascript 来做呢?

顺便说一下,所有在线搜索"JavaScript工具指南"中的folderObj.create()方法都没有用.我已尝试过该方法的几种变体,但似乎没有任何实际创建文件夹.我错过了什么?

javascript directory extendscript create-directory adobe-indesign

4
推荐指数
2
解决办法
1万
查看次数

如何循环After Effects项目中的所有合成?

如何循环播放当前打开的After Effects项目中的所有合成?

after-effects extendscript

4
推荐指数
1
解决办法
2373
查看次数

扩展脚本:获取项目的文件路径

我正在尝试获取我的 After Effects 项目(不是 Jsx)的当前文件路径

  var path=app.project['file'];
Run Code Online (Sandbox Code Playgroud)

这个变量“路径”给了我一个当前的文件对象名称,但它是一个文件对象而不是一个字符串。我需要将警报作为字符串。或者有没有更好的方法将路径作为字符串?

在此处输入图片说明

javascript directory after-effects path extendscript

4
推荐指数
1
解决办法
3091
查看次数