Автоматизация импортирования слоев (карты PnP)

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

Не по теме:
Мастер на заводе обучает новичка:
- Видишь рычаг?
- Да.
- Вот в 8 утра ты его включаешь, а в 6 вечера выключаешь. Понял?
- Нет.
- Повторяю. Видишь рычаг?
- Да.
- В 8 утра ты его включаешь, а в 6 вечера выключаешь. Понял?
- Нет.
- Еще раз объясняю. Видишь рычаг?
- Да.
- В 8 утра ты его включаешь, а в 6 вечера выключаешь. Понял?
- Мужик, ты что тупой? Я тебе уже третий раз говорю - НЕ ПОНЯЛ!

 
  • Спасибо
Реакции: Любимцев
Есть pdf файл с несколькими страницами и есть два файла 1.png и 2 png. Как автоматически (скриптом?) импортировать как слой 1.png на каждую страницу, причем новый слой на каждой странице должен называться "Line n", где n - номер страницы. Также надо импортировать как другой слой на каждую страницу файл 2 png, слои должны при этом называться "Double line n", где n - номер страницы.
Буду очень благодарен за помощь.
1 2 3
dice.png
JavaScript:
(function addDiceLayers(){
  var n = 0;
  this.setOCGOrder(
    Array.apply(null, Array(this.numPages)).map(function(){
      this.addWatermarkFromFile({cDIPath:"/D/path_to/PNG_transparency_demonstration_1.png",
        nStart: n, nEnd: n});
      this.getOCGs({nPage: n}).pop().name = "Dice ".concat(n + 1);
      this.addWatermarkFromFile({cDIPath:"/D/path_to/PNG_transparency_demonstration_1.png",
        nStart: n, nEnd: n, nHorizValue: 500, nVertValue: -200});
      var layers = this.getOCGs({nPage: n});
      layers[layers.length - 1].name = "More dice ".concat(n + 1);
      return ["Page ".concat(n +++ 1)].concat(layers.slice(layers.length - 2));
    }))
})();
 
  • Спасибо
Реакции: koros
Пришёл 1998 и одним ответом испортил жизнь многим несчастным любителям карт. :))
 

Не по теме:

Не по теме:

Так ты со всей военной непосредственностью, а Аня обаятельная '))'

Умммм
Книксен.gif



Вообще путь с добавлением вылетов (блидов) единственно верный, профессиональный. В полиграфии это стабильная практика — если есть элементы, касающиеся линии реза, то они должны быть с вылетами, чтобы не оставалось белых полос, если нож дрогнет)) Даже на хорошем точном оборудовании всё равно всегда есть риск немножко зарезать, а в кустарных условиях — так аж бегом. И лучшая страховка от таких случаев это вылеты. Заодно и компенсируют риск несовпадения сторон.
Я понимаю, что это означает немаленький вал работы, но это правильный подход. Я бы пошла этим путем.
Вашим клиентам будет удобнее заниматься этой художественной резьбой по картону, если линия реза будет проходить внутри запечатанного фона, а не по границе с белым. Это сильно упростит их задачу. Это я Вам из личного опыта уже говорю, потому что любительница настольных игр, мы частенько играем и сами тоже занимались этими весёлыми вырезалочками. Бывает, что и готовые покупные игры предполагают этот процесс. Приходилось всё равно срезать чуть больше, чтобы не оставались белые края. Дайте людям шанс))))

