【译】ADOBE ILLUSTRATOR CC 2017 SCRIPTING REFERENCE: JAVASCRIPT(一)

551 阅读5分钟

javaScript 对象引用

本节介绍类型库中的所有对象类。每个类清单包括以下内容:

  • 类的属性,包括值类型、只读状态和说明。
  • 类的方法。方法所需的常量和值类型以粗体显示。所需条件以普通显示。所有用括号[]包围的项目都是可选的。
  • 解释特殊问题的注意事项。
  • 有助于说明对象类的语法和典型工作流用法的示例代码. 这些示例旨在明确的演示语法,并且不显示构建 JavaScript 脚本的最佳或最有效的方法。例如,错误检查通常很短或没有。但是,可以组合和扩展这些示例,让脚本具有更大的功能.

请注意,本文没有完全按照原文的样式。另外能力有限,部分无法确认翻译使用斜体标注出来。

Application(应用)

Adobe® Illustrator® 应用程序对象,使用预先定义的全局对象引用,该对象包含所有其他Illustrator对象。

Application.properties(Application的属性)

属性 值类型 说明 只读
activeDocument Document Illustrator中的活动(最前面)文档。 -
browserAvailable boolean 如果为 true,则 Web 浏览器可用。 ✔️
buildNumber string 应用程序的内部版本号。 ✔️
colorSettingsList object 当前可以使用的颜色设置文件的列表。 ✔️
coordinateSystem CoordinateSystem 当前使用的坐标系、文档或画板。 -
defaultColorSettings File 当前应用程序设置的默认颜色设置文件。 ✔️
documents Documents 应用程序中的文档。 ✔️
flattenerPresetList object 当前可以使用的flattener(拼合器)样式名称的列表。 ✔️
freeMemory number (long) Illustrator分区中未使用的内存(以字节为单位)。 ✔️
locale string 应用程序的区域。 ✔️
name string 应用程序的名称(与应用程序文件的文件名无关)。 ✔️
pasteRememberLayers boolean 如果为 true,则粘贴操作将维持图层结构。 ✔️
path File 应用程序的文件路径。 ✔️
PDFPresetsList object 可用的预设 PDF 选项名称的列表。 ✔️
PPDFileList object 当前可以使用的 PPD 文件的列表。 ✔️
preferences Preferences Illustrator的首选项设置。 -
printerList array of Printer 已安装的打印机列表。 ✔️
printPresetsList object 可用的预设打印选项名称的列表。 ✔️
scriptingVersion object 脚本插件的版本号。 ✔️
selection array of objects 活动(最前面)文档中当前选择的所有对象。 -
startupPresetsList object 可用于创建新文档的预设列表。 ✔️
textFonts TextFonts 已安装的字体。 ✔️
tracingPresetList array of string 可用的预设跟踪选项名称的列表。 ✔️
typename string 引用对象的类名称。 ✔️
userInteractionLevel UserInteractionLevel 处理脚本命令时应允许与用户进行何种级别的交互。 -
version string 应用程序的版本。 ✔️
visible boolean 如果为 true,则应用程序可见。 ✔️

Application.methods(Application的方法)

方法 参数类型 返回 说明
deep() - 无返回 通知用户。
concatenateMatrix(matrix,secondMatrix) Matrix,Matrix Matrix 合并矩形。
concatenateRotationMatrix(matrix,angle) Matrix,number(double) Matrix 旋转矩形。
concatenateScaleMatrix(matrix,(matrix [,scaleX] [,scaleY])) Matrix,number(double),number(double) Matrix 缩放矩形。
concatenateTranslationMatrix(matrix,(matrix [,deltaX] [,deltaY])) Matrix,number(double),number(double) Matrix 变换矩形。
convertSampleColor(sourceColorSpace, sourceColor, destColorSpace, colorConvertPurpose [,sourceHasAlpha] [,destHasAlpha]) ImageColorSpace ColorComponents ImageColorSpace ColorConvertPurpose boolean boolean array of ColorComponents 将样本组件颜色从一个颜色空间转换为另一个颜色空间。
copy() - 无返回 将当前选中的复制到剪贴板。
cut() - 无返回 将当前选中的剪切到剪贴板。
deleteWorkspace([workspaceName]) [string] Booleam 删除现有或指定的工作区。
getIdentityMatrix() - Matrix 返回标识矩形
getIsFileOpen(filePath) string Booleam 返回指定的文件路径是否已打开。
getPPDFileInfo(name) string Booleam 获取指定 PPD 文件的详细文件信息。
getPresetFileOfType(presetType) DocumentPresetType File 为指定的预设返回应用程序默认文档配置文件的完整路径。
getPresetSettings(preset) string DocumentPreset 使用指定预设名称从模板中检索跟踪选项设置。
getRotationMatrix([angle]) number (double) Matrix 返回包含单个旋转的转换矩形。

