[ID CC-CC2022] Изменение импортированных комментариев

  • Автор темы Автор темы veretragna
  • Дата начала Дата начала
А все вкурил, ты сперва удаляешь свои коменты если они случайно есть а затем из одного комента делаешь два?
Свои удаляю на всякий случай, а потом делаю два коммента, которые ввиду настроек будут отображаться как один, сделанный вручную.
Исходные можно не удалять, если в obAddAnnots закомментировать destroy.
 
1602069052639.png


Видишь, два коммента разного типа в одной группе теперь.
Если бы просто можно было заменить аннотацию одного типа на аннотацию другого типа, то это было бы не интересно и вчера, тем более, что у меня похожая заготовка наличествовала. Адоб заботится, чтобы жизнь скучной не была.
 
Обалдеть. Вот это круто.
Олег, спасибо!
 
А просто MyAnnot1,MyAnnot2... что не работает?
 
Этот скрипт нужно через консоль выполнять? У меня вот такое выдает

2020-10-07_144755.png
 
Например так
1602071676229.png
 
Ага, то бишь, через мастер действий. В прошлый раз, когда вы писали скрипт для комментов, была куча заморочек с syncAnnotScan, а тут такого нет, поэтому сразу про мастер не подумал.
Сейчас проверю
 
Не работает. Ничего не поменялось в файле
 
В консоль Javascript гляньте - может ошибка какая?
 

Вложения

  • ex.zip
    ex.zip
    67.9 КБ · Просм.: 180
1602072862376.png

Там другой текст, надо в коде править.

JavaScript:
function uuidv4() {
  return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
    var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
    return v.toString(16);
  });
}

function obRemAnnots () {
    var remove = [];
    var annots = this.getAnnots();
    for (var i = 0; i < annots.length; i++) {
        if (annots[i].author == 'Annot Robout') {
            remove.push(annots[i]);
        }
    }
    remove.reverse();
    for (var i = 0; i < remove.length; i++) {
        remove[i].destroy();
    }
}

function obAddAnnots () {
    var annots = this.getAnnots();
    var remove = [];
    for (var i = 0; i < annots.length; i++) {
        if (annots[i].type == 'Highlight' && annots[i].contents.indexOf('Change into: ') == 0) {
            remove.push(annots[i]);
            var page = annots[i].page;
            var rect = annots[i].rect;
            var height = rect[3] - rect[1];
            var quads = annots[i].quads
            var contents = annots[i].contents.replace('Change into: ', '');
            var uid = uuidv4();
            this.addAnnot({
                page: page,
                type: 'StrikeOut',
                quads: quads,
                author: 'Annot Robout',
                contents: '',
                inReplyTo: uid,
                intent: 'StrikeOutTextEdit',
                strokeColor: ['RGB',0,0,1],
                refType: 'Group',
                style: 'S',
                subject: 'Replace Text',
            });
            this.addAnnot({
                page: page,
                type: 'Caret',
                rect: [rect[2] - height / 2, rect[1], rect[2], rect[3] - height / 1.5],
                author: 'Annot Robout',
                name: uid,
                intent: 'Replace',
                contents: contents,
                refType: 'R',
                style: 'S',
                subject: 'Replace Text',
            });
        }
    }
    remove.reverse();
    for (var i = 0; i < remove.length; i++) {
        remove[i].destroy();
    }
}

obRemAnnots();
obAddAnnots();

1602072923661.png
 
  • Спасибо
Реакции: veretragna
"Семён Семёныч!"
Теперь сработало на всем файле. И Индизайн эти комментарии прекрасно понял. Спасибо!