How to batch process .png's

I tried Image Processing but it wont save .png's. Anyone know how to do this?

Here is a link to the CS4 version that I modified some time ago. http://ps-scripts.com/bb/viewtopic.php?f=10&t=3149
Rename the existing Image Processor script by adding a '~' in front of the name i.e. ~Image Processor.jsx. That way Photoshop will not load both scripts. Save my version into the scripts folder and restart photoshop. Image Processor will now have an option to save png files.
Or you could go to Russell Brown's web site and try his Image Processor Pro. It extends the basic Image Processor script with even more features.

Similar Messages

  • How to batch process multiple layers to jpegs

    I have over 500 layers of different texts over a simple background image. I need to move through each one of these layers, making only one and the background visible, then doing the same for the next, and saving each out as a separate .jpeg. I know how to batch process the jpegs giving each a different filename, but how do I move through the layers?
    Thanks.

    Hi, Paul--
    You were correct. The normal script didn't work at all. But I'm a bit confused about how to use Layer Saver. I currently have all the texts in groups, labelled 1-50, 51-100, etc. What settings should I use to get it to work?
    Thanks
    J.

  • How to batch process in Aperture?

    At present I am laboriously adjusting each and every photo in Aperture. Since most of my photos need just about the same tweaks how does one batch process? In other words how does one apply the same adjustments to all photos?
    TIA
    Ken

    heck ya it saves time ...
    also, once you have them lifted and the L&S HUD is open, you can selectively uncheck or delete certain adjustments ...
    you can also just lift adjustments or just lift metadata ...
    very powerful the more you play with it ...

  • How to batch process psd's into swf's?

    I have several .psd images that I need to turn into .swf's. The only solution I can figure is to place the psd into illustrator and save. Is there a faster/easier option as I have hundreds of files that I need to do this to! I also need them to be .pngs. A quick solution for that would also be appreciated!

    I have to batch process images into multiple formats as well and Actions have saved me so much time. I work primarily in print, so I'll admit I'm not familiar with the process you need to go through to save your SWF files, but you could always try to record the steps into an Action.
    From there you can go File > Automate > Batch which will bring up the dialogue below. The top two menus let you choose your Action and directly below that you can designate the source where your files are (you can open all of them first or direct this menu to a folder).
    Hope this helps some!

  • How to batch process auto white balance

    I have 500 RAW photos taken in different lighting situations. How do I batch process these photos so that each photo is individually auto adjusted for white balance. I also have the same question for EXPOSURE.

    If you're using Aperture 3.3 or later, you can use "Auto Enhance" to do this, which will attempt to automatically set the white balance, exposure (a mild tweaks), put a curve on the photos, etc.  In general, I find it provides a pretty good starting point.
    You can do it as an import preset.  OR, you can select all the photos you want to edit, then choose Photos->Add Effect->Quick Fixes->Auto Enhance.
    If you don't like it you can go through Photos again to remove all adjustments.
    Auto enhance is pretty neat; it has 4 or 5 things it does.  You could define your own preset that did ONLY white balance and exposure if you wanted as an import preset.
    Note you have to do it through the menu at top.  If you do it from effects on the left it will only apply to a single photo.

  • How to Batch process a .jpg into multiple image sizes and colour modes

    Hi,
    I am needing to find an action or script that when run on a batch of Jpgs will open them up run a few actions and save them as 4 different files as follows
    start file:
    image.jpg
    end result:
    image_RGB_300dpi.jpg
    image_RGB_72dpi.jpg
    image_CMYK_300dpi.jpg
    image_CMYK_72dpi.jpg
    At present I have 4 separate actions set up do do this so I am running the batch process 4 times to get this result, is it possible to combine multiple actions into a single batch process?
    thanks for any help on this one.

    > At present I have 4 separate actions set up do do this so I am running the batch process 4 times to get this result, is it possible to combine multiple actions into a single batch process?
    Record an action that calls the 4 actions?
    -X
    for photoshop scripting solutions of all sorts
    contact: [email protected]

  • How to batch process photomerge of an image sequence (cinemaDNG) + another image

    I have an image sequence of around 500 images (.dng files) recorded on the Blackmagic Design Cinema Camera and I need to photomerge (layout set to reposition) each of those with one image in a seperate folder. Each of the 500 will merge with the same file (the aim being to basically extend the frame of a static video shot). Help with this would be very much appreciated. Thanks, Jim.

    I recommend you ask over at
    http://forums.adobe.com/community/photoshop/photoshop_scripting?view=discussions

  • How to batch processing and renaming of jpg's

    Hello,
    I am sort of new with PS CS5 Extended and I am trying to automate a bunch of JPG files by saving them as High Quality into another folder then add the following suffix _hr.jpg. Can this be possible ?
    Scenario:
    Source Folder: Original
    Original File Name: DSC_xxxx.jpg
    Target Folder: hr
    Save As: DSC_xxxx copy_hr.jpg
    Quality: 12
    Thanks for your help,
    G

    Yes, use Bridge or Camera Raw.
    Benjamin

  • How to batch process (color correct) multiple MXF files?

    Newb here with a question I cannot find an answer for. I'm very new to CS5.5 and am very frustrated with something that should be a simple procedure, at least it was with my last NLE.
    I am shooting amateur hockey games using a Canon XF100. Typically I shoot at 720 60p and with all the starts and stops of the game there may be 30-40 MFX files for a game. I'm having no problems importing into CS5.5, the files all show up on the timeline.
    I want (need) to be able to color correct ALL these files at once using the fast color corrector and/or the 3 way color balance. For the life of me I cannot seem to do this and I cannot find any answers despite many hours of searches.
    Last night I did (after much mucking around) manage to 'nest' the files and do the color correction but when I went to export to Media Encoder (to render as MP4 file) I kept getting error messages and was unable to proceed. This happened 6 times, the encoding would start and then after about 20 minutes, and some progress, it would give me an error message.
    Can someone please, pretty please!, explain a simpler way to do this? I feel like I am missing a very obvious step and I'm probably just phrasing the question incorrectly.
    Many thanks in advance.
    Dave
    Adobe CS5.5, Windows 7 Premium
    Intel i7
    9 GB Ram
    500 GB Velociraptor HDD
    Dual 27" monitors

    Unfortunately, you're doing it exactly in the right way. I just nested a sequence and applied the Fast Color Corrector to the nest and it exported beautifully. Could you try nesting and color correcting a short sequence with clips other than the MXF files generated by the Canon XF100 using the same methodology? I'm trying to see if it's your footage is the issue or something else.

  • Need help with batch processing picture packages

    Hi, I am having trouble batch processing picture packages is CS2.  (Windows).
    I have hundreds of images that need to be processed into picture packages and would love to find a speedier way to do this.
    I know how to create an action.  I know how to batch process from this action.  I also know how to create picture packages, but I cannot get the final result I am after - please read on....
    I have seperated all the images into their seperate folders for each style of picture package required.
    I can create an action for the picture package required and then do a batch process on the particular folder, but this leaves all the picture packages open on the desktop - as when you chose the close and save in the batch process - this only closes and saves the original image - the picture package has been created as a new document and is on the desktop still open - named Picture Package 1, Picture Package 2 - etc etc.
    I hope I am making some kind of sense here... (??!!)
    What I would like to happen is that the picture package will be saved over the original file (or to a new folder) with the original file name of the original image or maybe even with an adjustment to file name (e.g - orignal file name sc1234.jpeg - new file name sc1234packA.jpeg)
    So is this possible to do??  I'm thinking there must be a way.... i'm sure there are many group photographers out there who come across this everyday??
    Otherwise I have to save each picture package manually to original file name (via searching though files to match the original image to the picture package....) Very time consuming.
    Thanks for your help (in anticipation)...
    Jodie

    hmm - thanks for that - sounds like I will have to try and find some info and assistance regarding the scripting - it may be something I need to look into at a later time in the future....
    At the moment though I will have to plod along with this method I guess!
    Thanks for your assistance...
    Jodie

  • Batch convert png to jpeg with custom background

    How to batch convert pngs to jpegs, but using custom background ? Is there any action or plugin for that ?

    Image Processor in conjunction with an Action (that places and positions a background for example) should suffice.

  • Batch process RAW exposures, please help!

    Hello, I'm new to photoshop scripting for windows, and I was wondering if anyone knew how to batch process a folder of raw files, change the the raw's exposure, and save as jpg to another folder, based on a condition within the file's name, then close the opended jpg  document.
    My goal is to have a script that extracts the correct exposures from sets of three bracketed raw files, which I usually have seperated by 2 EV's.  So for example, say I have a folder Called Batch Processing on the C drive, and I have two folders,
    C:\Batch Processing\JPG
    C:\Batch Processing\RAW
    and in the RAW folder I have some files called,
    Image_01_E01.cr2
    Image_01_E02.cr2
    Image_01_E03.cr2
    If the file has "_E01" at the end, I want to open that raw file, change the exposure to -4, save the file with the same name, except the last 4 characters, and add some number to the end, so for example, it would end up being "Image_01" + "_E01".  This would end up being saved to the JPG folder. Then open up the same file, change the exposure to -2 and save as "Image_01" + "_E02".
    To make this post short, here is the conversion table I'm trying to achieve -
    Image_01_E01.cr2 -> Image_01_E01.jpg Exposure = -4
    Image_01_E01.cr2 -> Image_01_E02.jpg Exposure = -2
    Image_01_E02.cr2 -> Image_01_E03.jpg Exposure = -2
    Image_01_E02.cr2 -> Image_01_E04.jpg Exposure = 0
    Image_01_E02.cr2 -> Image_01_E05.jpg Exposure = 2
    Image_01_E03.cr2 -> Image_01_E06.jpg Exposure = 2
    Image_01_E03.cr2 -> Image_01_E07.jpg Exposure = 4
    After that, close all open files. Then, if there is another set of raws, repeat for them as well. For example -
    Image_02_E01.cr2 -> Image_02_E01.jpg Exposure = -4
    Image_02_E01.cr2 -> Image_02_E02.jpg Exposure = -2
    Image_02_E02.cr2 -> Image_02_E03.jpg Exposure = -2
    Image_02_E02.cr2 -> Image_02_E04.jpg Exposure = 0
    Image_02_E02.cr2 -> Image_02_E05.jpg Exposure = 2
    Image_02_E03.cr2 -> Image_02_E06.jpg Exposure = 2
    Image_02_E03.cr2 -> Image_02_E07.jpg Exposure = 4
    So basically this script would take 3 raws seperated by 2 EV's and extract 7 exposures, seperated by 2 EV's.  I've done this manually, and merged them to hdr, and the results are actually pretty decent. 
    I tried doing this with actions and batch processing, but I had to have everything seperated in individual folders like E01, E02, etc. and I had to make an action for each step in the process.
    I know this is probably a lot to ask, but I think it can be done, and I would of course credit the person in the script for helping.
    Thanks in advance!

    I think I was able to make a function to get the exposure time from the raw's xmp file. So the xmp file has to already be saved with the exposure time in the exif section.
    function getEV(thumb){
        var Name = decodeURI(thumb.name).replace(/\.[^\.]+$/, '');
        var file = new File(thumb.path + "/" + Name + ".xmp");
        try{
            if (ExternalObject.AdobeXMPScript == undefined) ExternalObject.AdobeXMPScript = new ExternalObject("lib:AdobeXMPScript");
            if(file.exists){
                file.open('r');
                file.encoding = "UTF8";
                file.lineFeed = "unix";
                file.open("r", "TEXT", "????");
                var xmpStr = file.read();
                file.close();
            }else{
                var xmpStr='';
            var xmp = new XMPMeta( xmpStr );
            var exposureTime = xmp.getProperty(XMPConst.NS_EXIF, 'ExposureTime');
            if(exposureTime  == undefined) exposureTime = 1;
        }catch(e){alert(e+"-"+e.line);}
        return exposureTime;
    I was able to use the ui you put together from your hdr script, and used the functions from your cr2 script, to make the raw converter script. I've added a drop down list for the different conversion, and I added an option to either enter the exposure time for the middle exposure, or use the xmp's exposure time instead. So far I've only added a straight conversion method, where the files are converted, without any modifications, the 3 raw, and 5 raw conversion methods. Here's the script -
    #target photoshop
    app.bringToFront();
    main();
    function main(){
        Prefs = {};
        try{
            var desc1 = app.getCustomOptions('0bafbed0-0bc7-11e1-be50-0800200c9a66');
            Prefs = eval(desc1.getString(0));
        }catch(e){
            Prefs.folder1 = Folder("~/desktop");
            Prefs.folder2 = Folder("~/desktop");
            Prefs.bits = false;
        var win = new Window( 'dialog', 'RAW Converter' );
        g = win.graphics;
        var myBrush = g.newBrush(g.BrushType.SOLID_COLOR, [0.91, 0.91, 0.91, 1]);
        g.backgroundColor = myBrush;
        win.orientation = 'row';
        win.p1 = win.add("panel", undefined, undefined, {borderStyle:"etched"});
        win.g1 = win.p1.add('group');
        win.g1.orientation = "row";
        win.title = win.g1.add('statictext',undefined,'RAW to JPEG Converter');
        win.title.alignment = "fill";
        var g = win.title.graphics;
        g.font = ScriptUI.newFont("Georgia","BOLDITALIC",22);
        win.g5 = win.p1.add('group');
        win.g5.orientation = "row";
        win.g5.alignment = 'left';
        win.g5.spacing = 10;
        win.g5.st1 = win.g5.add('statictext',undefined,'Please select input folder');
        win.g10 = win.p1.add('group');
        win.g10.orientation = "row";
        win.g10.alignment = 'left';
        win.g10.spacing = 10;
        win.g10.et1 = win.g10.add('edittext');
        win.g10.et1.preferredSize = [400,20];
        win.g10.et1.enabled = false;
        win.g10.bu1 = win.g10.add('button',undefined,'Browse');
        win.g10.bu1.onClick = function() {
            InputFolder = Folder.selectDialog("Input folder",Prefs.folder1);
            if(InputFolder != null){
                win.g10.et1.text = decodeURI(InputFolder.fsName);
                processHDRList();
        win.g15 = win.p1.add('group');
        win.g15.orientation = "row";
        win.g15.alignment = 'left';
        win.g15.spacing = 10;
        win.g15.st1 = win.g15.add('statictext',undefined,'Please select output folder');
        win.g20 = win.p1.add('group');
        win.g20.orientation = "row";
        win.g20.alignment = 'left';
        win.g20.spacing = 10;
        win.g20.et1 = win.g20.add('edittext');
        win.g20.et1.preferredSize = [400,20];
        win.g20.et1.enabled = false;
        win.g20.bu1 = win.g20.add('button',undefined,'Browse');
        win.g20.bu1.onClick = function() {
            OutputFolder = Folder.selectDialog("Output folder",Prefs.folder2);
            if(OutputFolder != null){
                win.g20.et1.text = decodeURI(OutputFolder.fsName);
        win.g30 = win.p1.add('group');
        win.g30.orientation = "row";
        win.g30.alignment = 'right';
        win.g30.spacing = 10;
        win.g30.st1 = win.g30.add('statictext',undefined,'Please select conversion method');
        win.g30.dd1 = win.g30.add('dropdownlist');
        win.g30.dd1.preferredSize = [200,20];
        var ConversionList = [];
        ConversionList[0] = "Straight Conversion";
        ConversionList[1] = "Bracketed 3x2EV to 7x2EV";
        ConversionList[2] = "Bracketed 5x2EV to 9x2EV";
        for(var x in ConversionList){
            win.g30.dd1.add('item', ConversionList[x].toString());
        win.g30.dd1.selection = 0;
        var ConversionSel = win.g30.dd1.selection.text.toString();
        win.g40 = win.p1.add('group');
        win.g40.orientation = "row";
        win.g40.alignment = 'right';
        win.g40.spacing = 10;
        win.g40.st2 = win.g40.add('statictext',undefined,'Please enter the exif exposure time of middle exposure');
        win.g40.et1 = win.g40.add('edittext',undefined,'1');
        win.g40.et1.preferredSize=[80,20];
        win.g40.et1.enabled = true;
        var TVsel = win.g40.et1.text.toString();
        win.g50 = win.p1.add('group');
        win.g50.orientation = "row";
        win.g50.alignment = 'right';
        win.g50.spacing = 10;
        win.g50.cb1 = win.g50.add('checkbox',undefined,'Use XMP exposure time instead');
        win.g50.cb1.helpTip = "Uses the xmp file's exposure time for the middle exposure instead";
        win.g300 = win.p1.add('group');
        win.g300.orientation = "row";
        win.g300.alignment = 'center';
        win.g300.spacing = 10;
        win.g300.bu1 = win.g300.add('button',undefined,'Process');
        win.g300.bu1.preferredSize = [240,30];
        win.g300.bu2 = win.g300.add('button',undefined,'Cancel');
        win.g300.bu2.preferredSize = [240,30];
        win.g300.bu1.onClick = function(){
            if(win.g10.et1.text == ''){
                alert("Input folder has not been selected!");
                return
            if(win.g20.et1.text == ''){
                alert("Output folder has not been selected!");
                return
            try{
            Prefs.folder1 = InputFolder;
            Prefs.folder2 = OutputFolder;
            var progressBar = function(title) {
                var w = new Window( 'palette', ' '+title, {x:0, y:0, width:340, height:60} ),
                pb = w.add( 'progressbar', {x:20, y:12, width:300, height:12}, 0, 100 ),
                st = w.add( 'statictext', {x:10, y:36, width:320, height:20}, '' );
                st.justify = 'center';
                w.center();
                this.reset = function( msg,maxValue ) {
                    st.text = msg;
                    pb.value = 0;
                    pb.maxvalue = maxValue||0;
                    pb.visible = !!maxValue;
                    w.show();
                this.hit = function() { ++pb.value; };
                this.hide = function() { w.hide(); };
                this.close = function() { w.close(); };
                this.show = function() { w.show(); };
                this.update = function() { w.update(); };
                this.layout = function() { w.layout.layout(); };
            function doPbar(){
                pBar.hit();
                pBar.hide();
                pBar.show();
            var count = 0;
            var group0 = InputFolder.getFiles(/\.(dng|crw|cr2|raw|raf|3fr|dcr|kdc|mrw|nef|nrw|orf|rw2|pef|x3f|srf| sr2)$/i);
            var group1 = InputFolder.getFiles(/\e01.(dng|crw|cr2|raw|raf|3fr|dcr|kdc|mrw|nef|nrw|orf|rw2|pef|x3f|s rf|sr2)$/i);
            var group2 = InputFolder.getFiles(/\e02.(dng|crw|cr2|raw|raf|3fr|dcr|kdc|mrw|nef|nrw|orf|rw2|pef|x3f|s rf|sr2)$/i);
            var group3 = InputFolder.getFiles(/\e03.(dng|crw|cr2|raw|raf|3fr|dcr|kdc|mrw|nef|nrw|orf|rw2|pef|x3f|s rf|sr2)$/i);
            var group4 = InputFolder.getFiles(/\e04.(dng|crw|cr2|raw|raf|3fr|dcr|kdc|mrw|nef|nrw|orf|rw2|pef|x3f|s rf|sr2)$/i);
            var group5 = InputFolder.getFiles(/\e05.(dng|crw|cr2|raw|raf|3fr|dcr|kdc|mrw|nef|nrw|orf|rw2|pef|x3f|s rf|sr2)$/i);
            count += group0.length;
            count += group1.length;
            count += group2.length;
            count += group3.length;
            count += group4.length;
            count += group5.length;
            if (count <1) return;
            if (win.g30.dd1.selection == 0) {
                var pBar = new progressBar("RAW to JPEG Straight Conversion");
                pBar.reset("Processing Files", (group1.length*2));
                for(var a in group0){
                    setEV(group0[a],0);
                    open(group0[a]);
                    var Name = decodeURI(group0[a].name).replace(/\.[^\.]+$/, '');
                    var TVval = TVsel;
                    if (win.g50.cb1.value) TVval = getEV(group0[a]);
                    var exportFile = new File( OutputFolder + "/" + Name + ".jpg" );
                    SaveForWeb(exportFile,100);
                    doPbar();
                    app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
                    putXMPData(exportFile,TVval,0);
                pBar.close();
            } else
            if (win.g30.dd1.selection == 1) {
                var pBar = new progressBar("3 RAWs by 2 EV to 7 JPEGs by 2 EV");
                pBar.reset("Processing E01 Files", (group1.length*2));
                for(var a in group1){
                    setEV(group1[a],-4);
                    open(group1[a]);
                    var Name = decodeURI(group1[a].name).replace(/\.[^\.]+$/, '');
                    Name = Name.replace(/e01$/i,'');
                    var TVval = TVsel;
                    if (win.g50.cb1.value) TVval = getEV(group2[a]);
                    var exportFile = new File( OutputFolder + "/" + Name + "E01.jpg" );
                    SaveForWeb(exportFile,100);
                    app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
                    putXMPData(exportFile,ExifEV(String(TVval),"1/64"),-6);
                    doPbar();
                    setEV(group1[a],-2);
                    open(group1[a]);
                    var exportFile = new File( OutputFolder + "/" + Name + "E02.jpg" );
                    SaveForWeb(exportFile,100);
                    app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
                    putXMPData(exportFile,ExifEV(String(TVval),"1/16"),-4);
                    doPbar();
                pBar.reset("Processing E02 Files", (group2.length*3));
                for(var b in group2){
                    setEV(group2[b],-2);
                    open(group2[b]);
                    var Name = decodeURI(group2[b].name).replace(/\.[^\.]+$/, '');
                    Name = Name.replace(/e02$/i,'');
                    var TVval = TVsel;
                    if (win.g50.cb1.value) TVval = getEV(group2[b]);
                    var exportFile = new File( OutputFolder + "/" + Name + "E03.jpg" );
                    SaveForWeb(exportFile,100);
                    app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
                    putXMPData(exportFile,ExifEV(String(TVval),"1/4"),-2);
                    doPbar();
                    setEV(group2[b],0);
                    open(group2[b]);
                    var exportFile = new File( OutputFolder + "/" + Name + "E04.jpg" );
                    SaveForWeb(exportFile,100);
                    app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
                    putXMPData(exportFile,TVval,0);
                    doPbar();
                    setEV(group2[b],2);
                    open(group2[b]);
                    var exportFile = new File( OutputFolder + "/" + Name + "E05.jpg" );
                    SaveForWeb(exportFile,100);
                    app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
                    putXMPData(exportFile,ExifEV(String(TVval),"4"),2);
                    doPbar();
                pBar.reset("Processing E03 Files", (group3.length*2));
                for(var c in group3){
                    setEV(group3[c],2);
                    open(group3[c]);
                    var Name = decodeURI(group3[c].name).replace(/\.[^\.]+$/, '');
                    Name = Name.replace(/e03$/i,'');
                    var TVval = TVsel;
                    if (win.g50.cb1.value) TVval = getEV(group2[c]);
                    var exportFile = new File( OutputFolder + "/" + Name + "E06.jpg" );
                    SaveForWeb(exportFile,100);
                    app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
                    putXMPData(exportFile,ExifEV(String(TVval),"16"),4);
                    doPbar();
                    setEV(group3[c],4);
                    open(group3[c]);
                    var exportFile = new File( OutputFolder + "/" + Name + "E07.jpg" );
                    SaveForWeb(exportFile,100);
                    doPbar();
                    app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
                    putXMPData(exportFile,ExifEV(String(TVval),"64"),6);
                pBar.close();
            } else
            if (win.g30.dd1.selection == 2) {
                var pBar = new progressBar("5 RAWs by 2 EV to 9 JPEGs by 2 EV");
                pBar.reset("Processing E01 Files", (group1.length*2));
                for(var a in group1){
                    setEV(group1[a],-4);
                    open(group1[a]);
                    var Name = decodeURI(group1[a].name).replace(/\.[^\.]+$/, '');
                    Name = Name.replace(/e01$/i,'');
                    var TVval = TVsel;
                    if (win.g50.cb1.value) TVval = getEV(group3[a]);
                    var exportFile = new File( OutputFolder + "/" + Name + "E01.jpg" );
                    SaveForWeb(exportFile,100);
                    app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
                    putXMPData(exportFile,ExifEV(String(TVval),"1/256"),-8);
                    doPbar();
                pBar.reset("Processing E02 Files", (group2.length*3));
                for(var b in group2){
                    setEV(group2[b],-4);
                    open(group2[b]);
                    var Name = decodeURI(group2[b].name).replace(/\.[^\.]+$/, '');
                    Name = Name.replace(/e02$/i,'');
                    var TVval = TVsel;
                    if (win.g50.cb1.value) TVval = getEV(group3[b]);
                    var exportFile = new File( OutputFolder + "/" + Name + "E02.jpg" );
                    SaveForWeb(exportFile,100);
                    app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
                    putXMPData(exportFile,ExifEV(String(TVval),"1/64"),-6);
                    doPbar();
                    setEV(group2[b],-2);
                    open(group2[b]);
                    var exportFile = new File( OutputFolder + "/" + Name + "E03.jpg" );
                    SaveForWeb(exportFile,100);
                    app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
                    putXMPData(exportFile,ExifEV(String(TVval),"1/16"),-4);
                    doPbar();
                pBar.reset("Processing E03 Files", (group3.length*3));
                for(var c in group3){
                    setEV(group3[c],-2);
                    open(group3[c]);
                    var Name = decodeURI(group3[c].name).replace(/\.[^\.]+$/, '');
                    Name = Name.replace(/e03$/i,'');
                    var TVval = TVsel;
                    if (win.g50.cb1.value) TVval = getEV(group3[c]);
                    var exportFile = new File( OutputFolder + "/" + Name + "E04.jpg" );
                    SaveForWeb(exportFile,100);
                    app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
                    putXMPData(exportFile,ExifEV(String(TVval),"1/4"),-2);
                    doPbar();
                    setEV(group3[c],0);
                    open(group3[c]);
                    var exportFile = new File( OutputFolder + "/" + Name + "E05.jpg" );
                    SaveForWeb(exportFile,100);
                    app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
                    putXMPData(exportFile,TVval,0);
                    doPbar();
                    setEV(group3[c],2);
                    open(group3[c]);
                    var exportFile = new File( OutputFolder + "/" + Name + "E06.jpg" );
                    SaveForWeb(exportFile,100);
                    app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
                    putXMPData(exportFile,ExifEV(String(TVval),"4"),2);
                    doPbar();
                pBar.reset("Processing E04 Files", (group4.length*3));
                for(var d in group4){
                    setEV(group4[d],2);
                    open(group4[d]);
                    var Name = decodeURI(group4[d].name).replace(/\.[^\.]+$/, '');
                    Name = Name.replace(/e04$/i,'');
                    var TVval = TVsel;
                    if (win.g50.cb1.value) TVval = getEV(group3[d]);
                    var exportFile = new File( OutputFolder + "/" + Name + "E07.jpg" );
                    SaveForWeb(exportFile,100);
                    app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
                    putXMPData(exportFile,ExifEV(String(TVval),"16"),4);
                    doPbar();
                    setEV(group4[d],4);
                    open(group4[d]);
                    var exportFile = new File( OutputFolder + "/" + Name + "E08.jpg" );
                    SaveForWeb(exportFile,100);
                    app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
                    putXMPData(exportFile,ExifEV(String(TVval),"64"),6);
                    doPbar();
                pBar.reset("Processing E05 Files", (group3.length*2));
                for(var e in group5){
                    setEV(group5[e],4);
                    open(group5[e]);
                    var Name = decodeURI(group5[e].name).replace(/\.[^\.]+$/, '');
                    Name = Name.replace(/e05$/i,'');
                    var TVval = TVsel;
                    if (win.g50.cb1.value) TVval = getEV(group3[e]);
                    var exportFile = new File( OutputFolder + "/" + Name + "E09.jpg" );
                    SaveForWeb(exportFile,100);
                    app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
                    putXMPData(exportFile,ExifEV(String(TVval),"256"),8);
                    doPbar();
                pBar.close();
            var desc2 = new ActionDescriptor();
            desc2.putString(0, Prefs.toSource());
            app.putCustomOptions('0bafbed0-0bc7-11e1-be50-0800200c9a66', desc2, true );
            win.close(0);
            }catch(e){alert(e + " - " +e.line);}
        win.center();
        win.show();
        app.displayDialogs = DialogModes.NO;
    function ExifEV(Input,Multiplier) {
        var EVval = Math.abs(eval(Input)*eval(Multiplier)); // Positive Decimal
        var EVvalN = 1; // Numerator
        var EVvalD = 1; // Denominator
        if (EVval < 0.5) EVvalD = Math.floor(1/EVval); else // For values less than 1/2
        // For values greater than 1/2 or values less than 1-1/2, returns 1000ths
        if (EVval < 1 || EVval > 1) {
            EVvalN = Math.floor(EVval*1000);
            EVvalD = 1000;
        } else                                   
        if (EVval > 1.5) EVvalN = Math.floor(EVval); // For values greater than 1-1/2
        return String(EVvalN + "/" + EVvalD); // Return fraction
    function getEV(thumb){
        var Name = decodeURI(thumb.name).replace(/\.[^\.]+$/, '');
        var file = new File(thumb.path + "/" + Name + ".xmp");
        try{
            if (ExternalObject.AdobeXMPScript == undefined) ExternalObject.AdobeXMPScript = new ExternalObject("lib:AdobeXMPScript");
            if(file.exists){
                file.open('r');
                file.encoding = "UTF8";
                file.lineFeed = "unix";
                file.open("r", "TEXT", "????");
                var xmpStr = file.read();
                file.close();
            }else{
                var xmpStr='';
            var xmp = new XMPMeta( xmpStr );
            var exposureTime = xmp.getProperty(XMPConst.NS_EXIF, 'ExposureTime');
            if(exposureTime  == undefined) exposureTime = 1;
        }catch(e){alert(e+"-"+e.line);}
        return exposureTime;
    function setEV(thumb,evValue){
        var Name = decodeURI(thumb.name).replace(/\.[^\.]+$/, '');
        var file = new File(thumb.path + "/" + Name + ".xmp");
        try{
            if (ExternalObject.AdobeXMPScript == undefined) ExternalObject.AdobeXMPScript = new ExternalObject("lib:AdobeXMPScript");
            if(file.exists){
                file.open('r');
                file.encoding = "UTF8";
                file.lineFeed = "unix";
                file.open("r", "TEXT", "????");
                var xmpStr = file.read();
                file.close();
            }else{
                var xmpStr='';
            var xmp = new XMPMeta( xmpStr );
            var exposureValue = xmp.getProperty(XMPConst.NS_CAMERA_RAW, "Exposure");
            xmp.deleteProperty(XMPConst.NS_CAMERA_RAW, "Exposure");
            xmp.setProperty(XMPConst.NS_CAMERA_RAW, "Exposure",Number(evValue));
            file.open('w');
            file.encoding = "UTF8";
            file.lineFeed = "unix";
            file.write( xmp.serialize() );
            file.close();
            if(exposureValue  == undefined) exposureValue = 0;
        }catch(e){alert(e+"-"+e.line);}
        return exposureValue;
    function putXMPData(fileName,exposureTime,evValue){
        if (ExternalObject.AdobeXMPScript == undefined) ExternalObject.AdobeXMPScript = new ExternalObject('lib:AdobeXMPScript');
        var xmpf = new XMPFile(fileName.fsName, XMPConst.FILE_UNKNOWN, XMPConst.OPEN_FOR_UPDATE | XMPConst.OPEN_USE_SMART_HANDLER );
        var xmp = xmpf.getXMP();
        try{
            xmp.setProperty(XMPConst.NS_TIFF, 'Make', 'Canon');
            xmp.setProperty(XMPConst.NS_TIFF, 'Model', 'Canon EOS REBEL T1i');
            xmp.setProperty(XMPConst.NS_EXIF, 'ExposureTime', exposureTime);
            xmp.setProperty(XMPConst.NS_EXIF, 'FNumber', '63/10');
            xmp.setProperty(XMPConst.NS_CAMERA_RAW, 'Exposure',Number(evValue));
            if (xmpf.canPutXMP(xmp)) {
                    xmpf.putXMP(xmp);
                }else{
                    alert(e.message);
                xmpf.closeFile(XMPConst.CLOSE_UPDATE_SAFELY);
        }catch(e){}
    function SaveForWeb(saveFile,jpegQuality) {
        var sfwOptions = new ExportOptionsSaveForWeb();
        sfwOptions.format = SaveDocumentType.JPEG;
        sfwOptions.includeProfile = false;
        sfwOptions.interlaced = 0;
        sfwOptions.optimized = true;
        sfwOptions.quality = jpegQuality;
        activeDocument.exportDocument(saveFile, ExportType.SAVEFORWEB, sfwOptions);
    The script seems to work decent, so I plan on adding the other conversions I mentioned earlier, to it.  If there is a way of getting the exposure time directly from the raw file, please let me know.

  • How to "save for web" via batch processing in Photoshop elements

    I have a bunch of logos that need to be resized and 'save for web." How can I process these files as a batch in Photoshop elements. Many thanks!

    You can batch save them as jpgs, gifs, or PNGs using Process Multiple Files, and even batch resize them as long as they are all in the same orientation and the same aspect ratio (shape), but  the resulting files will be somewhat larger than you'd get with Save for Web because Save for Web removes the photos' exif data, which PMF won't. Since these are logos, there shouldn't be much difference.

  • .ai to .png batch processing

    Hello!
    I have 1500+ .ai files that I need to automate a batch processing of.
    Tried recording an action in PS, but it somehow doesn't work.
    Log file gives me this error message: "Error: The command "Image Size" is not currently available. (-25920)".
    This error gets repeated for all other recorded actions that I've taken (I also had a "Save to web" action to export as a good quality .png file, but that action receives the same error in the log file).
    How can I accomplish this mission? Any clue?
    Thanks!

    I didn't even know that you could do batch processing from within Illustrator!
    Wow, lol. That helped me do my task perfectly.
    Hopefully someone less idiotic can learn from my massive blunder, thanks for reading!

  • How to display custom error message in Job log for batch processing

    Hi All,
    I am rexecuting one R/3 report in batch mode and i want to display all the custom error i have handled in job log when its executed from SM36,SM37. The custom error are like 'Delovery/Shipmet doe not exits' or others which we can display in online mode like message e100(ZFI) or any other way and accordingly we can handle the program control like come out of the program ro leave to transaction'Zxxx' or anything. But i want my program to be executed completely and accumulate all the error in job log of batch processing.
    Can anyone tell me how can i do so...
    Thanks,
    Amrita

    Hi,
    Thats what i have done from the begining. I have written message like this:
    Message i100(ZFI).
    I was hoping to see this message in the log. But i cant see. Can you help me pleae...

Maybe you are looking for

  • Ipod touch 1st generation update software

    How do I get Apps on my 1St Generation Ipod Touch?

  • Buying my first Mac this weekend - advice?

    I'm thinking about buying a Mac this weekend - for the first time! Some questions: 1. Going for a laptop - which do you recommend? 2. Should I wait a bit for the Leopard OS?

  • Migration of old system with new version and 64bit hardware

    HI Sapguru's, Our req: Build New CRM system with all latest version of software & 64 bit hardware. Details mentioned below. Old System: CRM 4.0 ABAP System win 2003 Oracle 9i non-unicode 32 bit hardware New System( which i want to build): CRM 5.2 (ra

  • Single or composite role, which table to check ?

    Hello, I'm currently trying to find out in which AGR_* table is stored the flag that indicates whether a role is a composite or a single one. I try AGR_DEFINE but it seems that there is no flag to determine whether the role is single or composite. I

  • Ordered 32" Sony TV - Delivery Question

    Hello, I ordered a 32" Sony tv in one of your local stores, paid for it in cash at the store and I am I having it shipped to my house.  Item was not available in the store.  The clerk at the store said the delivery guy would inspect and install the T