[ID CC-CC2022] Удалить QR-код по координатам

  • Автор темы Автор темы khh1
  • Дата начала Дата начала

khh1

Участник
Топикстартер
Сообщения
21
Реакции
1
Здравствуйте. Есть 600 страниц, на каждой странице в одном и том же месте есть QR-коды. Можно ли удалить эти QR-коды из всех страниц по координатам? На одной странице QR-кодов несколько, удалять нужно только одну.
 
Как простое и неспортивное решение... Сделать слой переместить на самый верх, в шаблоне нарисовать белый квадрат на месте QR кода в этом слое :) Применить шаблон ко всем страницам где 1 QR код, там где несколько убрать в ручном режиме.
 
Последнее редактирование:
  • Спасибо
Реакции: khh1
Если других вариантов не будет так и придется сделать 'otbline'
 
Если кодов много, то однозначно скриптом. Здесь была тема, как найти обьект по координатам.
 
 
  • Спасибо
Реакции: khh1
Ну тут есть еще вариант что это один и тот же код на всех страницах и он прилинкован например:) можно просто переименовать файл :)

Не по теме:
Кстати... еще когда собирал в кучу скрипт с префиксами постфиксами задумался. Можно как то грохнуть потерянные линки из файла? скриптом имею в виду
 
Последнее редактирование:
Если формализировать понятие "потеряный линк" то таки да.
Например - перебор всех линков с проверкой, есть ли файл по данному пути или нет - попрет?
 
Код:
#target indesign  
var doc = app.activeDocument;

for (var i = 0; i < doc.links.length; i++) {
    var link = doc.links[i];
    var PathFile = File(link.filePath);
    if (!PathFile.exists) {
        app.activeDocument.pageItems[i].remove()
    }
}

Угу, тогда так :) грохнуть (переименовать) файл потом такой скрипт.
 
Последнее редактирование:
Только цикл наоборот с конца, дабы не рубить сук, на которых сидишь
 
Другие варианты всегда есть :) Скрипт например ...
QR-код прилинкован или внедрен в публикацию кстати?
Не совсем понял?) Коды сгенерировал в индизайне и поставил на страницу, они ни к чему не привязаны, просто все на одном и том же месте, копировал вставлял на каждую страницу, потом менял значение. Тип кода Гиперссылка на веб-страницу
 

Вложения

  • Без имени-1.jpg
    Без имени-1.jpg
    151.2 КБ · Просм.: 281
Последнее редактирование:
задействовать внешние силы - использовать какой то автохоткей и задать ему ткнуть мышкой на экране нажать del и пролиснуть страницу дальше, на все про все 5-10минут
 
Да все равно какие там гиперссылки :) Ты выложи пример в idml. Тут в чем загвоздка... удалять объект по координатам не всегда может быть правильным, например выбранная базовой координата может пересекаться еще с например с текстовым фреймом под ним... :) Я думал у тебя прилинкованы картинки, но если генерил в ID то скорее всего скриптом, и это не картинка а объект ID состоящий из множества сгруппированных объектов (наверное, посмотреть бы :) ) значит координат какой ни будь базовой точки недостаточно, нужно брать область внутри которой удалять все объекты :) А это уже другая математика :)

использовать какой то автохоткей
Автохоткей кстати да, тоже выход... и покурить время будет :) и проще



Не по теме:
не рубить сук, на которых сидишь
Код:
#target indesign  
var doc = app.activeDocument;
var counted = doc.links.length;
for (var i = 0; i < counted; i++) {
    var link = doc.links[i];
    var PathFile = File(link.filePath);
    if (!PathFile.exists) {
        app.activeDocument.pageItems[i].remove()
    }
}
Кажется понял, так вроде правильно будет...

 
Вообще то эта задача из категории, что скрипт будет писать дольше, чем сделать руками.
Уже давно бы удалили, даже без аутохоткеев.
 
Да все равно какие там гиперссылки :) Ты выложи пример в idml. Тут в чем загвоздка... удалять объект по координатам не всегда может быть правильным, например выбранная базовой координата может пересекаться еще с например с текстовым фреймом под ним... :) Я думал у тебя прилинкованы картинки, но если генерил в ID то скорее всего скриптом, и это не картинка а объект ID состоящий из множества сгруппированных объектов (наверное, посмотреть бы :) ) значит координат какой ни будь базовой точки недостаточно, нужно брать область внутри которой удалять все объекты :) А это уже другая математика :)


Автохоткей кстати да, тоже выход... и покурить время будет :) и проще



Не по теме:

Код:
#target indesign  
var doc = app.activeDocument;
var counted = doc.links.length;
for (var i = 0; i < counted; i++) {
    var link = doc.links[i];
    var PathFile = File(link.filePath);
    if (!PathFile.exists) {
        app.activeDocument.pageItems[i].remove()
    }
}
Кажется понял, так вроде правильно будет...

Неправильно.
Правильно - начинать с counted-1 и цикл на уменьшение до 0, понятно почему или обьяснить? ;)
 
Вообще то эта задача из категории, что скрипт будет писать дольше, чем сделать руками.
Уже давно бы удалили, даже без аутохоткеев.
Это кому как. Лучше день потерять, а потом за пять минут долететь ;)