activeDocument.fitArtboardToSelectedArt()
Run Code Online (Sandbox Code Playgroud)
调用此命令时,AI 在 AI 5.1/6 32bit 和 64bit 版本上崩溃。我可以使用菜单中的命令。有没有人遇到过这个?有谁知道解决方法?
完整的代码。
function exportFileToJPEG (dest) {
if ( app.documents.length > 0 ) {
activeDocument.selectObjectsOnActiveArtboard()
activeDocument.fitArtboardToSelectedArt()//crashes here
activeDocument.rearrangeArtboards()
var exportOptions = new ExportOptionsJPEG();
var type = ExportType.JPEG;
var fileSpec = new File(dest);
exportOptions.antiAliasing = true;
exportOptions.qualitySetting = 70;
app.activeDocument.exportFile( fileSpec, type, exportOptions );
}
}
var file_name = 'some eps file.eps'
var eps_file = File(file_name)
var fileRef = eps_file;
if (fileRef != null) {
var optRef = new OpenOptions();
optRef.updateLegacyText = true;
var …Run Code Online (Sandbox Code Playgroud) 使用extendscript,谁能告诉我如何打开一个对话框,单击一个文件夹以突出显示它,然后确定该对话框并将该文件夹的路径作为字符串返回。
非常感谢鲍勃
我正在为 Adobe Illustrator CS6 (javascript) 制作扩展脚本,我需要删除文档的每个剪贴蒙版。
我已经有了一个解决方案,但在大文档中它不够快。
这是我的代码:
var releaseClippingMasks = function(document) {
var pathItems = document.pathItems;
log('Looking for clipping masks among ' + pathItems.length + ' elements');
var n = 0;
for(var p = pathItems.length - 1; p >= 0; p--) {
if(p / 1000 == Math.round(p / 1000)) {
log(p + ' remaining');
}
if(pathItems[p].clipping) { // accessing to the element [p] of pathItems takes a lot of time
pathItems[p].remove();
n++;
}
}
log(n + ' deleted masks'); …Run Code Online (Sandbox Code Playgroud) 我需要从命令行 (Windows) 为 InDesign 执行 .jsx 脚本。
对于 Illustrator,它可以使用以下命令轻松工作:
"C:\Program Files\Adobe\Adobe Illustrator CS6 (64 Bit)\Support Files\Contents\Windows\Illustrator.exe" "...\myscript.jsx"
Run Code Online (Sandbox Code Playgroud)
应用程序 Illustrator 和 ExtendScript Toolkit CS6 都会打开,然后脚本会自动启动。
当我为 InDesign 尝试相同的方法时,它不起作用(InDesign 显示“无法打开 myscript.jsx ...”)。
我还尝试从命令行启动 ExtendScript Toolkit,如下所示:
"C:\Program Files (x86)\Adobe\Adobe Utilities - CS6\ExtendScript Toolkit CS6\ExtendScript Toolkit.exe" "...\myscript.jsx"
Run Code Online (Sandbox Code Playgroud)
结果是 ExtendScript Toolkit 应用程序在加载脚本的情况下打开,但没有执行任何操作。
有谁知道如何启动脚本?是否有要添加的-run或-cmd参数?
我正在使用Adobe CEP(它允许开发人员为 Adobe CC 产品创建窗口扩展)。我的大部分代码是现代 JavaScript(该平台使用 Chromium 57、Node.js 7.7.4)。 但是,为了访问 DOM,我需要在 Adobe ExtendScript 中编写一些函数并从普通 JS 中执行它们。唯一的方法是使用他们提供的csInterface.evalScript(script, callback). script必须是一个字符串,在我的例子中是一个转换为字符串的函数调用。我希望能够通过 将对象传入和传出 ExtendScriptevalScript,但evalScript只接受和返回一个字符串。
目前,我将每个对象属性作为它自己的参数传递。这很笨拙,但它有效。
我的第一个虽然是JSON.stringify(),但不幸的是 ExtendScript 是 ECMAScript 3 的方言,这意味着不JSON.parse()支持.
我不能只是将对象参数连接到脚本函数调用中,因为这样字符串的计算结果为foo([object Object]).
我见过像eval()/uneval()或这样的函数Object.toSource(),但 Chromium 不支持这些函数。
这是一个示例,类似于我当前的方法:
函数.js (ES3/ExtendScript)
function drawCircle(x, y, name) {
// pick a layer
var layer = app.activeDocument.layers[0];
var diameter = 10;
var …Run Code Online (Sandbox Code Playgroud) 萨尔维特!我到处搜索,但不知道如何使用 Extendscript (jsx) 水平翻转单个选定的对象。
有人可以帮忙吗?当然,这并不是一件困难的事!
我有一个脚本,可将 Markdown 文件放入 InDesign 中的文本框架中。不幸的是,InDesign 似乎没有接受 UTF-8 编码,因为引号和其他内容最终都以\xe2\x80\x9a\xc3\x84\xc3\xba.
我尝试根据这个问题file.encoding进行设置,但均无济于事。这是相关的代码:"UTF-8"
var file = File.openDialog ("Select content markdown" , "Markdown:*.md", false );\nfile.encoding = "UTF-8";\nmyFirstTextframe.place(file);\nRun Code Online (Sandbox Code Playgroud)\n\n我该如何解决这个问题?
\njavascript extendscript utf-8 character-encoding adobe-indesign
我正在处理一个需要在服务器上迭代数万个文件名的扩展脚本代码(Adobe After Effects - 但它基本上只是 javascript)。这在扩展脚本中非常慢,但我可以在几秒钟内使用 python 完成我需要的操作,无论如何,python 是我的首选语言。所以我想运行一个python文件并将一个数组返回给extendscript。我可以通过创建和执行批处理文件来运行我的 python 文件并传递一个参数(根文件夹),但是如何将结果(一个数组)传递回扩展脚本?我想我可以写出一个 .csv 并将其读回来,但这似乎有点“hacky”。
我正在尝试使用extendscript(一种专有的ECMAScript方言,但主要是\xe2\x89\x88 javascript)为Adobe After Effects编写脚本。我可以使用内置命令 system.callSystem()来使用默认(?) shell 执行命令,但我找不到 bash oneliner,或者我可以用来列出可用字体的 AppleScript 命令。
有没有办法在 OSX 命令行上获取所有字体?
\n我正在创建一个 InDesign 插件,其中功能之一是在给定页面上绘制形状。
我从后端获取一张绘图,其中包含应绘制该绘图的页码。
为此,我这样做:
app.activeDocument.pages[index]获得我想要的页面。
不幸的是,我意识到这种技术仅在页面不彼此面对时才有效,如下所示:
当页面像这样面对面时:
,第 3 页上的形状将绘制在第 2 页上,而不是第 3 页上。
这里,图纸位于右页:
但在这里,矩形不在正确的页面上:
我还尝试通过执行以原始方式绘制形状app.activeDocument.spreads[indexSpread].pages[1],这应该在逻辑上将注释写在相关板的第二页上,但它始终绘制在板的第一页上。
这是我绘制矩形的代码:
var doc = app.activeDocument;
var page = doc.pages[pageIndex-1];
var myRectangle = page.rectangles.add();
Run Code Online (Sandbox Code Playgroud) extendscript ×10
javascript ×6
adobe ×1
applescript ×1
bash ×1
batch-file ×1
command-line ×1
draw ×1
ecmascript-3 ×1
fonts ×1
macos ×1
optimization ×1
python ×1
transform ×1
utf-8 ×1