注:需要以度表示的值。例如,30 逆时针方向旋转对象30度;-30将对象顺时针旋转 30 度。
getScaleMatrix([scaleX][, scaleY]) number (double) number (double) Matrix 返回包含单个比例的转换矩形。

注:需要一个百分比值。例如,60 将对象缩放为其原始大小的 60%;将对象缩放到其原始大小的 60%。200则 使对象翻倍增大。
getScriptableHelpGroup() - variant 获取在应用栏中表示搜索小部件的可编写脚本的帮助组对象。
getTranslationMatrix([deltaX] [, deltaY]) number (double) number (double) Matrix 返回包含单个转换的转换矩形。

注: 需要以点表示的值。例如,({100,200} 将对象向右移动 100 pt.,向上移动 200 pt;每个数字前后移动对象之前减去一个负值。
invertMatrix(matrix) Matrix Matrix 翻转矩形
isEqualMatrix(matrix,secondMatrix) Matrix Matrix boolean 检查两个矩形是否相等。
isSingularMatrix(matrix) Matrix Boolean 检查矩形是否为单数且不能反转。
loadColorSettings(fileSpec) File 无返回 从指定文件加载颜色设置,如果文件为空,则关闭颜色管理。
open(fileSpec[,documentColorSpace][,options]) File DocumentColorSpace anything Document 打开指定文件。

如果打开包含 RGB 和 CMYK 颜色的Illustrator 9 文档,则提供文档的ColorSpace,所有颜色都将转换为指定的颜色空间。如果参数未提供,插图打开一个对话框,以便用户可以选择颜色空间。
paste() - 无返回 将当前剪贴板内容粘贴到当前文档中。
quit() - 无返回 退出Illustrator。请注意,如果剪贴板包含数据,Illustrator 可能会显示一个对话框,提示用户为其他应用程序保存数据。
redo() - 无返回 重做最近的操作。
redraw() - 无返回 强制Illustrator重绘所有窗口。
resetWorkspace() - Boolean 重置当前工作区。
saveWorkspace(workspaceName) string Boolean 保存新的工作区。
sendScriptMessage(pluginName, messageSelector, inputString) string string string string 将插件定义的命令消息发送到具有给定输入参数的插件,并返回插件定义的结果字符串。
showPresets(file) File PrintPresetList 从文件中获取预设。
switchWorkspace(workspaceName) string Boolean 切换到指定的工作区。
translatePlaceholderText(text) string string 将占位符文本转换为常规文本(一种在十六进制值中输入 Unicode 点的方法)。
undo() - 无返回 撤销。

实例代码

复制活动的文档

// 将活动文档中的任何选定项目复制到新文档中。
var newItem;
var docSelected = app.activeDocument.selection;

if ( docSelected.length > 0 ) {
    // 创建新文档并将所选项目移动到该文档
    var newDoc = app.documents.add();
    if ( docSelected.length > 0 ) {
        for ( i = 0; i < docSelected.length; i++ ) { 
        docSelected[i].selected = false;
        newItem = docSelected[i].duplicate(newDoc, ElementPlacement.PLACEATEND);
        }
    } else {
        docSelected.selected = false;
        newItem = docSelected.parent.duplicate(newDoc,ElementPlacement.PLACEATEND);
    }
}
else {
    alert( "Please select one or more art objects" );
}