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

khh1

Участник
Топикстартер
Сообщения
21
Реакции
1
Здравствуйте. Есть 600 страниц, на каждой странице в одном и том же месте есть QR-коды. Можно ли удалить эти QR-коды из всех страниц по координатам? На одной странице QR-кодов несколько, удалять нужно только одну.
 

Gad

Сообщения
2 975
Реакции
1 408
Как простое и неспортивное решение... Сделать слой переместить на самый верх, в шаблоне нарисовать белый квадрат на месте QR кода в этом слое :) Применить шаблон ко всем страницам где 1 QR код, там где несколько убрать в ручном режиме.
 
Последнее редактирование:
  • Спасибо
Реакции: khh1

khh1

Участник
Топикстартер
Сообщения
21
Реакции
1
Если других вариантов не будет так и придется сделать 'otbline'
 

Gad

Сообщения
2 975
Реакции
1 408
Последнее редактирование:
  • Спасибо
Реакции: khh1

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851
Если кодов много, то однозначно скриптом. Здесь была тема, как найти обьект по координатам.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851
 
  • Спасибо
Реакции: khh1

Gad

Сообщения
2 975
Реакции
1 408
Ну тут есть еще вариант что это один и тот же код на всех страницах и он прилинкован например:) можно просто переименовать файл :)

Не по теме:
Кстати... еще когда собирал в кучу скрипт с префиксами постфиксами задумался. Можно как то грохнуть потерянные линки из файла? скриптом имею в виду
 
Последнее редактирование:

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851
Если формализировать понятие "потеряный линк" то таки да.
Например - перебор всех линков с проверкой, есть ли файл по данному пути или нет - попрет?
 

Gad

Сообщения
2 975
Реакции
1 408
Код:
#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()
    }
}

Угу, тогда так :) грохнуть (переименовать) файл потом такой скрипт.
 
Последнее редактирование:

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851
Только цикл наоборот с конца, дабы не рубить сук, на которых сидишь
 

khh1

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

khh1

Участник
Топикстартер
Сообщения
21
Реакции
1

Вложения

  • Без имени-1.jpg
    Без имени-1.jpg
    151.2 КБ · Просм.: 227
Последнее редактирование:

Yur1j

Участник
Сообщения
207
Реакции
63
задействовать внешние силы - использовать какой то автохоткей и задать ему ткнуть мышкой на экране нажать del и пролиснуть страницу дальше, на все про все 5-10минут
 

Gad

Сообщения
2 975
Реакции
1 408
Да все равно какие там гиперссылки :) Ты выложи пример в 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()
    }
}
Кажется понял, так вроде правильно будет...

 

JAW

15 лет на форуме
Сообщения
15 797
Реакции
3 454
Вообще то эта задача из категории, что скрипт будет писать дольше, чем сделать руками.
Уже давно бы удалили, даже без аутохоткеев.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851
Да все равно какие там гиперссылки :) Ты выложи пример в 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, понятно почему или обьяснить? ;)
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851
Вообще то эта задача из категории, что скрипт будет писать дольше, чем сделать руками.
Уже давно бы удалили, даже без аутохоткеев.
Это кому как. Лучше день потерять, а потом за пять минут долететь ;)
 

JAW

15 лет на форуме
Сообщения
15 797
Реакции
3 454