Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript InDesign脚本,在word导入后调整图像大小_Javascript_Adobe Indesign - Fatal编程技术网

Javascript InDesign脚本,在word导入后调整图像大小

Javascript InDesign脚本,在word导入后调整图像大小,javascript,adobe-indesign,Javascript,Adobe Indesign,有时我们在word文件中有大图像,在InDesign中导入此word文件后,图像进入溢出文本中,文本流在此停止 我们无法调整这些图像的大小,或者无法获取此图像以应用任何脚本逻辑 基本上,我将搜索figure parastyle,然后检查段落内的矩形,并调整逻辑大小。这里是jsx代码示例: app.findTextPreferences.appliedParagraphStyle= 'figure'; var founds = app.findText(); // find 92% text w

有时我们在word文件中有大图像,在InDesign中导入此word文件后,图像进入溢出文本中,文本流在此停止

我们无法调整这些图像的大小,或者无法获取此图像以应用任何脚本逻辑

基本上,我将搜索figure parastyle,然后检查段落内的矩形,并调整逻辑大小。这里是jsx代码示例:

app.findTextPreferences.appliedParagraphStyle= 'figure';
var founds = app.findText();

// find 92% text width area
var pageWidth = this.props.textAreaWidth * 92 /100;
for(var i=0, len=founds.length; i<len; i++){
    // find the rectangles inside the para
    var rect = founds[i].rectangles;
    if(rect.length == 0) continue;
    var vb = rect[0].visibleBounds;
    var imgWidth = vb[3] - vb[1];
    // image resize logic
    if(imgWidth > pageWidth){
        vb[3] = pageWidth;
        rect[0].visibleBounds = vb;
        rect[0].fit(FitOptions.PROPORTIONALLY);
        rect[0].fit(FitOptions.FRAME_TO_CONTENT);
    }
app.findTextPreferences.appliedParagraphStyle='figure';
var founds=app.findText();
//查找92%文本宽度区域
var pageWidth=this.props.textAreaWidth*92/100;
for(变量i=0,len=founds.length;i页面宽度){
vb[3]=页面宽度;
rect[0]。visibleBounds=vb;
rect[0]。拟合(按比例拟合选项);
rect[0].fit(FitOptions.FRAME\u到\u内容);
}
如何对溢出文本中的图像应用一些逻辑?如何调整溢出文本中的图像大小

我们可以将下面的word文件导入任何InDesign模板


您可以遍历所有图形并调整大图形的大小

var images = app.activeDocument.allGraphics;

var max   = {};
    max.w = 100; // max width
    max.h = 100; // max height

for (var i=0; i<images.length; i++) {

    var gb     = images[i].geometricBounds;
    var size   = {};
        size.w = -gb[1] + gb[3];
        size.h = -gb[0] + gb[2];

    if (size.w > max.w || size.h > max.h) {
        var scale = (size.w > size.h) ? max.w/size.w : max.h/size.h;
        images[i].horizontalScale *= scale;
        images[i].verticalScale   *= scale;
        images[i].parent.fit(FitOptions.FRAME_TO_CONTENT);
    }
}
var images=app.activeDocument.allGraphics;
var max={};
最大w=100;//最大宽幅
最大h=100;//最大高度
对于(变量i=0;i max.w | | size.h>max.h){
var scale=(size.w>size.h)?max.w/size.w:max.h/size.h;
图像[i]。水平比例*=比例;
图像[i]。垂直比例*=比例;
图片[i].parent.fit(FitOptions.FRAME\u TO\u CONTENT);
}
}