InDesign - Как экспортировать группы в JPG - PullRequest
0 голосов
/ 16 октября 2019

Мне нужно экспортировать группы в InDesign в jpg.

Моя группа будет содержать изображение, логотип и некоторый текст, и мне нужно иметь одно изображение для каждой группы в моем документе. Желательно с именем изображения.

Я пытался использовать этот скрипт , однако он работает только с изображениями, а не с группами.

Я хотел бы получить скриптиспользовать группы вместо изображений.

exportSelectedImages();

function exportSelectedImages() {
    // configure export settings
    app.jpegExportPreferences.exportResolution = 72;
    app.jpegExportPreferences.jpegQuality = JPEGOptionsQuality.HIGH;

    // collect selected objects
    var selected = app.activeDocument.selection;
    $.writeln("Got " + selected.length + " selected objects...");

    // process selected objects
    for (var i = 0; i < selected.length; i++) {
        var cursor = selected[i];
        var img = cursor.images;

        $.writeln("Processing #" + (i+1) + "/" + selected.length);
        $.writeln("\t Type: " + cursor.constructor.name);

        // verify if object contains an image or not
        if (cursor.images.length > 0) {     
            var img = cursor.images[0];
            $.writeln("\t Contains image of type " + img.imageTypeName);
            var imageFileName = cursor.images[0].itemLink.name;
            $.writeln("\t File Name: " + imageFileName);
        } else {
            $.writeln("\t Not an image");
        }

        // save the object to a jpeg in path specified below
        var myFile = new File('~/Desktop/jowjow/' + "crop_" + imageFileName + '.jpg');
        cursor.exportFile(ExportFormat.JPG, myFile);

     }

    $.writeln("Done.");
}

1 Ответ

0 голосов
/ 19 октября 2019

Попробуйте этот код после выбора группы:

app.jpegExportPreferences.exportResolution = 72;

app.jpegExportPreferences.jpegQuality = JPEGOptionsQuality.HIGH;

var selected = app.activeDocument.selection;

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

    if(cursor.constructor.name == "Group"){

        var cursor = selected[i];

        if(cursor.rectangles.length == 1){

            if (cursor.rectangles[0].graphics.length > 0) {

                var img = cursor.rectangles[0].graphics[0];
                var imageFileName = cursor.rectangles[0].graphics[0].itemLink.name;
                var myFile = new File('~/Desktop/' + "Group_" + imageFileName + '.jpg');
                cursor.exportFile(ExportFormat.JPG, myFile);
                }
            }
        }
    }
alert("Process Completed!!!");

Sunil

...