Effects using Object Layer Options

Under Object Layer Options I would love to be able to apply effects to individual layers. If I can view / turn "off" or "on" individuals layers, then why not be able to apply effects as well?
For instance: say I have an image of an apple photographed on a white background, that includes a cast shadow, and I want to place that image on a colored background in InDesign. In Photoshop, I would build the file so the clipped apple is on layer 1. The cast shadow would be on layer 2 below.
When placed in InDesign, and using Object Layer Options, it would be great if I could set layer 1 to "normal" and layer 2 to "multiply"... thus having only the cast shadow multiplied to the colored background.
Currently my method would be to place the same apple image twice in InDesign (directly on top of each other). I then use Object Layer Options to hide the cast shadow on the top image and keep the object effect set at normal. For the bottom image, I set the entire image to multiply. I then group the two images together.
Not a tedious task by any means, but having the ability to apply different layer effects to a single image would streamline the process.
BTW: does Adobe review the Feature Requests posted in this forum, or only those posted using their wishform address?: https://www.adobe.com/cfusion/mmform/index.cfm?name=wishform.
Just curious.

I've seen that technique used if the shadow is built using black ink only. Does it still work if the shadow is a process blend?
From: jblay-design <[email protected]<mailto:[email protected]>>
Reply-To: "[email protected]<mailto:[email protected]>" <[email protected]<mailto:[email protected]>>
Date: Mon, 12 Dec 2011 13:56:11 -0700
To: Christopher Lowe <[email protected]<mailto:[email protected]>>
Subject: Effects using Object Layer Options
Re: Effects using Object Layer Options
created by jblay-design<http://forums.adobe.com/people/jblay-design> in InDesign Feature Requests - View the full discussion<http://forums.adobe.com/message/4079974#4079974

