3 Replies Latest reply on Nov 26, 2015 5:57 AM by Robin Driessen

    Indesign CC 2015 doesn't understand "place" applescript error -1708

    Robin Driessen Level 1

      If you could help me to solve my problem, that would be very kind! Thank you very much in advance.

       

      My script (yes, an old Indesign CS3-one that still worked well in CS5):

       

      tell application "Adobe InDesign CC 2015"

       

        activate -- switch naar indesign

       

        -- display dialog "..."

       

        -- creëer de dialoogbox voor invoer

        set myDialog to make dialog

        tell myDialog

        set name to "CTP Plaatsing Enve"

        set myDialogColumn to make dialog column

        tell myDialogColumn

        set myBorderPanel to make border panel

        tell myBorderPanel

        set myDialogColumn to make dialog column

        tell myDialogColumn

        -- make static text with properties {static label:"Ordernummer:"}

        set ingevoerd_ordernummer to make text editbox with properties {edit contents:"Werkordernummer", min width:150}

        end tell

        end tell

        set myBorderPanel to make border panel

        tell myBorderPanel

        --make static text with properties {static label:"Machine:"}

        set drukpersen to make dropdown with properties {string list:{"HA3I", "HA6I", "HA4K", "571", "H3", "H6", "WenD", "522"}, selected index:0}

        end tell

        set myBorderPanel to make border panel

        tell myBorderPanel

        --make static text with properties {static label:"Opmaak roteren:"}

        set opmaakroteren to make dropdown with properties {string list:{"Opmaak niet roteren", "90° met de klok mee", "90° tegen de klok in"}, selected index:0}

        end tell

        set myBorderPanel to make border panel

        tell myBorderPanel

        --make static text with properties {static label:"Weerdruk:"}

        set schoonweer to make dropdown with properties {string list:{"Geen weerdruk", "Weerdruk", "Weerdruk op tweede plaat"}, selected index:0}

        end tell

        end tell

        show

        end tell

       

        set ordernummer to edit contents of ingevoerd_ordernummer

       

        -- bepaal machine met bijbehorende variabelen

        if selected index of drukpersen = 0 then -- HA3I

        set plaatbreedte to 311

        set plaathoogte to 251

        set plaatformaat_correctie to 0

        set drukaanvang to 30

        set weerdrukafstand to 120

        set machinelabel to "xHA3I"

        set pagina_orientatie to landscape

        else if selected index of drukpersen = 1 then -- HA6I

        set plaatbreedte to 387

        set plaathoogte to 494

        set plaatformaat_correctie to 0

        set drukaanvang to 30

        set weerdrukafstand to 240

        set machinelabel to "xH6br"

        set pagina_orientatie to portrait

        else if selected index of drukpersen = 2 then -- HA4K

        set plaatbreedte to 400

        set plaathoogte to 251

        set plaatformaat_correctie to 0

        set drukaanvang to 12

        set weerdrukafstand to 0

        set machinelabel to "xHA4K"

        set pagina_orientatie to landscape

        else if selected index of drukpersen = 3 then -- 571

        set plaatbreedte to 311

        set plaathoogte to 251

        set plaatformaat_correctie to 0

        set drukaanvang to 12

        set weerdrukafstand to 0

        set machinelabel to "x571"

        set pagina_orientatie to landscape

        else if selected index of drukpersen = 4 then -- H3

        set plaatbreedte to 311

        set plaathoogte to 251

        set plaatformaat_correctie to 0

        set drukaanvang to 30

        set weerdrukafstand to 120

        set machinelabel to "xH3"

        set pagina_orientatie to landscape

        else if selected index of drukpersen = 5 then -- H6

        set plaatbreedte to 311

        set plaathoogte to 494

        set plaatformaat_correctie to 0

        set drukaanvang to 30

        set weerdrukafstand to 241

        set machinelabel to "xH6"

        set pagina_orientatie to portrait

        else if selected index of drukpersen = 6 then -- WenD

        set plaatbreedte to 420

        set plaathoogte to 491

        set plaatformaat_correctie to 0

        set drukaanvang to 42

        set weerdrukafstand to 0

        set machinelabel to "xWenD"

        set pagina_orientatie to portrait

        else if selected index of drukpersen = 7 then -- 522

        set plaatbreedte to 420

        set plaathoogte to 491

        set plaatformaat_correctie to 0

        set drukaanvang to 42

        set weerdrukafstand to 241

        set machinelabel to "x522"

        set pagina_orientatie to portrait

        end if

       

        -- opmaak roteren

        if selected index of opmaakroteren = 0 then -- opmaak niet roteren

        set graden to 0

        else if selected index of opmaakroteren = 1 then -- opmaak met de klok mee roteren

        set graden to -90

        else if selected index of opmaakroteren = 2 then -- opmaak tegen de klok in roteren

        set graden to 90

        end if

       

        -- schoon/weer

        set aantal_paginas to pages per document of document preferences of active document

        if selected index of schoonweer = 0 then

        set weerdruk to 0

        set aantal_loops to aantal_paginas

        else if selected index of schoonweer = 1 then

        set weerdruk to 1

        set aantal_loops to (aantal_paginas / 2) as integer

        set aantal_paginas to (aantal_paginas / 2) as integer

        else if selected index of schoonweer = 2 then

        set weerdruk to 2

        set aantal_loops to (aantal_paginas / 2) as integer

        end if

       

        -- verwijder nu de dialoogbox uit het geheugen

        destroy myDialog

       

        -- display dialog aantal_paginas

       

        -- initieer de rest van de variabelen

        set snijteken_offset to 8.2915 -- zie de CTP : verschuiving is 3 mm

        set ordernummer_regel to "Werkorder: " & ordernummer

        set geexporteerde_pdf_bestandsnaam to "ssd:Users:enve2:Desktop:CTP:" & ordernummer & machinelabel & ".pdf"

        set ctp_document_bestandsnaam to "ssd:Users:enve2:Desktop:CTP:" & ordernummer & machinelabel & ".indd"

        set registratiekleur to "Registration"

        set zwart to "Black"

        set wit to "White"

       

        -- exporteer de pdf die in het plaat-stramien geplaatst gaat worden

        -- let op! er wordt geen controle uitgevoerd!

        -- bijvoorbeeld: de 'koppelingen' worden niet gecontroleerd!

        tell active document

        export format PDF type to geexporteerde_pdf_bestandsnaam using "CTP" without showing options

        end tell

       

        -- maak een nieuw indesign document met de gewenste plaatafmetingen en het juiste aantal pagina's

        set ctp_document to make document

       

        set transform reference point of active window to center anchor

        set horizontal measurement units of view preferences to millimeters

        set vertical measurement units of view preferences to millimeters

        set PDF crop of PDF place preferences to crop PDF -- hoe wordt de pdf geplaatst ; in dit geval 'bijsnijden'

        set transparent background of PDF place preferences to true

       

        tell document preferences of ctp_document

        set facing pages to 0

        set page height to plaatbreedte -- height=breedte lijkt raar; maar anders werkt page orientation niet :-)

        set page width to plaathoogte -- idem

        set page orientation to pagina_orientatie

        set pages per document to aantal_paginas

        end tell

        tell margin preferences of ctp_document

        set column count to 1

        set top to 0

        set bottom to 0

        set left to 0

        set right to 0

        end tell

        tell text defaults of active document

        set fill color to registratiekleur

        set fill tint to 100

        set point size to "8pt"

        end tell

       

        set pdf_pagina to 1

        set ctp_pagina to 1

       

        repeat with teller from 1 to aantal_loops

        set page number of PDF place preferences to pdf_pagina as number -- selecteer de pdf pagina die geplaatst dient te worden

        tell page ctp_pagina of ctp_document

        set illustratiekader to make rectangle with properties {geometric bounds:{0, 0, plaathoogte, plaatbreedte}} -- maak illustratiekader

        set geplaatste_pdf_pagina to place geexporteerde_pdf_bestandsnaam on illustratiekader -- plaats de pdf pagina IN het illustratiekader

        set {dummy1, dummy2, pdfhoogte, pdfbreedte} to geometric bounds of geplaatste_pdf_pagina -- vraag de afmetingen van de pdf op

        «event InESkdrt» geplaatste_pdf_pagina given «class by  »:graden -- roteer eventueel de pdf in het illustratiekader (dus niet het illustratiekader zelf)

        if graden = 0 then -- pdf is niet geroteerd

        set movex to ((plaatbreedte - plaatformaat_correctie) / 2) - (pdfbreedte / 2) as number -- bereken de horizontale verplaatsing

        set movey to (plaathoogte - pdfhoogte - drukaanvang + snijteken_offset) as number -- bereken de verticale verplaatsing

        else if graden = -90 then -- pdf is geroteerd; met de klok mee

        set movex to ((plaatbreedte - plaatformaat_correctie) / 2) + (pdfhoogte / 2) as number -- bereken de horizontale verplaatsing

        set movey to {plaathoogte - pdfbreedte - drukaanvang + snijteken_offset} as number -- bereken de verticale verplaatsing

        else if graden = 90 then -- pdf is geroteerd; tegen de klok in

        set movex to ((plaatbreedte / 2) - (pdfhoogte / 2) - plaatformaat_correctie) as number -- bereken de horizontale verplaatsing

        set movey to {plaathoogte - drukaanvang + snijteken_offset} as number -- bereken de verticale verplaatsing

        end if

        move geplaatste_pdf_pagina to {movex, movey} -- voer de verplaatsing uit

        if machinelabel = "xHA4K" and graden = 0 then

        «event InESkdrt» geplaatste_pdf_pagina given «class by  »:180

        end if

        if machinelabel = "xWenD" and graden = 0 then

        «event InESkdrt» geplaatste_pdf_pagina given «class by  »:180

        end if

        if machinelabel = "x522" and graden = 0 then

        «event InESkdrt» geplaatste_pdf_pagina given «class by  »:180

        end if

        end tell

        if weerdruk = 1 then

        set pdf_pagina to pdf_pagina + 1

        set page number of PDF place preferences to pdf_pagina as number -- selecteer de pdf pagina die als weerdruk geplaatst dient te worden

        tell page ctp_pagina of ctp_document

        set illustratiekader to make rectangle with properties {geometric bounds:{0, 0, plaathoogte, plaatbreedte}} -- maak illustratiekader

        set geplaatste_pdf_pagina to place geexporteerde_pdf_bestandsnaam on illustratiekader -- plaats de pdf pagina IN het illustratiekader

        set {dummy1, dummy2, pdfhoogte, pdfbreedte} to geometric bounds of geplaatste_pdf_pagina -- vraag de afmetingen van de pdf op

        «event InESkdrt» geplaatste_pdf_pagina given «class by  »:graden -- roteer eventueel de pdf in het illustratiekader (dus niet het illustratiekader zelf)

        if graden = 0 then -- pdf is niet geroteerd

        set movex to ((plaatbreedte - plaatformaat_correctie) / 2) - (pdfbreedte / 2) as number -- bereken de horizontale verplaatsing

        set movey to {plaathoogte - pdfhoogte - drukaanvang - weerdrukafstand + snijteken_offset} as number -- bereken de verticale verplaatsing

        else if graden = -90 then -- pdf is geroteerd; met de klok mee

        set movex to ((plaatbreedte - plaatformaat_correctie) / 2) + (pdfhoogte / 2) as number -- bereken de horizontale verplaatsing

        set movey to {plaathoogte - pdfbreedte - drukaanvang - weerdrukafstand + snijteken_offset} as number -- bereken de verticale verplaatsing

        else if graden = 90 then -- pdf is geroteerd; tegen de klok in

        set movex to ((plaatbreedte / 2) - (pdfhoogte / 2) - plaatformaat_correctie) as number -- bereken de horizontale verplaatsing

        set movey to {plaathoogte - drukaanvang - weerdrukafstand + snijteken_offset} as number -- bereken de verticale verplaatsing

        end if

        move geplaatste_pdf_pagina to {movex, movey} -- voer de verplaatsing uit

        if graden = 0 then

        flip item geplaatste_pdf_pagina given «constant flpohorz»

        else

        flip item geplaatste_pdf_pagina given «constant flpovert»

        end if

        end tell

        end if

        if weerdruk = 2 then

        set ctp_pagina to ctp_pagina + 1

        set pdf_pagina to pdf_pagina + 1

        set page number of PDF place preferences to pdf_pagina as number -- selecteer de pdf pagina die als weerdruk geplaatst dient te worden

        tell page ctp_pagina of ctp_document

        set illustratiekader to make rectangle with properties {geometric bounds:{0, 0, plaathoogte, plaatbreedte}} -- maak illustratiekader

        set geplaatste_pdf_pagina to place geexporteerde_pdf_bestandsnaam on illustratiekader -- plaats de pdf pagina IN het illustratiekader

        set {dummy1, dummy2, pdfhoogte, pdfbreedte} to geometric bounds of geplaatste_pdf_pagina -- vraag de afmetingen van de pdf op

        «event InESkdrt» geplaatste_pdf_pagina given «class by  »:graden -- roteer eventueel de pdf in het illustratiekader (dus niet het illustratiekader zelf)

        if graden = 0 then -- pdf is niet geroteerd

        set movex to ((plaatbreedte - plaatformaat_correctie) / 2) - (pdfbreedte / 2) as number -- bereken de horizontale verplaatsing

        set movey to {plaathoogte - pdfhoogte - drukaanvang + snijteken_offset} as number -- bereken de verticale verplaatsing

        else if graden = -90 then -- pdf is geroteerd; met de klok mee

        set movex to ((plaatbreedte - plaatformaat_correctie) / 2) + (pdfhoogte / 2) as number -- bereken de horizontale verplaatsing

        set movey to {plaathoogte - pdfbreedte - drukaanvang + snijteken_offset} as number -- bereken de verticale verplaatsing

        else if graden = 90 then -- pdf is geroteerd; tegen de klok in

        set movex to ((plaatbreedte / 2) - (pdfhoogte / 2) - plaatformaat_correctie) as number -- bereken de horizontale verplaatsing

        set movey to {plaathoogte - drukaanvang + snijteken_offset} as number -- bereken de verticale verplaatsing

        end if

        move geplaatste_pdf_pagina to {movex, movey} -- voer de verplaatsing uit

        if graden = 0 then

        flip item geplaatste_pdf_pagina given «constant flpohorz»

        else

        flip item geplaatste_pdf_pagina given «constant flpovert»

        end if

        end tell

        end if

        set ctp_pagina to ctp_pagina + 1

        set pdf_pagina to pdf_pagina + 1

        end repeat

       

        repeat with ctp_pagina from 1 to aantal_paginas

        tell page ctp_pagina of ctp_document -- maak hulplijnen

        make guide with properties {orientationconstant flpovert», locationplaatbreedte - plaatformaat_correctie) / 2} -- verticaal midden van de (evt. gesneden) plaat

        make guide with properties {orientationconstant flpovert», locationplaatbreedte / 2)} -- verticaal midden van het bestand

        make guide with properties {orientationconstant flpohorz», location:plaathoogte - drukaanvang}

        make guide with properties {orientationconstant flpohorz», location:plaathoogte - drukaanvang - weerdrukafstand}

        end tell

        end repeat

       

        -- sla het indesign document  met geplaatste pdf op

        tell active document to save to ctp_document_bestandsnaam

       

      end tell

      tell application "Adobe InDesign CC 2015"

        activate

        tell text defaults

        set fill color to zwart

        set fill tint to 100

        end tell

      end tell