Skip to main content
November 5, 2011
質問

Its possible to convert Apple script to Java script

  • November 5, 2011
  • 返信数 1.
  • 1684 ビュー

Hi,

Please Help me anyone to do that script.

its possible to convert below mentioned Apple script to Java Script.

Thanks in advance.

Help me......!

-yajiv

Code:

tell me to addImageLabels()

on addImageLabels()

          tell application "Adobe InDesign CS5"

                    set numberAdded to 0

            activate

                    set enable redraw of script preferences to true

                    set currentFonts to (get name of every font)

                    if currentFonts does not contain fontname then

                              display dialog "The font \"" & fontname & "\" is not active on your system." buttons {"Continue anyway", "Cancel"} default button 2

                    end if

                    tell document 1

  -- get a list of unique page IDs in this document

                              set allpageids to my getPageIds()

                              repeat with p from 1 to (length of allpageids)

                                        set pgid to item p of allpageids

  -- loop through these, getting a list of unique page item IDs to inspect

                                        tell page id pgid

                                                  set pageitems to (get id of every page item)

                                                  repeat with i from 1 to (length of pageitems)

                                                            set pid to item i of pageitems

                                                            tell page item id pid

                                                                      try

  -- certain boxes will fail to yield a content type, whatever

                                                                                if content type is graphic type then

                                                                                          set c to class

                                                                                          set i to id

  -- get the name of the link, i.e. the filename, subject to labelFormat (full name, first six chars, etc.)

                                                                                          set gn to my getImageName(pgid, c, i)

                                                                                          if (gn is not "Empty") and (gn is not "") then

                                                                                                    set b to visible bounds

                                                                                                    set h to (item 3 of b) - (item 1 of b)

                                                                                                    set newtop to (item 1 of b) + (h / 2)

                                                                                                    set item 1 of b to newtop

                                                                                                    set w to (item 4 of b) - (item 2 of b)

                                                                                                    if w < minwidth then

                                                                                                              set item 4 of b to ((item 4 of b) + 0.2)

                                                                                                              set item 2 of b to ((item 2 of b) - 0.2)

                                                                                                    end if

                                                                                                    set l to (make new text frame at beginning of page id pgid with properties {visible bounds:b, fill color:fillcolor, contents:gn, label:"imagelabel"})

                                                                                                    tell l

                                                                                                              tell paragraph 1

                                                                                                                        set justification to center align

                                                                                                                        try

                                                                                                                                  set applied font to fontname

                                                                                                                        end try

                                                                                                                        set point size to fontsize

                                                                                                                        set fill color to textcolor

                                                                                                              end tell

                                                                                                              set inset spacing of text frame preferences to ((insetspacing as string) & " in") as string

  fit given frame to content

                                                                                                              set numberAdded to numberAdded + 1

                                                                                                    end tell

                                                                                          end if

                                                                                end if

                                                                      end try

                                                            end tell

                                                  end repeat

                                        end tell

                              end repeat -- allpageids

                    end tell -- document 1

  display dialog "Added " & numberAdded & " labels." buttons {okButton} default button 1 giving up after 10 with title scriptName

          end tell -- InDesign

end addImageLabels

on getPageIds()

          tell application "Adobe InDesign CS5"

                    tell document 1

                              tell master spread 1

                                        set masterpageids to (get id of every page)

                              end tell

                              set docpageids to (get id of every page)

                    end tell

          end tell

          return masterpageids & docpageids

end getPageIds

on getImageName(int1, cla1, int2)

          tell application "Adobe InDesign CS5"

                    tell document 1

                              tell page id int1

                                        if cla1 is rectangle then

                                                  set imagename to (name of item link of graphic 1 of rectangle id int2)

                                        else if cla1 is polygon then

                                                  set imagename to (name of item link of graphic 1 of polygon id int2)

                                        else

                                                  return "Unknown"

                                        end if

                                        try

                                                  if (labelformat is "First six characters") then

                                                            return (characters 1 thru 6 of imagename) as string

                                                  else if (labelformat is "Base name of linked file") then

                                                            set op to offset of "." in imagename

                                                            return (characters 1 thru (op - 1)) of imagename as string

                                                  else

                                                            return imagename

                                                  end if

                                        on error

                                                  return "Empty"

                                        end try

                              end tell

                    end tell

          end tell

end getImageName

このトピックへの返信は締め切られました。

返信数 1

John Hawkinson
Inspiring
November 5, 2011

It's definitely possible, but it's certainly a pain to do. Someone would have to go through the script line-by-line.

Why would you want to?

You should either learn both languages and do it yourself, or just call the Applescript from Javascript.

November 5, 2011

Hi John,

Thanks for your support. I try to do my best to learn apple script.

Please guide to do that script.

Thanks for cheers...

-yajiv

John Hawkinson
Inspiring
November 6, 2011

Why would you want to?