javascript - Indesign CS6 脚本 - 导出图像

标签 javascript export adobe-indesign

我无法在 indesign cs6 中编写 js 脚本来导出我的格式化图像。下面的代码(在本网站上找到并稍作修改)仅打开文档。

理想情况下,脚本会遍历我文档中所有格式化/裁剪的图像,并将它们导出到桌面上的新文件夹中,但使用原始文件名。

任何帮助将不胜感激:

test();
function test(){

var myDoc = app.open('/Users/StudioA/Desktop/file.indd'); 
var myGroups = myDoc.groups;

//for each group...
for (var i = 0;i < myGroups.length; i++){
    // for each rectangle in the group...
    for(var r = 0; r< myGroups[i].rectangles.length; r++){

         var myRect = myGroups[i].rectangles[r];
           app.jpegExportPreferences.exportResolution = 300;
           app.jpegExportPreferences.jpegQuality = JPEGOptionsQuality.MAXIMUM;

           //give it a unique name
           var myFile = new File('/Users/StudioA/Desktop/Export/' + myRect.name + '.jpg');

           myRect.exportFile(ExportFormat.JPG, myFile);

           }
       }

 }

最佳答案

文件名不在矩形上,而是在与放置图形相关的链接上。 给定一个打开的文档,这应该做你想做的:

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 = 300;
        app.jpegExportPreferences.jpegQuality = JPEGOptionsQuality.MAXIMUM;

        //give it a unique name
        var myFile = new File (Folder.desktop+"/"+ fileName);

        rect.exportFile(ExportFormat.JPG, myFile);
    }
}

关于javascript - Indesign CS6 脚本 - 导出图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10983501/

相关文章:

javascript - js 未捕获引用错误

javascript - 如何在jquery中将一个span标签附加到另一个span标签中?

javascript - 如何更新 Firebase Firestore 中的动态字段名称?

javascript - 有没有办法使用 EXPORT * 导出 ES6 模块中的所有名称?

sql - 在 Azure 上批量导出/将数据表导出到文件/Azure 计划作业

jpeg - Indesign 转 JPG

xml - 创建 XSL 样式表来管理 FileMaker Pro XML 输出

error-handling - InDesign CS5脚本: opening a document is unresponsive, and isn't throwing an error?

javascript - jQuery 未在函数内定义

opengl - 转储正在运行的 Direct3D 或 OpenGL 应用程序的 3d 几何数据