Потом при финальной печати на толстой бумаге метки с одной стороны листа не печатают. С какой стороны именно не печатать метки (с лица или рубашки) - каждый решает для себя сам.
А почему нельзя оставить метки на финальной печати? Они ведь всё равно срежутся. А это значительно упростит инструкцию по использованию карт и Вам головную боль с отключаемыми слоями. Пристрелись на офисной бумаге по меткам и в путь.
Бывает засада с принтером (у меня так) - стороны листа не просто смещены, а немного наклонены друг относительно друга. Для этого нужны еще метки , которые немного смещены внутрь карты - карты при этом получаются немного меньше, но при резе не остаются кусочки соседних карт.
А вот это мероприятие я совсем не поняла. Почему обычные метки не помогают в случае наклона? Чем помогают метки, смещенные внутрь карты? Пересмотрите этот момент. Мне кажется, что он тоже лишний. Достаточно только одних меток, которые всегда будут на печати. Все остальные мероприятия только усложняют процесс и запутают неопытного пользователя.

В отличие от большинства тут собравшихся у меня на компе нет никакого спускового софта, поэтому я набросала имитацию в Иллюстраторе (чего делать нельзя))). Но там зато наглядно видны служебные размеры самой карты (серая граница) и карты с вылетами (красная граница)
1570109530376.png


По крестам пристрелялись, по меткам реза порезали. Всё.
Да, линий реза будет на первый взгляд больше. Но зато резать будет удобнее и много проблем уйдёт: небольшое несовмещение не будет видно, соседняя карта не попадётся, по краям не будет белого канта.
 
  • Спасибо
Реакции: ~RA~
В принципе если сами скрипт писать будете можно чуть смухлевать - под карту подложите копию чуть увеличенную
Так халтурно получается. Придётся повозиться. Но мы же все знаем, что лучше день потерять, потом за пять минут долететь))))
 
Так халтурно получается.
Все ж лучше чем растягивать до блидов или сплошной фон подкладывать. Как чуть более сложный вариант - со всех сторон отзеркаленные обрезанные копии '%)'
 
Все ж лучше чем растягивать до блидов или сплошной фон подкладывать. Как чуть более сложный вариант - со всех сторон отзеркаленные обрезанные копии '%)'
Ну свой пример я вообще ручками сделала, аккуратненько расширив края с помощью Content-Aware Scale и допилив штампиком.
Я люблю когда красивенько.
В конкретном примере растягивание до блидов вообще ничего даст, шов слишком близко к краю.
 
Ну свой пример я вообще ручками сделала, аккуратненько расширив края с помощью Content-Aware Scale и допилив штампиком.
Я люблю когда красивенько.
В конкретном примере растягивание до блидов вообще ничего даст, шов слишком близко к краю.
Это сильно сложно автоматизируется, как я уже сказал
 
Это сильно сложно автоматизируется, как я уже сказал
Это вообще не автоматизируется ;)
Но мы же все знаем, что лучше день потерять, потом за пять минут долететь))))

Хотя может там не все карты с такими фонами, я ж не знаю, поэтому где-то может и автомат прокатит.
 
6-7 страницы посвящены блидам, но ТСу они по прежнему не нужны, и Вам не лень доказывать себе (ну так и получается) целесообразность вылетов в макетах?
 
6-7 страницы посвящены блидам, но ТСу они по прежнему не нужны, и Вам не лень доказывать себе (ну так и получается) целесообразность вылетов в макетах?
Ну если заниматься буквоедством, то изначальную акробатовскую хотелку топикстартера в определенной степени решает скрипт Вадима, но с практической точки зрения он, конечно, бесполезен и вообще мы давно о другом говорим ;)
 
6-7 страницы посвящены блидам, но ТСу они по прежнему не нужны, и Вам не лень доказывать себе (ну так и получается) целесообразность вылетов в макетах?
Блиды всплыли только на 4 странице)))

Мне не лень донести то, что есть более простой, правильный и проверенный путь. Не получится — ну что же, я попробовала)))

При желании можно, не так красиво будет, конечно, как руками ;)
А ну))))
 
Огромное спасибо!. Похоже то, что надо. А можно, чтобы слои не группировались в Page 1... Page n, а были в корне?

