Export of Layer Comps?

Hello

I'm quite new to the development of a Photoshop plugin, so this question may have an obvious answer, but I read the SDK documentation, and Googling around during two days without result so I came here to help.

I am trying to create an export plugin that exports a number of layers in a document (filtered by their names) in the form of png files. After reading the docs, I'm left wondering if this is possible. The exporter example in the SDK plugin exports the current state of the document in the form of raw data, but I've seen no indication that exporter plugins can apply or enumerate layers or otherwise manipulate the State of the document. Based on my knowledge, this would likely be possible with a plugin automation, but I don't have a pretty good understanding on how which those who work to start experimenting with them yet.

So my questions are:

  • Is it possible to use a plugin to export to export several different layers? (Essentially the same as the script "title of layers in files") We would prefer a plugin c ++ to do this we need the plugin to interface with our current systems for which libraries are written in c ++
  • If so, how would I go all this? The SDK documentation is rather vague on this point.
  • If not, it would be possible to do by combining a plugin automation and if so, how?
  • If none of the above are possible, what do you suggest me?

Thank you

Barna Buza

Need you a combination of a plugin automation and/or a format file or export plugin. If it is the same that layers to files, so it shouldn't take much work to convert the part 'Automation' of the JSX file in code C/C++ 'automation '. For the things in the JSX script that are part of the DOM, you use the earpiece and the get accessor for finding the ActionDescriptor/ActionReference/ActionList equivalent code to use in your automation plugin.

Another option would be to get the ExtendScript engine in your plugin C++ automation and just run the JavaScript code.

It all depends on the degree of control you want.

Tags: Photoshop

