Image Processor and flatten feature request

  • 3
  • Idea
  • Updated 5 months ago
Dear Adobe.

I'm a user of your products in my business and have been for over 15 years. I batch out a lot of images in different formats for different platforms, which is where the image processor excels. However. I often (and many other people I know too), batch out JPEGs in numerous different sizes. Today I have to batch the images in several portions, but why isn't there a feature I could use to batch out several jpegs into different folder at once? And why can I only batch out jpegs and tiff but no png?

Also. Why isn't there a way to name the end folder in the imageprocessor? If I send tiff, png and jpegs to a client, it would often look a lot like:

JPEG_Instagram_1280px_sRGB
JPEG_HQ_4000px_sRGB
JPEG_FULL_AdobeRGB
PNG_Transparant_2560px_sRGB
TIFF_PRINT

Today this takes alot of useless time to do manually. Would therefor I would love this to be able in a future release.


Second request! The flatten part. I use paths a lot, but often times I don't want to send the path to my clients. There should be a feature that could flatten all the layers AND all the paths. If I have 100 images, batch them out as tiffs I will then have to manually open and delete the paths on each file. Huge unnecessary time consumer. And since they vary in numbers and names, I can't make an action either...
Photo of Marius Batman Viken

Marius Batman Viken

  • 4 Posts
  • 0 Reply Likes

Posted 1 year ago

  • 3
Photo of Glenbo

Glenbo

  • 81 Posts
  • 11 Reply Likes
Try the superb Image Processor Pro, by Russell Brown http://www.russellbrown.com/scripts.html the link to the download for mac is: http://photoshopscaresme.com/wp-content/uploads/2014/01/Image-Processor-Pro.jsx_.zip
Photo of Todd Shaner

Todd Shaner, Champion

  • 1106 Posts
  • 357 Reply Likes
Like Glenbo said.....it will do all of this, including flatten the image, and all in one (1) operation.  I just wish it also supported TIFF layer compression........nothing's perfect I guess!

But you'll want to download the latest version 3.2b5, which is compatible with PS CC 2017 from the link provided here:

http://blogs.adobe.com/jkost/2015/06/image-processor-pro-for-photoshop-cc-2015.html

Here's an example of what you're trying to do:

Photo of Marius Batman Viken

Marius Batman Viken

  • 4 Posts
  • 0 Reply Likes
Thank you! And sorry for my late gratitude..
Photo of Stephen Marsh

Stephen Marsh

  • 74 Posts
  • 15 Reply Likes
Yes, as previously noted – xbytor’s IPP is the ticket!

https://sourceforge.net/projects/ps-scripts/files/Image%20Processor%20Pro/v3_2%20betas/

Flattening is only for transparency, not paths. I can’t find the original reference to this old script, however it will remove all paths and can be recorded into an action for use with IPP on your files in the one operation (I also have one for extra channels too):

// remove all paths
if (documents.length > 0) {
docRef = activeDocument;
for (var i = docRef.pathItems.length-1 ; i >=0 ; i--) {
$.writeln(docRef.pathItems[i].kind);
docRef.pathItems[i].remove();
}
} else {
alert("There must be at least one open document to run this script!");
}
(Edited)
Photo of Marius Batman Viken

Marius Batman Viken

  • 4 Posts
  • 0 Reply Likes
Thank you so much! I didn't see this before now, so sorry for my late gratitude..
(Edited)
Photo of Stephen Marsh

Stephen Marsh

  • 74 Posts
  • 15 Reply Likes
I was asked for the script to remove alpha channels, here  it is:

//// RemoveAlphaChannels
//   Removes all of the alpha channels from a document
//
// $Id: RemoveAlphaChannels.jsx,v 1.2 2010/03/29 02:23:23 anonymous Exp $
// Copyright: (c)2007, xbytor
// License: http://www.opensource.org/licenses/bsd-license.php
// Contact: xbytor@gmail.com
//
function main() {
  if (app.documents.length == 0) {
    return;
  }
  var doc = app.activeDocument;
  var channels = doc.channels;
  var alphas = [];
  for (var i = 0; i < channels.length; i++) {
    var channel = channels[i];
    if (channel.kind == ChannelType.COMPONENT) {
      continue;
    }
    alphas.push(channel);
  }
  while (alphas.length) {
    var channel = alphas.pop();
    channel.remove();
  }
};
main();
"RemoveAlphaChannels.jsx";
// EOF