Similar Messages

  • Object layer options in InDesign not working when I revise my file in Photoshop?

    I have placed a layered photoshop file on multiple pages in my InDesign document. The photoshop file has a folder for each page that I can turn on in InDesign with object layer options. This works well until I revise the photoshop file in any way. When the photoshop file changes, InDesign updates all of the versions of the placed image to some sort of default, no longering recognizing the object layers I chose before revising the file. I've tried both "update link options" at the bottom of the dialog box to no avail. Any suggestions? I am using CS6, version 8.0. Thank you.

    In the Object Layers Override dialog for each instance have you got it set to preseerve the current layer visibility on relink?
    That should work UNLESS you change the number, naming or ordering of layers when you edit. If you do that ID no longer knows whaat to do and always uses the current layer visibility in the saved file.

  • How do I change object layer options and select visible psd layers for an image?

    Hello
    I have a plugin that replaces images in an indeisgn document. When a user has selected to show one object layer in a psd but not another layer, Indesign looses this information when I replace the old image.
    I can store the layers that are visisble before I replace the image, but I have not been able to change the visibility of tha layers back in a correct way.
    When the image is replaced, all the layers becomes visible, but if I open the "Object layers options" dialog, only the layers I want to be visible is marked as visible in the list. What I see in the dialog does not correspond with what is shown on the screen.
    I use the folowing code to store info about the visible layers:
    K2Vector<int32> PnlTrvUtils::GetGraphicLayer(UIDRef imageRef) {
        ErrorCode    result;
        K2Vector<int32> visibleLayers;
        InterfacePtr<IGraphicLayerInfo> iGraphicLayerInfo(imageRef,IID_IGRAPHICLAYERINFO);
        if ( iGraphicLayerInfo != 0 ) {
            if ( ! iGraphicLayerInfo->GetIsInitialized() ) {
                InterfacePtr<ICommand> iInitializeGraphicLayersCmd(CmdUtils::CreateCommand( kInitializeGraphicLayersCmdBoss ));
                if ( ! iInitializeGraphicLayersCmd ) {
                    result = kFailure;
                } else {
                    iInitializeGraphicLayersCmd->SetItemList( UIDList( imageRef ));
                    result = CmdUtils::ProcessCommand( iInitializeGraphicLayersCmd );
                    if ( result == kSuccess )
                        if ( ! iGraphicLayerInfo->GetIsInitialized() )
                            result = kFailure;
            int32    i;
            int32 iLayerCount = iGraphicLayerInfo->GetNumberLayers();
            for ( i = 0; i < iLayerCount; i++ ) {
                if (IGraphicLayerInfo::kVisibilityShowing ==iGraphicLayerInfo->GetNthLayerCurrentVisibility(i)) {
                    // CAlert::ErrorAlert("visible");
                    visibleLayers.push_back(i);
        return visibleLayers;
    And I use the folowing code to select the layers I want to be visisble:
    void PnlTrvUtils::SetVisibleGraphicLayer(UIDRef imageRef, K2Vector<int32> visibleLayers) {
        ErrorCode    result;   
        InterfacePtr<IGraphicLayerInfo> iGraphicLayerInfo(imageRef,IID_IGRAPHICLAYERINFO);
        if ( iGraphicLayerInfo != 0 ) {
            if ( ! iGraphicLayerInfo->GetIsInitialized() ) {
                InterfacePtr<ICommand> iInitializeGraphicLayersCmd(CmdUtils::CreateCommand( kInitializeGraphicLayersCmdBoss ));
                if ( ! iInitializeGraphicLayersCmd ) {
                    result = kFailure;
                } else {
                    iInitializeGraphicLayersCmd->SetItemList( UIDList( imageRef ));
                    result = CmdUtils::ProcessCommand( iInitializeGraphicLayersCmd );
                    if ( result == kSuccess )
                        if ( ! iGraphicLayerInfo->GetIsInitialized() )
                            result = kFailure;
            InterfacePtr<ICommand> setLayerCmd(CmdUtils::CreateCommand(kSetGraphicLayerInfoCmdBoss));
            if (setLayerCmd) {
                setLayerCmd->SetItemList(UIDList(imageRef));
                InterfacePtr<IGraphicLayerInfo> setLayerCmdLayerInfo(setLayerCmd, UseDefaultIID());
                // copy over the new settings
                setLayerCmdLayerInfo->Copy(iGraphicLayerInfo);
                int32    i;
                InterfacePtr<IGraphicLayerInfo> resetLayerInfo(setLayerCmdLayerInfo,IID_IGRAPHICLAYERINFO);
                if (resetLayerInfo) {
                    int32 iLayerCount = resetLayerInfo->GetNumberLayers();
                    for ( i = 0; i < iLayerCount; i++ ) {
                        bool16    visible = false;
                        for(int32 j = 0; j < visibleLayers.size(); j ++) {
                            if (i == visibleLayers[j]) {
                                visible = true;
                        if (visible) {
                            resetLayerInfo->SetNthLayerCurrentVisibility(i, IGraphicLayerInfo::kVisibilityShowing);
                        } else {
                            resetLayerInfo->SetNthLayerCurrentVisibility(i, IGraphicLayerInfo::kVisibilityHidden);
                    // clear out the flag
                    int32 currFlags = static_cast<int32>(setLayerCmdLayerInfo->GetGraphicLayerFlags());
                    currFlags &= ~IGraphicLayerInfo::kValidationFailed;
                    setLayerCmdLayerInfo->SetGraphicLayerFlags(static_cast<IGraphicLayerInfo::GraphicLayerFla gs>(currFlags));
                    // process the command
                    CmdUtils::ProcessCommand(setLayerCmd);

    Hello,
    Did you get this to work?
    Thanks.
    P.

  • Modify "object layer properties" on all odd/even pages based on...

    Hello,
    looking for a script to modify the "object layer properties" of placed .indd files.
    Ideal, a script wich runs on all even pages (based on master B), and sets the object layer options to layer1 visible/2 invisble.
    and on the odd pages: layer1 invisible/2 visible...
    don't know where to start...
    If there are some freelance scripters on the forum?
    grts!!!

    I'm looking for someone to write it for me.
    Are you an experienced indesign scripter?
    We very often need indesign scripts...wich language do you use?
    grts
    Stijn Van Roey :: m. 0496123279 :: [email protected]

  • Creation of Disctribution Model view using Distribution using object classe

    Hi All ,
             Can anybody tell me how to create distribution model through  Distribution using object classes option in SALE transaction(Path : SALE - > Modelling and implementing Business processes - > master data Distribution - > Distribution using object classes).What is the difference between normal distribution model creation through BD64 and creating in the above way?
    Please help me its urgent.Thanks in advance.
    Regards,
    Rakesh.

    Hi All ,
             Can anybody tell me how to create distribution model through  Distribution using object classes option in SALE transaction(Path : SALE - > Modelling and implementing Business processes - > master data Distribution - > Distribution using object classes).What is the difference between normal distribution model creation through BD64 and creating in the above way?
    Please help me its urgent.Thanks in advance.
    Regards,
    Rakesh.

  • Smart object layer from PS to AI. how to use??

    I successfully work AI vector objects as placed objects into PS by copy pasting or file/place into a smart object layer in PS, I find value in making changes to my vector object dimensions in AI and seeing them updated in PS,
    but I don`t know how to do it the other way, meaning a PS jpeg on a layer to AI as smart object, I choose an image on its own layer in PSCS4 and convert to smart object, I (right click) export the contents as jpeg smart object, and then back in AI go file/place the smartobject jpeg, when I make changes to the PSsmartobject in PS like colour shift or dimensions change nothing happens in AI,
    I would like to have an image pasted from PS into AI whereby I can change colours and dimensions or add pixels like paint on that smartobject layer in PS and then have it update in AI...

    To my knowledge Illustrator does not support smart objects. However it does support image linking. Which means if you update a image in photoshop, Illustrator will know the file has changed.
    When placing the file, you will see a checkbox at the bottom of the open dialog box for link, make sure it is checked. When you update the file when Illustrator is running with that file opened, you will get a promt telling you the file has changed and asked you if you want to update the image.
    If you choose not to update the image at that time, you can click on the linked file text in the top tool bar and update the image from there.
    If the file is not open or Illustrator is not running then the file will update the next time you open the file.
    Also you will find a edit original button in the top tool bar to take you back to what ever image editor is assigned to that file format.
    To assign a file format to photoshop:
    For this example we will use jpeg extention
    1) Open windows explorer
    2) Menu options tools>folder options>File types tab>scroll to jpeg and click on it
    3) Click the advanced tab
    4) see what actions are listed odds are only open and printo are listed
    5) If Edit is not listed, click on the new button
    6) For the action type EDIT
    7) For the application used to perform action click the browse button
    8) Browse for photoshop.exe
    9) The following should now be in the application used to perform action box:
    "C:\Program Files\Adobe\Adobe Photoshop CS3\Photoshop.exe" %1
    The above file location is assuming you have CS3 and you used the default installation edit original button in Illustrator and the right mouse button menu in windows explorer will take you to photoshop to edit the file.
    10) After you click OK you will see the new EDIT action in the list
    11) Click OK  and then click close to get out of all the dialog boxes
    The action can be removed at any time or edited to use another application.

  • What's the easiest way to move or copy an effect from a layer or object to another layer or object?

    If I drag an effect from the target circle of one object to anther in the layer's panel it replaces the effect along with all appearance. But I want just to add the effect. For example, a layer has a drop shadow and a path, round corners. I want to move the drop shadow from the layer  to the path so that the path now has the round corners and the drop shadow. 
    To do this I have to open the shadow effect of the layer wright down its parameters, then create a shadow effect for the path with the same parameters which is a lot of work. Any easier way?

    Thanks Monika,
    May be I'm not understanding you or may be you misunderstood me.
    This is an example:
    Create a document and a path (for example a box) and apply Effects > Stylize > Round Corners
    In the layers panel, click the target circle of the layer and apply Effects > Stylize > Drop Shadow.
    Now I want to move or copy the drop shadow from the layer and add it to the path without removing the Round Corners effects already applied to the path.
    The result for the path should be Drop Shadow effect added to it and the Round Corners effect remains. 
    The result for the layer should be no effect remains for it in case of moving the effect or the Drop Shadow effect remains in case of copying it (holding Alt key while dragging from its target circle).

  • Invoking script using smart object layer - fails in Windows

    I have recently encountered in what seems to be a bug in Configurator in Windows. The same example works on a Mac.
    The scenario is the following: a document with a smart object layer on top.
    A configurator button executes the script app.activeDocument.activeLayer.resize(133.33333, 133.33333, AnchorPosition.MIDDLECENTER);
    This causes an error message as below:
    If I instead invoke the script manually, using File > Scripts > Browse... it works fine.
    The button works fine if the smart object is rasterized.
    I'm running Configurator 2 (052610), CS5 and Windows XP. Any help is greatly appreciated!

    In sure if this is all you need to correct the error but the function below will return the active smart object contents type.
    // returns either "vectorData" ( AI ) or "rasterizeContent" ( PS or ACR ) if smart cbject layer
    // or undefined if not smart object layer
    function getSmartObjectType(){
        var ref = new ActionReference();
        ref.putEnumerated( charIDToTypeID('Lyr '), charIDToTypeID('Ordn'), charIDToTypeID('Trgt') );
        var desc = executeActionGet(ref);
        if(desc.hasKey(stringIDToTypeID('smartObject'))){// is smart object?
            var desc = executeActionGet(ref).getObjectValue(stringIDToTypeID('smartObject')).getEnumerationValue(stringIDToTypeID('placed'));
            return typeIDToStringID(desc);

  • In a prior photoshop cc version there were filters that could used as a effect(not a layer) that are NOT available now? why ?

    In a prior photoshop cc version there were filters that could used as a effect(not a layer) that are NOT available now? why ?

    Ok no one has been able to help me so far this is it. I NEVER had these problems with photoshop CS6 extended edition!
    The best i can do to describe the dissappearing filters( from iteratrions of Photoshop CC for the last year to now) and pattern overlays were called marble, stones and concretes. where can aI find a list of pattern overlays?
    will it do any good to repost to all on this forum?

  • My video needs to go on a SD DVD single layer-it is 1h 51m long-the only way I can make is fit is encode H. 264-not ideal-I am using the Share option in FCP-native media was shot 980x720...any other way to do this??

    My video needs to go on a SD single layer DVD…it is 1h 51m long…the only way I can make it fit is encode H. 264…not ideal…I am using the Share option in FCP…native media was shot 980x720...any other way to do this??

    To play on DVD Players, it has to be MPEG2.
    It's under 2 hours; I'm surprised it won't fit. If not, get Compressor and lower the bit rate to fit.
    The native resolution was 980X720…you mean 960?
    It will all be resized to 720X480, which is DVD standard.
    Russ

  • Why can't GB let me use 'electric guitar' option when using Nio 2/4 interface - I have to use real instrument and miss out on all the effects. Is this normal for all interfaces?

    Why can't GB let me use 'electric guitar' option when using Nio 2/4 interface - I have to use real instrument and miss out on all the effects. Is this normal for all interfaces? The Nio reads hte guitar but GB doesn't....

    Usually effects packages are AU plugins that would have no effect on track selection. Interfaces should have no control over what kind of track you can select. I really think something else is going on her maybe something you overlooked.
    Did you choose the input channel in the track info pane. Try both channel 1 mono or channel 2 mono. Make sure the track is record enabled.

  • [kwin] Failed to activate desktop effects using the given conf options

    Every time i logged in  kde session, desktop effects are disabled. If I try to change compositing mode I always get this error message:
    Failed to activate desktop effects using the given configuration options. Settings will be reverted to their previous values.
    Check your X configuration. You may also consider changing advanced options, especially changing the compositing type.
    If i delete ~/.kde4 folder and restart the system, then I have default session and I can change compositing mode and all effects are working smoothly. But after next restart effects are gone again and this message occurs
    Is there are any ways to investigate/debug step by step this sort of problem? All i have googled about this message is too old or does not helpoing in my case
    I had fglrx driver 14.1, then i switched back to open source driver
    here is pasbin with all usefull outputs
    glxingo, uname, dmesg, xorg session errors and xorg log files
    http://pastebin.com/hPSr5vzF
    Last edited by AlexRu (2014-02-09 05:24:12)

    Same here, every time I log in all the desktop effects were disabled, I tried reinstalling KDE and rebooting for several times but still get the same result. The only fix I know for now is to logout and login but even that does not always work.

  • Using expand appearance option

    Hi, I am new to Illustrator CC ( I last used it on an iMac way back in 1994 - OS.9 as it was then). I work almost exclusively in Photoshop & Muse but I am trying to work through an Illustrator tutorial about creating buttons. Here are the instructions verbatim so far:
    Pick the Rectangle Tool (M) and click on your artboard. Enter 93 in the width box and 32 in the height box then click OK. This will create a 93 by 32px shape. Fill it with R=0 G=182 B=241 then go to Effect > Stylize > Rounded Corners. Enter a 17px radius then click OK.
    Now, your shape should look like the following image. Select it and hit Control + C then hit Control + F. This will add a copy in front. Have a quick look in your Layers panel (Window > Layers) and make sure that you have the two shapes created so far.
    Select the copy made in the previous step and go to Object > Expand Appearance. Select the resulting shape and go to Object > Path > Offset Path. Enter a -1px Offset then click OK. Fill the resulting shape with white then reselect the expanded, blue shape and delete it.
    Seems all very straightforward but Control+F places a duplicate on the same layer (I think!). Why not Control+J?
    Which selection tool is not specified.
    Using either selection tool and Object>Expand Appearance results in a greyed out option. Expand ... is active but when selected nothing happens.
    Where am I going wrong or is the tutorial inaccurate?

    brushwipe,
    1) as Monika said.
    When you expand the inner shape you may as well start by expanding the outer shape and then just use Object>Path>Offset Path and recolour the inner path and be done with it.
    If you wish to keep the tutorial mess:
    2) the (normal) Selection Tool (black arrow), but there is no need to use it before Object>Expand Appearance because the copy is selected already.
    3) When you have clicked Object>Expand Appearance, you should see the double Anchor Points at the rounded corners. If that does not work, and you have followed the step carefully, something is wrong with the preferences or something.

  • Sum in ALV grid display using objects

    Hi Experts,
    I have created a Report with ALV using objects and also am able to get SUM for some fields using do_sum = 'X'.
    My problem is i want to do some calculation using the total amount which i have got, how can i do that (or can it be done??).
    Thanks in Advance...
    Santosh

    Hi this may be of some help.
    ABAP List Viewer
    The common features of report are column alignment, sorting, filtering, subtotals, totals etc. To implement these, a lot of coding and logic is to be put. To avoid that we can use a concept called ABAP List Viewer (ALV).
    This helps us to implement all the features mentioned very effectively.
    Using ALV, We can have three types of reports:
    1. Simple Report
    2. Block Report
    3. Hierarchical Sequential Report
    There are some function modules which will enable to produce the above reports without much effort.
    All the definitions of internal tables, structures and constants are declared in a type-pool called SLIS.
    1. SIMPLE REPORT.
    The important function modules are
    a. Reuse_alv_list_display
    b. Reuse_alv_fieldcatalog_merge
    c. Reuse_alv_events_get
    d. Reuse_alv_commentary_write
    e. Reuse_alv_grid_display
    A. REUSE_ALV_LIST_DISPLAY : This is the function module which prints the data.
    The important parameters are :
    I. Export :
    i. I_callback_program : report id
    ii. I_callback_pf_status_set : routine where a user can set his own pf status or change the functionality of the existing pf status
    iii. I_callback_user_command : routine where the function codes are handled
    iv. I_structure name : name of the dictionary table
    v. Is_layout : structure to set the layout of the report
    vi. It_fieldcat : internal table with the list of all fields and their attributes which are to be printed (this table can be populated automatically by the function module REUSE_ALV_FIELDCATALOG_MERGE
    vii. It_events : internal table with a list of all possible events of ALV and their corresponding form names.
    II. Tables :
    i. t_outtab : internal table with the data to be output
    B. REUSE_ALV_FIELDCATALOG_MERGE : This function module is used to populate a fieldcatalog which is essential to display the data in ALV. If the output data is from a single dictionary table and all the columns are selected, then we need not exclusively create the field catalog. Its enough to mention the table name as a parameter(I_structure name) in the REUSE_ALV_LIST_DISPLAY. But in other cases we need to create it.
    The Important Parameters are :
    I. Export :
    i. I_program_name : report id
    ii. I_internal_tabname : the internal output table
    iii. I_inclname : include or the report name where all the dynamic forms are handled.
    II Changing
    ct_fieldcat : an internal table with the type SLIS_T_FIELDCAT_ALV which is
    declared in the type pool SLIS.
    C. REUSE_ALV_EVENTS_GET : Returns table of possible events for a list type
    Parameters :
    I. Import :
    Et_Events : The event table is returned with all possible CALLBACK events
    for the specified list type (column 'NAME'). For events to be processed by Callback, their 'FORM' field must be filled. If the field is initialized, the event is ignored. The entry can be read from the event table, the field 'FORM' filled and the entry modified using constants from the type pool SALV.
    II. Export :
    I_List_type :
    0 = simple list REUSE_ALV_LIST_DISPLAY
    1 = hierarchcal-sequential list REUSE_ALV_HIERSEQ_LIST_DISPLAY
    2 = simple block list REUSE_ALV_BLOCK_LIST_APPEND
    3 = hierarchical-sequential block list
    REUSE_ALV_BLOCK_LIST_HS_APPEND
    D. REUSE_ALV_COMMENTARY_WRITE : This is used in the Top-of-page event to print the headings and other comments for the list.
    Parameters :
    I. it_list_commentary : internal table with the headings of the type slis_t_listheader.
    This internal table has three fields :
    Typ : ‘H’ – header, ‘S’ – selection , ‘A’ - action
    Key : only when typ is ‘S’.
    Info : the text to be printed
    E. REUSE_ALV_GRID_DISPLAY : A new function in 4.6 version, to display the results in grid rather than as a preview.
    Parameters : same as reuse_alv_list_display
    This is an example for simple list.
    2. BLOCK REPORT
    This is used to have multiple lists continuously.
    The important functions used in this report are:
    A. REUSE_ALV_BLOCK_LIST_INIT
    B. REUSE_ALV_BLOCK_LIST_APPEND
    C. REUSE_ALV_BLOCK_LIST_HS_APPEND
    D. REUSE_ALV_BLOCK_LIST_DISPLAY
    A. REUSE_ALV_BLOCK_LIST_INIT
    Parameters:
    I. I_CALLBACK_PROGRAM
    II. I_CALLBACK_PF_STATUS_SET
    III. I_CALLBACK_USER_COMMAND
    This function module is used to set the default gui status etc.
    B. REUSE_ALV_BLOCK_LIST_APPEND
    Parameters :
    Export :
    I. is_layout : layout settings for block
    II. it_fieldcat : field catalog
    III. i_tabname : internal table name with output data
    IV. it_events : internal table with all possible events
    Tables :
    i. t_outtab : internal table with output data.
    This function module adds the data to the block.
    Repeat this function for all the different blocks to be displayed one after the other.
    C. REUSE_ALV_BLOCK_LIST_HS_APPEND
    This function module is used for hierarchical sequential blocks.
    D. REUSE_ALV_BLOCK_LIST_DISPLAY
    Parameters : All the parameters are optional.
    This function module display the list with data appended by the above function.
    Here the functions REUSE_ALV_FIELDCATALOG_MERGE, REUSE_ALV_EVENTS_GET, REUSE_ALV_COMMENTARY_WRITE can be used.
    3. Hierarchical reports :
    Hierarchical sequential list output.
    The function module is
    A. REUSE_ALV_HIERSEQ_LIST_DISPLAY
    Parameters:
    I. Export:
    i. I_CALLBACK_PROGRAM
    ii. I_CALLBACK_PF_STATUS_SET
    iii. I_CALLBACK_USER_COMMAND
    iv. IS_LAYOUT
    v. IT_FIELDCAT
    vi. IT_EVENTS
    vii. i_tabname_header : Name of the internal table in the program containing the
    output data of the highest hierarchy level.
    viii. i_tabname_item : Name of the internal table in the program containing the
    output data of the lowest hierarchy level.
    ix. is_keyinfo : This structure contains the header and item table field
    names which link the two tables (shared key).
    II. Tables
    i. t_outtab_header : Header table with data to be output
    ii. t_outtab_item : Name of the internal table in the program containing the
    output data of the lowest hierarchy level.
    slis_t_fieldcat_alv : This internal table contains the field attributes. This internal table can be populated automatically by using ‘REUSE_ALV_FIELDCATALOG_MERGE’.
    Important Attributes :
    A. col_pos : position of the column
    B. fieldname : internal fieldname
    C. tabname : internal table name
    D. ref_fieldname : fieldname (dictionary)
    E. ref_tabname : table (dictionary)
    F. key(1) : column with key-color
    G. icon(1) : icon
    H. symbol(1) : symbol
    I. checkbox(1) : checkbox
    J. just(1) : (R)ight (L)eft (C)ent.
    K. do_sum(1) : sum up
    L. no_out(1) : (O)blig.(X)no out
    M. outputlen : output length
    N. seltext_l : long key word
    O. seltext_m : middle key word
    P. seltext_s : short key word
    Q. reptext_ddic : heading (ddic)
    R. ddictxt(1) : (S)hort (M)iddle (L)ong
    S. datatype : datatype
    T. hotspot(1) : hotspot
    with regards,
    Hema Sundara.
    pls reward if u find it helpful.

  • Indesign Applescript Placed Object Layer Visibilty Override

    Hi, trying to programmatically control layer visibility of placed objects (either AI or other ID files) in a multi-page Indesign document.  Have looked all over the dictionary but can't seem to figure a way to reference the layers.
    Would someone have an example of how to do this in Applescript?  (Please, not javascript, will convert one day but for now am staying with AS.)
    Thanks!

    Thanks, Mary, your suggestion has put me on a good path, but I'm still having some trouble.
    I have several similar documents, each having multiple pages with one placed item per page that are linked, not embedded.  Each of those placed items may or may not have a layer with a specific name.  I'm trying to iterate through the links and toggle visibility of the layers within the placed objects as needed.
    Ultimately the script would:
        Cycle through all links in the target doc.
            Get a list of all layers in the current link of the cycle.
            Cycle through a list of layer names to check.
                Set the desired layer to visible, all others in the list to not visible.
                (This could be with a string var that was the same as the desired entry in the list, or a numeric index var to compare with where the counter was in its cycle)
    Here's a verbose example of what I've got so far.  It assumes the target document is already open...
    # With which app are we working?
    tell application "Adobe InDesign CC 2014"
        # With which document are we working?
        set theDocName to "My Indesign Document"
        # Which layer do we want to be visible?   
        set theDesiredLayer to "My Desired Visible Layer"
        # Set the Document ID of the chosen document
        set theDocID to document named theDocName
        # Work with the chosen document
        tell theDocID
            # Create an object of all links of the chosen document
            set theDocLinks to links of theDocID
            # Set the count of all links in the chosen document
            set theDocLinksCount to count of theDocLinks
            # Cycle through all the linked objects
            repeat with i from 1 to theDocLinksCount
                # Create an object of the current link
                set theCurLink to item i of theDocLinks
                # Set the name of the current link
                set theLinkName to name of theCurLink
                # Create an object of the parent of the current link
                set theLinkParent to parent of theCurLink
                # Create an object of the graphic layer options of the parent of the current link
                set theGraphicLayerOptions to graphic layer options of theLinkParent
                # Get a count of the layers in the current link
                set theLayerCount to count of graphic layers of theGraphicLayerOptions
                # Cycle through the layers in the current link
                repeat with j from 1 to theLayerCount
                    # Create an object of the current layer
                    set theLayer to item j of graphic layers of theGraphicLayerOptions
                    # THIS FAILS
                    set theLayerName to name of theLayer
                    log "Layer: '" & theLayerName & "' ~ Visible: '" & current visibility of graphic layer theLayerName of theOptions
                    # THIS WORKS ONLY UNDER CERTAIN CONDITIONS
                    set current visibility of graphic layer theDesiredLayer of theGraphicLayerOptions to true
                end repeat
            end repeat
        end tell
    end tell
    The part that works does so only when I let it act on specific links (based on theLinkName).  If the link has no such layer, it bombs (as expected).
    I'd really rather just iterate through the layers of each link and take action based on whether or not my target layer exists in that link.  For that to happen, I need to be able to access the name of the layer.
    When cycling through the layers,
        set theLayer to item j of graphic layers of theGraphicLayerOptions
    *should* return a graphic layer object, which has a name property that I could then use for comparison.  But that always fails.
    I've also tried other properties of the graphic layer object such as parent, object reference, etc. It always bombs out when I try to work with the layer object.
    The obvious conclusion is that I'm not really creating a graphic layer object, but according to the dictionary it seems this should work.
    Any ideas what I'm doing wrong?
    Thanks!

Maybe you are looking for