Similar Questions

  • Layer Comps in layers

    I watch a few videos of Adobe and each seems to stop just where I need to go.

    (layers in layer comps may be confusing, so I'll try to do it is as simple as possible!)

    (A)

    I have a PSD that has 20 layers composed of 20 LINKED PSDs (1920 x 1080).

    (each layer 20 make up a Storyboard for a film table)

    (B)

    I have a second PSD is 3000 x 2000

    (this is a movie theater scene that fits the psd 'A' to fill the screen, 1920 x 1080, centered at 3000 x 2000 with theatre scene).

    I want to copy / reproduce compositions of layers of 'A' to 'B '.

    PSD > "has".

    A_layercomp_01 (scene_01.psd)

    A_layercomp_02 (scene_02.psd)

    A_layercomp_03 (scene_03.psd)

    ... well now

    PSD > 'B '.

    B_layercomp_01 (A_layercomp_01)

    B_layercomp_02 (A_layercomp_02)

    B_layercomp_03 (A_layercomp_03)

    ... well now

    The psd 'A' must be updated several times.

    I would like to make changes to the "one" the psd (1920 x 1080) and they reflect in the psd 'B' (3000 x 2000) without having to export JPEG/PNG files for the theatrical stage.

    Whenever I change the drop-down list of PROPERTIES, it does not save the State.

    what Miss me?

    Thanks in advance.

    If I understand your question, then it is possible to work in this way and everything works fine. If you have a and B documents are open in Photoshop as separate files and image file has change/swap > Comp 5 using replace content command (or link back to the file) and then save the changes it will be reflected in document B immediately if this model (for example 5) is selected in the properties panel.

    I test on the latest version of Photoshop: CC 2015.0.1.

  • Layer comps to files with auto trim

    Hello

    I use the modified script "Comps to files.jsx" export my compositions of layers (with the label of the composition of layers as my file name)

    http://www.PS-scripts.com/BB/viewtopic.php?f=9 & t = 5277

    It of a good script and makes my worklfow.

    The only thing missing for me is a compensation option when I run this script. as some of the layers have different heights

    After I run the script, I have to manually crop the jpgs in PS and then save again.

    In the script of "Layers to files" by default that comes with the PS, there is an option for auto trim png upon export of layers

    I am grateful for any help on these questions that I have.

    There's something similar for layer comps?

    - I changed the 'Comps to files' scrip originalt and I now have the possibility (if I chose the png as my file type) to cut the layer, but when I open the exported file it din't cultures.

    Is there an option for auto trim jpg?

    Thank you

    Noel

    There was a typo in one of the variables in JPG.  You don't know how it worked for me with this typo.  Re-download and try again.

  • How to navigate through Layer Comps on my device?

    I navigate my compositions of layers on my device. How?

    CC shows print preview the layout of the active layer in Photoshop. Use the layer Comp panel in Photoshop to select which layer comp to see a preview.

  • Is it possible to export each layer of an Illustrator file in PNG files automatically?

    Is it possible to automatically export each layer of an Illustrator file in PNG files, with PNG files, taking the name of the layer in the Illustrator file?

    I found this useful script before:

    http://www.Ericson.NET/content/2011/06/export-Illustrator-layers-andor-artboards-as-PNGs-a nd - PDF.

    It is very versatile

  • How layer comps are linked to the layers in the PSD file?

    I am developing an application of external command line c ++ to analyze a PSD file (using the PSD specification - http://www.adobe.com/devnet-apps/photoshop/fileformatashtml/PhotoshopFileFormats.htm#50577 409_17115) in order to extract important information. One of the main things I need is information linking layers to the layers themselves. Digging through the section Image resource specifying "Layers - 1065" I'm only able to extract the name, comments, etc. on the comp. layer is the question I have: how the layers are referenced by the layers in the PSD file? I need to know what layers are applied to each layer comp. Looking through the scripts provided with the PS (for example layers in files), the composition of layers is always "applied" before watching to see what are the layers inside this model. It seems to be the creation of an Action and the implementation of this action with the class identifier of the layer comp before watching his diapers, so this method should know on which layers are referred to by this layer comp. Specifically, what do I need to be able to do and, so far, have failed.

    It is important that I stick with c ++ & that it be an external application, so the Plugin SDK is not much help here.

    I would really appreciate any ideas/suggestions on this subject.

    Thank you all.

    If someone falls on this issue once again, last night, I found the data using a control of the layer comp binary ID I have model layer section. The composition of layers--> data layer is inside a section of "undocumented"data under the tag Layer Records: shmd

    Hope this helps someone.

    TREV-

  • Layer Comps in JPG format save for Web

    Hi all

    I use the script of "Composition of layers to files" a lot to send a few designs to clients. And sometimes I need to send a large number of jpg files at the same time, that are created with "Layers to files", but they are around 300 k or more, and when I use safe for the web it reduces the file size a lot! But I don't want todo it all manually again of course.

    So I was wondering, is there any script which saves your JPGs Comps of layer in a JPG file which is compressed with the backup of the Web technology levels?

    Thanks in advance.

    Jeroen

    Locate these lines in the script

    case jpegIndex:
         docRef.bitsPerChannel = BitsPerChannelType.EIGHT;
         var saveFile = new File(exportInfo.destination + "/" + fileNameBody + ".jpg");
         jpgSaveOptions = new JPEGSaveOptions();
         jpgSaveOptions.embedColorProfile = exportInfo.icc;
         jpgSaveOptions.quality = exportInfo.jpegQuality;
         docRef.saveAs(saveFile, jpgSaveOptions, true, Extension.LOWERCASE);
         break;
    

    Replace with this

    case jpegIndex:
         docRef.bitsPerChannel = BitsPerChannelType.EIGHT;
         var saveFile = new File(exportInfo.destination + "/" + fileNameBody + ".jpg");
         var exportOpts = new ExportOptionsSaveForWeb( );
         exportOpts.format = SaveDocumentType.JPEG
         exportOpts.includeProfile = exportInfo.icc;
         exportOpts.quality = Math.round( exportInfo.jpegQuality / 12 * 100 ) ); // exportInfo.jpegQuality is 0 to 12, SFW uses 0 to 100. this converts
         if ( saveFile.exists ) saveFile.remove( );// avoid file exists overwrite dialog
         docRef.exportDocument( saveFile, ExportType.SAVEFORWEB, exportOpts );
         break;
    

    And who should do it. Or you can set so that it uses scriptlistner for the SFW as the script done for PNG. If you want to keep certain metadata the jpeg, you can use scriptlistner in any case, as the DOM version does not export metadata.

  • I don't have the button 'export the layer to files. In any case to redownload the default scripts?

    Well I'm doing a flip book House in Photoshop CS5 and tries to save the images.

    I imported a video and converted into individual layers for each image.

    Now I'm trying to save it by going in "file > Scripts > layer export to files and there is no option in my Scripts tab at all."

    When I go on "file > Scripts all that are in there is just 'Browse'."

    Then when I click on 'Browse' it just takes me to the folder where I opened the PS file.

    Anyone has an idea on how I can get back the default scripts?

    I have even not all scripts to export layers, which is something I do often.

    Location depending on the version of the OS and Photoshop script must be in the Photoshop presets for example, Scripts Windows 7

    "C:\Program Files\Adobe\Adobe Photoshop CS6 (64 Bit) \Presets\Scripts\Export layers to Files.jsx"

    Do a search on your drive to "Export layers to Files.jsx" where the file has been moved.  Other wise get it back from your backup system or reinstall Photoshop on top of itself to recover the missing files.  You won't lose you Photoshop preferences and responsible actions etc. your setting is not overwritten.

  • What are the best settings for the export of the comps before edditing in Premiere Pro

    Hi all!

    As the title says, who are the best settings to export compositions of EI on Pr.Pro and then edit them?

    Let me explain: I have two comps in AE (intro and outro) and want to export in Pr.Pro for with a fottage edditing I shot.

    When I give the size of the files are huge (30 sec = 7 GB).

    Which is the best method (and settings) I can export the intro and outro to a 'normal' size of the file and then put them in Pr.Pro without losing quality?

    [Comp settings: HDTV 1080 29.97 (1920 x 1080)]

    AE and Premiere Pro the two CS4

    If you're having trouble to play things in your Premiere Pro timeline, then find out editing in offline mode. In the edition offline, you work with a version of lower quality of an asset when editing and then replace with a version high quality when you are ready for the release.

  • can I export my layer subtitles such as .srt or .txt file?

    Hi need to write my first pro subtitles to .srt or .txt file. Is this possible or should I do it manually?

    Hi Michael,

    Please mention the version of Premiere Pro and the operating system you are using.

    You can export data from subtitles in an open file legend (SRT file format)

    Adobe Premiere Pro help. Working with captions

    Vinay

  • Script to delete hidden layers that are not used in any layer Comp?

    Hello.

    I have turend the web towards the search for a script that would do the following:

    1. Search in all compositions of layers in the document
    2. Check which layers are hidden on all layers
    3. Delete/mark with the color of the layers found.

    If someone can provide a script that would do such a thing - it would be much appreciated.

    Kind regards

    Fade.

    This should mark these red layers...

    function main(){
    if(!documents.length) return;
    var doc = activeDocument;
    selectAllLayers();
    var layersSelected=getSelectedLayersIdx();
    var layerIDs=[];
    for(var d =0;d		   
  • Export PNG with the correct name, for each layer, script file frame foreach

    Hello guys,.

    I am trying to find a script that exports each separately from the layer in PNG, for each image, with the correct name. By example, if the layer is named snail and lies in a forest of group name and is like 6, export this layer as a PNG named forest.snail.06.png (recursion if possible) and this for each layer, for each image...

    I found a software named Layerex, they speak here about layers export Flash | Global Facilitation network

    But I could not find... If you guys know how to do, it would be so awesome...

    Take care

    Simon

    Using jsfl.

  • Export to the file with Alpha layer

    Hello

    I m looking to create an Automation that takes each layer in a Photoshop Document and export it to a TIFF file with an Alpha channel.

    There was very little action that export the layer selected as a TIFF with Alpha and there is of course the function of 'layer to export to files '.

    I don't know how I can combine these functions, and it would be great if I could get this feature in a droplet.

    Maybe you can guide me in the right direction

    It treats pixel and the type of layers and masks on the groups would apply, perhaps you want to give it a try.

    Save your hair without transparency, but with pixels alpha channels and layers type;

    2014, use it at your own risk.

    #target photoshop

    If (app.documents.length > 0) {}

    myDocument var = app.activeDocument;

    var myDocument.name.match = basename (/(.*)-.) [ ^\.] +$/)[1];

    try {var docPath = myDocument.path}

    catch (e) {var docPath = "~ / Desktop"};

    var theDup = myDocument.duplicate ("thecopy", false);

    deleteAlphaChannels();

    main (theDup, docPath, basename);

    theDup.close (SaveOptions.DONOTSAVECHANGES);

    };

    ////////////////////////////////////

    getAllLayersBounds.jsx

    main function (dittos, docPath, basename) {}

    showAllLayers();

    get the number of layers;

    Var ref = new ActionReference();

    ref.putEnumerated (charIDToTypeID ("Dcmn"), charIDToTypeID ("Ordn"), charIDToTypeID ("Trgt"));

    var applicationDesc = executeActionGet (ref);

    var number = applicationDesc.getInteger (stringIDToTypeID ("numberOfLayers"));

    //////

    for (var m = 0; m<= thenumber;="" m++)="">

    try {}

    Var ref = new ActionReference();

    ref.putIndex (charIDToTypeID ("Lyr"), m);

    var layerDesc = executeActionGet (ref);

    var layerSet is typeIDToStringID (layerDesc.getEnumerationValue (stringIDToTypeID ("layerSection")));.

    isBackground var = layerDesc.getBoolean (stringIDToTypeID ('background'));

    var layerKind = layerDesc.getInteger (stringIDToTypeID ("layerKind"));

    theName var = layerDesc.getString (stringIDToTypeID ('name'));

    "adjustment".

    otherwise the layer group.

    If (layerSet! = "layerSectionEnd" & layerSet! = "layerSectionStart" / * & isBackground! = true * /) {}

    If (layerKind == 1 | layerKind == 3) {}

    hideOthers (m);

    do twice;

    var theDup2 = theFile.duplicate ("thecopy2", true);

    addTransparencyAsChannelaAndFlatten();

    Save and close;

    saveCopyAsTif (theDup2, docPath + ' / ' + name of base + '_' + theName ".tif");

    theDup2.close (SaveOptions.DONOTSAVECHANGES);

    hideOthers (m)

    };

    //

    };

    }

    catch (e) {};

    };

    };

    substance.

    function addTransparencyAsChannelaAndFlatten () {}

    try {}

    transparency mask;

    // =======================================================

    var idMk = charIDToTypeID ("Mk");

    var desc3 = new ActionDescriptor();

    var idNw = charIDToTypeID ('Nw');

    var idChnl = charIDToTypeID ('channel');

    Desc3.putClass (idNw, idChnl);

    var idAt = charIDToTypeID ('At');

    ref2 var = new ActionReference();

    var idChnl = charIDToTypeID ('channel');

    var idChnl = charIDToTypeID ('channel');

    var idMsk = charIDToTypeID ("Msk");

    ref2.putEnumerated (idChnl, idChnl, idMsk);

    Desc3.putReference (idAt, ref2);

    var idUsng = charIDToTypeID ("Usng");

    var idUsrM = charIDToTypeID ("rocket");

    var idTrns = charIDToTypeID ("Trns");

    Desc3.putEnumerated (idUsng, idUsrM, idTrns);

    executeAction (idMk, desc3, DialogModes.NO);

    alpha channel of the layer mask.

    // =======================================================

    var idDplc = charIDToTypeID ("Dplc");

    var desc4 = new ActionDescriptor();

    var idnull = charIDToTypeID ("null");

    Ref3 var = new ActionReference();

    var idChnl = charIDToTypeID ('channel');

    var idOrdn = charIDToTypeID ('Ordn');

    var idTrgt = charIDToTypeID ("Trgt");

    Ref3.putEnumerated (idChnl, idOrdn, idTrgt);

    Desc4.putReference (idnull, ref3);

    executeAction (idDplc, desc4, DialogModes.NO);

    remove the layer mask;

    // =======================================================

    var idDlt = charIDToTypeID ("Dlt");

    var desc5 = new ActionDescriptor();

    var idnull = charIDToTypeID ("null");

    ref4 var = new ActionReference();

    var idChnl = charIDToTypeID ('channel');

    var idChnl = charIDToTypeID ('channel');

    var idMsk = charIDToTypeID ("Msk");

    ref4.putEnumerated (idChnl, idChnl, idMsk);

    Desc5.putReference (idnull, ref4);

    executeAction (idDlt, desc5, DialogModes.NO);

    flatten;

    // =======================================================

    var idFltI = charIDToTypeID ("FltI");

    executeAction (idFltI, undefined, DialogModes.NO);

    } catch (e) {}

    };

    by mike hale, through paul riggott.

    http://forums.Adobe.com/message/1944754#1944754

    function selectLayerByIndex (index, add) {}

    Add = undefined? Add = false: Add

    Var ref = new ActionReference();

    ref.putIndex (charIDToTypeID ("Lyr"), index);

    var / / desc = new ActionDescriptor();

    desc.putReference (charIDToTypeID ("null"), ref);

    If (Add) desc.putEnumerated (stringIDToTypeID ("selectionModifier"), stringIDToTypeID ("selectionModifierType"), stringIDToTypeID ("addToSelection'));

    desc.putBoolean (charIDToTypeID ("MKV"), false);

    try {}

    executeAction (charIDToTypeID ("slct"), desc, DialogModes.NO);

    } catch (e) {}

    Alert (e.message);

    }

    };

    Remove alpha channels.

    function deleteAlphaChannels () {}

    Var ref = new ActionReference();

    ref.putEnumerated (charIDToTypeID ("Lyr"), charIDToTypeID ("Ordn"), charIDToTypeID ("Trgt"));

    ref.putEnumerated (charIDToTypeID ("Dcmn"), charIDToTypeID ("Ordn"), charIDToTypeID ("Trgt"));

    var docDesc = executeActionGet (ref);

    var theChannels = docDesc.getString (stringIDToTypeID ("numberOfChannels"));

    Check the channels;

    for (var m = theChannels; > 0; m - m) {}

    ref2 var = new ActionReference();

    ref2.putIndex (charIDToTypeID ("one"), m);

    var channelDesc = executeActionGet (ref2);

    Alpha var = channelDesc.hasKey (stringIDToTypeID ("alphaChannelOptions"));

    Remove alpha channels;

    If (alpha == true) {}

    keep the channels spots;

    If (channelDesc.getObjectValue (stringIDToTypeID ("alphaChannelOptions")) .getObjectValue (strin gIDToTypeID ("color")) .hasKey (stringIDToTypeID ("book")) == false) {}

    // =======================================================

    var idDlt = charIDToTypeID ("Dlt");

    var desc7 = new ActionDescriptor();

    var idnull = charIDToTypeID ("null");

    var ref1 = new ActionReference();

    Ref1.putIndex (charIDToTypeID ("one"), m);

    desc7.putReference (idnull, ref1);

    executeAction (idDlt, desc7, DialogModes.NO);

    };

    };

    };

    };

    Save pdf.

    function saveCopyAsTif (myDocument, path) {}

    tif options;

    tifOpts = new TiffSaveOptions();

    tifOpts.embedColorProfile = true;

    tifOpts.imageCompression = TIFFEncoding.TIFFLZW;

    tifOpts.alphaChannels = true;

    tifOpts.byteOrder = ByteOrder.MACOS;

    tifOpts.layers = true;

    Save the copy;

    myDocument.saveAs ((new File (path)), tifOpts, true);

    };

    hide others.

    function hideOthers (theIndex) {}

    hide the other;

    // =======================================================

    var idShw = charIDToTypeID ("Shw");

    var desc10 = new ActionDescriptor();

    var idnull = charIDToTypeID ("null");

    var officielle4 = new ActionList();

    ref7 var = new ActionReference();

    Ref7.putIndex (charIDToTypeID ("Lyr"), theIndex);

    LIST4.putReference (ref7);

    desc10.putList (idnull, list4);

    var idTglO = charIDToTypeID ("TglO");

    desc10.putBoolean (idTglO, true);

    executeAction (idShw, desc10, DialogModes.NO);

    };

    by mike hale, through paul riggott.

    http://forums.Adobe.com/message/1944754#1944754

    function selectLayerByIndex (index, add) {}

    Add = undefined? Add = false: Add

    Var ref = new ActionReference();

    ref.putIndex (charIDToTypeID ("Lyr"), index);

    var / / desc = new ActionDescriptor();

    desc.putReference (charIDToTypeID ("null"), ref);

    If (Add) desc.putEnumerated (stringIDToTypeID ("selectionModifier"), stringIDToTypeID ("selectionModifierType"), stringIDToTypeID ("addToSelection'));

    desc.putBoolean (charIDToTypeID ("MKV"), false);

    try {}

    executeAction (charIDToTypeID ("slct"), desc, DialogModes.NO);

    } catch (e) {}

    Alert (e.message);

    }

    };

    Display all layers.

    function showAllLayers () {}

    get the number of layers;

    Var ref = new ActionReference();

    ref.putEnumerated (charIDToTypeID ("Dcmn"), charIDToTypeID ("Ordn"), charIDToTypeID ("Trgt"));

    var applicationDesc = executeActionGet (ref);

    var number = applicationDesc.getInteger (stringIDToTypeID ("numberOfLayers"));

    //////

    for (var m = 0; m<= thenumber;="" m++)="">

    try {}

    // =======================================================

    idHd var = charIDToTypeID ("Shw");

    var desc9 = new ActionDescriptor();

    var idnull = charIDToTypeID ("null");

    var list1 = new ActionList();

    Ref3 var = new ActionReference();

    Ref3.putIndex (charIDToTypeID ("Lyr"), m);

    List1.putReference (ref3);

    desc9.putList (idnull, list1);

    executeAction (idHd, desc9, DialogModes.NO);

    }

    catch (e) {};

    };

    };

  • export of crops + mass pixilated by layer?

    Hi I have a very large map in illustrator format.

    I took the satellite data and resized it so it fits my card.

    I would like to be able to crop my card so that all my layers are the same size and then export each layer as a raster to photoshop.

    Is it possible that I can easily do this?  Thanks in advance.

    ILLUSTRATOR: file > export > (check) use of work plans > Photoshop > write layers

    PHOTOSHOP: file > scripts > export layers to files

  • Export the comp from the AE for Final Cut

    Hi all

    I need help with a project I'm working on that.  I am doing a video project in which I have to do a few titles.  Normally I use all the stuff from adobe for my video editing, but for this project that I am obliged to do the editing in final cut.  now the problem... I do the titration in Adobe After Effects and I'm trying to export this model in final cut.  Now, the way I do it is... .i would export my AE comp into a .mov doc and then import this file in the final cut.  What I like is that I get to the .mov files by default.  Is there a way I can make the background transparent?  I do two different compositions for my text and my origins... The bottom has transferred on perfectly... the layout of the text is that I get the default background.

    Hope that all makes sense...

    Help, please... Thank you.

    You can create a QuickTime movie that includes an alpha channel (transparency information). The standard QuickTime codecs that supports an alpha channel are Animation and PNG.

    in the section "Specify QuickTime compression settings" After Effects help:

    «Choose Millions of colors + if quality 24-bit color and you want your composition background to be transparent (to include an alpha channel).» The composition background color is ignored. Only Animation and none can take on the color depth of Millions of colors +.

    Choose Millions of colors, if you want a quality 24 - bit color, but to include the background color of your publication (without alpha channel). »

Maybe you are looking for

  • iTunes movie does not show on the ipad after download

    When I rent a movie via itunes on my ipad air 2 it runs it through the treatment of download, but the film does not show in one of my shopping list

  • Do not install ControlCenter

    I am running Windows XP.  I recently installed a printer Brother MFC-7360N.  This morning when I logged on I got a message stating "cannot start the ControlCenter.  Regostry required information is missing.  Please reinstall the Multi-Function Suite.

  • model of discharge battery 27 ++

    So, I have two batteries.  55 ++ and the 27 ++.  Both are 9cells each and with a theoretical capacity of 93.24Wh. Model dischrge between the batteries while they are all two nail until the W520 is than the 27 ++ first will get dischange... will then

  • How to use DISKPART OWN?

    Referring to the following link, I would like to know on how to clean as express SSD cached disk, "clean all the" command to remove partition or full format SSD disk cache?Does anyone have any suggestions? Thanks in advance for your suggestions :> Ca

  • Reading of the same directory file

    Hello I have an application that uses a config file I set the config file in the same directory as the application (only one folder below src and res) When I run my application on the Simulator I want to try to read the file How to read the file just