限制Indesign项目出口仅为图像



我使用以下脚本将indesign文档中的所有项目/每页导出为jpg。该脚本还将所有项裁剪为indesign中容器指定的大小。

我想限制这个脚本只导出所有"放置的图像",因为我只需要图像。现在我还能看到所有的矩形对象比如文本框等等

#target InDesign 
//set properties for export to your needs
 with(app.jpegExportPreferences){ 
    antiAlias = true; 
embedColorProfile = false; 
exportResolution = 300; 
jpegColorSpace = JpegColorSpaceEnum.RGB; //JpegColorSpaceEnum.CMYK, JpegColorSpaceEnum.GRAY     r/w    One of RGB, CMYK or Gray 
jpegQuality = JPEGOptionsQuality.HIGH; //JPEGOptionsQuality.LOW, JPEGOptionsQuality.MEDIUM, JPEGOptionsQuality.HIGH, JPEGOptionsQuality.MAXIMUM     r/w    The compression quality. 
jpegRenderingStyle = JPEGOptionsFormat.BASELINE_ENCODING; // JPEGOptionsFormat.PROGRESSIVE_ENCODING     r/w    The rendering style. 
simulateOverprint = true; 
} 
 //doc has to be saved once
var theDoc = app.activeDocument; 
var docName = theDoc.name; 
var docShortName = docName.replace(/.indd/, '') 
var docPath = '' + theDoc.fullName; 
var docContainerPath = docPath.replace(docName, '') 
var destPath = docContainerPath + '/' + docShortName + '_jpgExport/' 
if(Folder(destPath).create() != true){alert('Could not create targetfolder.'); exit();} 
var pageItems = theDoc.pageItems.everyItem().getElements(); 
l = pageItems.length; 
counter = 0;
for(var i = 0; i < l; i++){
    counter = counter + 1;
    var singlePageItem = pageItems[i];
    currParentPage = singlePageItem.parentPage;
if(currParentPage == null){parentPageNumber = 'pasteboard'}else{parentPageNumber = singlePageItem.parentPage.name; }
newFile =new File(destPath + 'page_' +  parentPageNumber + '_' + 'item_' + counter + '.jpg'); 
if(singlePageItem.exportFile(ExportFormat.JPG,  newFile) === false){alert(newFile + ' could not write jpg-File.')}  
        }

如果我理解正确的话,代替:

var pageItems = theDoc.pageItems.everyItem().getElements();

你可以使用:

var pageItems = theDoc.allGraphics;

会抓取所有的graphic元素,而不是每个pageItem。你是这么想的吗?

编辑:为了导出它们,您可能需要抓取每个graphic元素的parent元素。

最新更新