Правда пока мы тут спорили общались я таки сделал скрипт для индизайна, который расставляет метки на страницах в разных слоях одновременно с размещением карт на этих страницах)). Не совсем то, что я хотел... Но скрипт уважаемого люди_будущего тоже очень нужен для расстановки меток на уже готовых (чужих) pdf-файлах.

Linxy, большое спасибо за содержательный ответ без наездов и гурства!
Вообще путь с добавлением вылетов (блидов) единственно верный, профессиональный.
Скорее всего вы полностью правы. Но я не только не профессионал, но даже и не любитель. Я нубский новичок)). И для меня приделать такие блиды, как у вас, вообще нереальная задача))). Сейчас надо собрать пару сотен карт. Нарисовать для них в ручную блиды... Да я на одну карту потрачу немеряно времени, потому как практически не знаю фотошоп. Буду задавать вопросы - и мне тут же скажут, что и делаю все неправильно и вообще надо делать другое)))
Вашим клиентам будет удобнее заниматься
У меня нет клиентов - я работаю принципиально в другой области)). Делаю все для себя + выкладываю на форуме для тех, кому может пригодится.
потому что любительница настольных игр,
Тогда может вам будет интересен этот форум.
А почему нельзя оставить метки на финальной печати? Они ведь всё равно срежутся. А это значительно упростит инструкцию по использованию карт
В том-то и дело, что при несовмещении на несколько десятых миллиметра не срежутся. По рубашкам и лицу в этом случае будет незаметно (не надо будет подгонять), а линии меток останутся.
Инструкция не нужна - там, где я выкладываю свои поделия, люди знают, как надо использовать метки реза)).
А вот это мероприятие я совсем не поняла. Почему обычные метки не помогают в случае наклона?
Нижние карты, например, совпадают в случае наклона, а верхние немного нет. Поэтому надо резать по меткам, немного сдвинутым внутрь карты. Своего рода блид))
По крестам пристрелялись, по меткам реза порезали. Всё.
Так я именно это и делаю! Только не дорисовываю к картам блиды, а просто немного отрезаю от самой карты. Ну так у меня принтер косит. А у кого не косит - режет между картами.

Ну если заниматься буквоедством, то изначальную акробатовскую хотелку топикстартера в определенной степени решает скрипт Вадима, но с практической точки зрения он, конечно, бесполезен
Поясните, пожалуйста, почему он бесполезен? Метки же он из файлов в отдельные слои закидывает. Осталась небольшая косметика - не собирать слои в подгруппы Page 1... Page n, если это возможно. Или есть какие-то подводные камни?
 

Не по теме:
Меня не покидает ощущение, что это кто-то из своих нас всех троллит.
 
А можно, чтобы слои не группировались в Page 1... Page n, а были в корне?
JavaScript:
(function addDiceLayers(){
  this.setOCGOrder(
    Array.apply(null, Array(this.numPages))
         .map(function(e, n){
            this.addWatermarkFromFile({cDIPath:"/D/path_to/PNG_transparency_demonstration_1.png",
              nStart: n, nEnd: n});
            this.getOCGs({nPage: n}).pop().name = "Dice ".concat(n + 1);
            this.addWatermarkFromFile({cDIPath:"/D/path_to/PNG_transparency_demonstration_1.png",
              nStart: n, nEnd: n, nHorizValue: 500, nVertValue: -200});
            var layers = this.getOCGs({nPage: n});
            layers[layers.length - 1].name = "More dice ".concat(n + 1);
            return layers.slice(layers.length - 2)})
          .reduce(function(a, e){
            return a.concat(e)},[]))
})();
 
  • Спасибо
Реакции: _MBK_, Linxy и koros
При желании можно, не так красиво будет, конечно, как руками ;)

Помнится, реализовывали фотошопом, с помощью content-aware, опционально блур и всё это в batch. Косяки после допиливались штампиком/лечащей кистью. И это были даже многостраничные издания (пришедшие растром и без блидов). Однако, тут очень желательно иметь одинаковый размер всех входных картинок.