Scripting 是否在InDesign中将所有图像作为单个JPEG进行批量导出?

Scripting 是否在InDesign中将所有图像作为单个JPEG进行批量导出?,scripting,batch-processing,adobe-indesign,Scripting,Batch Processing,Adobe Indesign,我是个新手。我有一个包含带有Photoshop剪辑路径的图像的文件。我想导出文件夹中的所有剪辑图像。我尝试了“复制链接到”,它成功地导出了原始图像。但是,我不想要原始图像,而是剪辑图像。是否有一种方法可以将所有剪辑的图像导出为JPEG格式而不是原始链接图像?简而言之,我想导出没有背景的图像。我希望我说的有道理。我有大约800-1000张图像,因此我们非常希望采用批处理方法 我在这里的一篇文章中找到了这个脚本,并对它进行了一些修改以满足我的需要。它似乎在我的大部分INDD文档中都有效,但在其他文档

我是个新手。我有一个包含带有Photoshop剪辑路径的图像的文件。我想导出文件夹中的所有剪辑图像。我尝试了“复制链接到”,它成功地导出了原始图像。但是,我不想要原始图像,而是剪辑图像。是否有一种方法可以将所有剪辑的图像导出为JPEG格式而不是原始链接图像?简而言之,我想导出没有背景的图像。我希望我说的有道理。我有大约800-1000张图像,因此我们非常希望采用批处理方法

我在这里的一篇文章中找到了这个脚本,并对它进行了一些修改以满足我的需要。它似乎在我的大部分INDD文档中都有效,但在其他文档中失败。我想知道为什么。我有时会收到这样的错误消息 错误字符串:null不是对象 来源:fileName=文件(rect.graphics[0].itemLink.filePath).name

我还注意到它跳过了一些对象,不会下载所有的图像。我猜它跳过了那些不是矩形的

test();
function test()
{
var myDoc = app.activeDocument,
apis = myDoc.allPageItems, rect, fileName;

while ( rect = apis.pop() )
{
if ( !(rect instanceof Rectangle) || !rect.graphics[0].isValid ){ continue;}


fileName = File ( rect.graphics[0].itemLink.filePath ).name;
fileName = fileName.replace( /\.[a-z]{2,4}$/i, '.jpg' );


app.jpegExportPreferences.exportResolution = 2400;
app.jpegExportPreferences.jpegQuality = JPEGOptionsQuality.MAXIMUM;


//give it a unique name
var myFile = new File ("C:/Users/RANFacistol-Mata/Desktop/Image Trial/"+ fileName);


rect.exportFile(ExportFormat.JPG, myFile);
}
}
有没有一种方法可以让我修改这个脚本,这样我就不用遍历所有的矩形,而是遍历所有的对象,就像单击下一步按钮一样

然后检查该对象是否包含图像(jpg、tiff、psd、ai、eps)。如果是,那么我将按照上面的脚本导出它


谢谢你的帮助

您可以使用下面的代码段遍历文档中的链接,这将比上面的代码段花费更少的时间。。。 您还可以获取每个链接对象具有linkType属性的链接类型('eps'或'pdf'等),以及具有'filePath'属性的filePath

var theDoc = app.documents.item(0);
var theLinkLen = theDoc.links.length; 
for(var i = 0; i < theLinkLen; ++i)
{
  var link = theDoc.links.item(i);
  alert("link name \"" + link.name + "\"" + " has type \"" + link.linkType  + "\""+ " with filePath \"" + link.filePath + "\"");
}   
var theDoc=app.documents.item(0);
var theLinkLen=doc.links.length;
对于(变量i=0;i