Добавление гиперссылки на изображение в Indesign с Applescript - PullRequest
0 голосов
/ 13 февраля 2019

Я пытаюсь создать AppleScript, который создает гиперссылки для каждого связанного изображения в InDesign.

Это то, что я до сих пор придумал.

tell application "Adobe InDesign CC 2017"
  activate
  tell active document
  set grphicBoxs to all graphics of layer activeLayer
  set myLinks to {}
  repeat with I in grphicBoxs
  set iLink to item link of i
  set end of myLinks to iLink
  end repeat

  repeat with theLinkRef in myLinks
  set theLinkName to ((name of theLinkRef) as string)
  display dialog "theLinkName: " & theLinkName

  set myHyperLink to "www.myURL"
  set myHyperLinkName to "myURL name"

  try
  set hyperLinkPreSet to make hyperlink URL destination with properties `{name:myHyperLinkName, destination URL:myHyperLink}`
  on error
  set hyperLinkPreSet to hyperlink URL destination myHyperLinkName
  end try


  try
  set hyperLinkObject to make hyperlink page item source with properties `{name:myHyperLinkName, source page item:rectangle theLinkName, hidden:false}`
  on error
  set TheHS to hyperlink page item source myHyperLinkName
  end try

  display dialog "hyperLinkObject:" & hyperLinkObject

  make new hyperlink with properties `{destination:myHyperLink, source:hyperLinkObject, visible:false}`


  end repeat

  end tell
end tell

Ожидаемый результатзаключается в том, что созданный шаблон гиперссылки применяется к выбранному объекту.Но я получаю это сообщение об ошибке.

Недопустимое значение для параметра «источник» метода «make».Ожидаемый элемент страницы, но ничего не получено.

Есть здесь кто-нибудь, кто успешно создал гиперссылки на связанные объекты и может мне помочь?

1 Ответ

0 голосов
/ 20 февраля 2019

Проблема решена

установить activeLayer на «Слой 1», установить счетчик на 1

сообщить приложению «Adobe InDesign CC 2017» активировать, сказать активному документу установить grphicBoxs для всей графики слоя activeLayer установить myLinks{} повторить с i в grphicBoxs установить iLink на ссылку элемента из i установить конец myLinks на iLink end repeat

   repeat with theLinkRef in myLinks
       set theLinkName to ((name of theLinkRef) as string)
       set theLinkNameNoext to text 1 thru ((offset of "." in theLinkName) - 1) of theLinkName

       set myHyperLink to "http://macscripter.net"
       set myHyperLinkName to theLinkNameNoext & " " & counter

       make hyperlink with properties {name:myHyperLinkName, source:make hyperlink page item source with properties {source page item:rectangle counter}, destination:make hyperlink URL destination with properties {destination URL:myHyperLink}}

       set counter to counter + 1
   end repeat

конец сказать конец сказать

...