[ID CC-CC2022] Заменить цвет QR-кодов во всем документе

  • Автор темы Автор темы khh1
  • Дата начала Дата начала
но замена ничего не дает, пока не зайдешь в этот диалог перекраски и не нажмешь ок. хотя свотч будет уже выбран нужный. очевидно eps при этом генерится заново
 
что характерно - редактирование свотча тоже ничего не дает по вышеуказанной причине, нужна регенерация
 
А встроенный генератор ID внедряет QR в документ или сохраняет и линкует? (не могу проверить, есть только CS6)
 
Если внедрены, я бы извлек eps скриптом, собрал в один pdf в нужном порядке, перекрасил, извлек постранично и прелинковал...
 
Последнее редактирование:
  • Спасибо
Реакции: Gad
Вот тут Олег Бутрин дал скрипт, приводящий qr-коды к одному размеру. Возможно, как-то по аналогии можно и до их цвета достучаться и поменять.
 
1. Разэмбэдить.
2. Перекрасить.
Всё.
 
1. Разэмбэдить.
2. Перекрасить.
Всё.
Ну собственно это краткое содержание моего поста номер два
Беда в том, что просто так взять и перекрасить eps файл яваскриптом не очень приятно
 
1. Разэмбэдить.
2. Перекрасить.
Всё.

а их не разэмбедить, по-моему. они какие-то странные - вроде EPS, но с ограниченным набором свойств/методов. ну если только из idml, там вот в таком виде
Код:
<Contents><![CDATA[JSFQUy1BZG9iZS0zLjEgRVBTRi0zLjAKJSVCb3VuZGluZ0JveDogMC4wMDAwMDAgMC4wMDAwMDAg
ODUuMDM5MDAxIDg1LjAzOTAwMQolJUxhbmd1YWdlTGV2ZWw6IDMKJSVQYWdlczogMSAKJSVEb2N1
bWVudERhdGE6IENsZWFuN0JpdAolJURvY3VtZW50UHJvY2Vzc0NvbG9yczogKGF0ZW5kKQolJURv
Y3VtZW50Q3VzdG9tQ29sb3JzOiAoYXRlbmQpCiUlRW5kQ29tbWVudHMKL3JmIHsgcmVjdGZpbGwg
...
dXN0b21Db2xvcjogCiUlUkdCQ3VzdG9tQ29sb3I6IAolJUVPRgo=]]></Contents>
 
Последнее редактирование:
Ты ж вроде говорил что по линкам к ним обратиться можно?
этот сгенеренный qr code разноцветным быть не может

вот в общем

Код:
({clippingPath:resolve("/document[@id=1]//EPS[@id=237]/@clipping-path"), nonprinting:false, textWrapPreferences:resolve("/document[@id=1]//EPS[@id=237]/@text-wrap-preferences"), grayVectorPolicy:({}), rgbVectorPolicy:({}), cmykVectorPolicy:({}), transparencySettings:resolve("/document[@id=1]//EPS[@id=237]/@transparency-settings"), strokeTransparencySettings:resolve("/document[@id=1]//EPS[@id=237]/@stroke-transparency-settings"), fillTransparencySettings:resolve("/document[@id=1]//EPS[@id=237]/@fill-transparency-settings"), contentTransparencySettings:resolve("/document[@id=1]//EPS[@id=237]/@content-transparency-settings"), overridden:false, overriddenMasterPageItem:null, geometricBounds:[16.7, 14.7, 34.6, 32.6], visibleBounds:[16.7, 14.7, 34.6, 32.6], localDisplaySetting:({}), imageTypeName:"", rotationAngle:0, shearAngle:0, horizontalScale:252.589983772094, verticalScale:252.589983772094, absoluteRotationAngle:0, absoluteShearAngle:0, absoluteHorizontalScale:252.589983772094, absoluteVerticalScale:252.589983772094, appliedObjectStyle:resolve("/document[@id=1]//object-style[@id=152]"), flip:({}), absoluteFlip:({}), associatedXMLElement:null, itemLink:resolve("/document[@id=1]//link[@id=239]"), parentPage:resolve("/document[@id=1]//page[@id=211]"), visible:true, name:"", horizontalLayoutConstraints:[({}), ({}), ({})], verticalLayoutConstraints:[({}), ({}), ({})], itemLayer:resolve("/document[@id=1]//layer[@id=203]"), locked:false, allPageItems:[], allGraphics:[], timingSettings:resolve("/document[@id=1]//EPS[@id=237]/@timing-settings"), linkedPageItemOptions:resolve("/document[@id=1]//EPS[@id=237]/@linked-Page-Item-options"), allArticles:[], id:237, label:"", parent:resolve("/document[@id=1]//rectangle[@id=221]"), index:0})

вычислить можно по itemLink

Код:
({versionState:({}), editingState:({}), index:0, parent:resolve("/document[@id=1]//EPS[@id=237]"), assetURL:"", assetID:"", edited:false, name:"QR Code41363955204036", needed:true, status:({}), linkType:"", date:(new Date(1582552146098)), size:10242, filePath:"OSX:private:var:folders:fv:dpywbvv52911pbwj03d2v7w40000gn:T:QR Code41363955204036", renditionData:({}), linkResourceURI:"file:/private/var/folders/fv/dpywbvv52911pbwj03d2v7w40000gn/T/QR%20Code41363955204036", linkXmp:resolve("/document[@id=1]//link[@id=239]/@link-xmp"), id:239, label:""})
Да и потом, как я погляжу, контент тоже имеет место быть, проще перегенерить тогда
 
можно. но unembed() - не работает
 
а можно как-то из jsx нажать 'OK' в диалоге? ) типа там sendKey сделать..
 
Последнее редактирование:
Если есть время и желание этим делом заниматься, то сделать можно через ре-генерацию каждого qr-кода. Для этого каждый объект с кодом экспортируется в idms, который парсится как xml. Из содержимого выдирается тип и содержание qr, а затем на основе в исходном объекте генерируется заново с новым цветом.
 
  • Спасибо
Реакции: LeonidB
ну да
как раз нашел этот способ здесь

 
еще один извращенный метод - в idml поменять swatch в свойствах, затем скриптом выделить каждый qr code, сделать app.menuActions.itemByName("$ID/Edit QR Code...").invoke(); - и вот тут бы надо нажать OK программно, тогда qr перекрасится, и перейти к следующему. с нажатием только затык
 
  • Спасибо
Реакции: LeonidB
Я смотрю, мой способ с цветной маской стремительно выбывает из конкурса самых извращённых решений '))'
 
  • Спасибо
Реакции: LeonidB
еще один извращенный метод - в idml поменять swatch в свойствах, затем скриптом выделить каждый qr code, сделать app.menuActions.itemByName("$ID/Edit QR Code...").invoke(); - и вот тут бы надо нажать OK программно, тогда qr перекрасится, и перейти к следующему. с нажатием только затык
VBA SendKey ?