Skip to main content
jaceks47464130
Participant
April 19, 2019
Answered

How to change automatically frame with hyperlink text into hyperlinked frame

  • April 19, 2019
  • 1 reply
  • 1081 views

I have an hyperlinks in text frames, different in each frame, and I want to have, a link with url to the frames no to text only.
Is it possible to make this automatically in whole document?

This topic has been closed for replies.
Correct answer Manan Joshi

Try the following code, it will remove hyperlink on a text and make a hyperlink on its parent textframe with the same destination URL. The code works on the assumption that a textframe will have only one text hyperlink

var h = app.documents[0].hyperlinks.everyItem().getElements()

for(var i = 0; i < h.length; i++)

{

    if(h.source.constructor.name != "HyperlinkTextSource")

          continue;

    var pt = h.source.sourceText.parentTextFrames[0]

    var nm = h.name

    var newSource = app.documents[0].hyperlinkPageItemSources.add(pt)

    var nh = app.documents[0].hyperlinks.add(newSource, h.destination)

    h.remove()

    nh.name = nm

}

-Manan

1 reply

Manan JoshiCommunity ExpertCorrect answer
Community Expert
April 20, 2019

Try the following code, it will remove hyperlink on a text and make a hyperlink on its parent textframe with the same destination URL. The code works on the assumption that a textframe will have only one text hyperlink

var h = app.documents[0].hyperlinks.everyItem().getElements()

for(var i = 0; i < h.length; i++)

{

    if(h.source.constructor.name != "HyperlinkTextSource")

          continue;

    var pt = h.source.sourceText.parentTextFrames[0]

    var nm = h.name

    var newSource = app.documents[0].hyperlinkPageItemSources.add(pt)

    var nh = app.documents[0].hyperlinks.add(newSource, h.destination)

    h.remove()

    nh.name = nm

}

-Manan

-Manan
jaceks47464130
Participant
April 23, 2019

Well Done! Works fine! Thanks a lot