首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将图形框架与内容InDesign相匹配

将图形框架与内容InDesign相匹配
EN

Stack Overflow用户
提问于 2021-01-13 02:02:09
回答 1查看 691关注 0票数 0

我试图为InDesign创建一个脚本,它强制所有图形框架(矩形)与内容相匹配。我在XML导入和一些图形--尤其是表中--使用XML导入时,使用的是比图形更小的帧。我们不希望图形被裁剪,也不希望它们被缩放到更小的大小,所以我们希望运行一个脚本来查找所有的图形对象,然后强制框架与图形相匹配。我找到了下面的字符串,它应该工作,但我不能让它为我工作。

代码语言:javascript
复制
app.activeDocument.rectangles.everyItem().fit(FitOptions.FRAME_TO_CONTENT);

我用这段代码创建了一个非常简单的函数,但它实际上什么也不做。我肯定我错过了一些显而易见的东西,但我的JavaScript经验非常有限。以下是我的简单功能:

代码语言:javascript
复制
function fitToFrame(){
    app.activeDocument.rectangles.everyItem().fit(FitOptions.FRAME_TO_CONTENT);
}

我也试着把它当作数组来处理,但这也没什么用。

代码语言:javascript
复制
function fitToFrame(){
    var doc=app.activeDocument;
    app.findObjectPreferences = null;
    var obj = new Array(doc.rectangles.everyItem());
    for (var i=0; i<obj.length; i++){
        obj[i].fit(FitOptions.FRAME_TO_CONTENT);
    }
 }

我尝试了一种不同的方法来查找和识别对象,但这仍然不起作用,而且我被困住了。

代码语言:javascript
复制
function fitToFrame(){
    var doc=app.activeDocument;
    app.findObjectPreferences = null;
    var obj = doc.findObject();
    for (var i=0; i<obj.length; i++){
        if (obj[i] instanceof Rectangle){
            obj[i].fit(FitOptions.FRAME_TO_CONTENT);
        }
    }
 }

我遗漏了什么?我很感谢你的建议!

UPDATE我确实发现,当我运行上面列出的最后一个函数时,会发生一些事情,因为它将UI中的撤消菜单更改为“撤销设置的框架匹配选项”,但是文档中没有任何实际更改,所以我仍然被困住了。

EN

回答 1

Stack Overflow用户

发布于 2021-01-16 12:52:40

首先,矩形对象的拟合方法是有效的,我经常使用它。问题是在引用你的矩形时,它必须是代码中我们看不到的东西。尝试将其作为单独的脚本运行:

代码语言:javascript
复制
 var obj = app.activeDocument.rectangles;
    
    for (var i=0; i<obj.length; i++){
        obj[i].fit(FitOptions.FRAME_TO_CONTENT);
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65694672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档