Copy link to clipboard
Copied
Hello,
I am designing a few posters for my architectural presentation, I have 6 posters each are 90 cm x 237.8 cm. I am trying to design them all in one file so that they are connected so in total the width is around 5.4 m. I divided them using the slice tool but I don't know how to export each one to a seperate file. The save for web option is greyed out.
Instead of slicing the image with with the slice tool. I would set guide line to how I want to dice up the image and then use a script to dice the image into those guides as layers. You could then use export layers to files. You can also set the guides via a Script or action. Here I Open a RAW file as portrait Image. Set Guides. Then ran the script. I then deleted the background layer. Did a select all and targeted all layers and align all the layer to the top left. And then used image trim.
...Copy link to clipboard
Copied
Instead of slicing the image with with the slice tool. I would set guide line to how I want to dice up the image and then use a script to dice the image into those guides as layers. You could then use export layers to files. You can also set the guides via a Script or action. Here I Open a RAW file as portrait Image. Set Guides. Then ran the script. I then deleted the background layer. Did a select all and targeted all layers and align all the layer to the top left. And then used image trim. All the sections you want as files are in a layer stack. You could actually record an action to automate all the steps I showed.
// split Image to layer according to guides;
// 2015, use it at your own risk;
#target photoshop
if (app.documents.length > 0) {
var myDocument = app.activeDocument;
var myResolution = myDocument.resolution;
var theLayer = myDocument.activeLayer;
var layerID = getLayerId(theLayer);
var originalRulerUnits = app.preferences.rulerUnits;
app.preferences.rulerUnits = Units.POINTS;
// check guides;
var theVer = new Array;
var theHor = new Array;
var theNumber = myDocument.guides.length;
for (var m = 0; m < theNumber; m++) {
if (myDocument.guides[m].direction == Direction.HORIZONTAL) {theHor.push(myDocument.guides[m].coordinate)};
if (myDocument.guides[m].direction == Direction.VERTICAL) {theVer.push(myDocument.guides[m].coordinate)};
};
// sort and add beginning and end;
theHor = treatGuideArray (theHor, app.activeDocument.height);
theVer = treatGuideArray (theVer, app.activeDocument.width);
$.writeln(theHor.join("\n")+"\n\n\n"+theVer.join("\n"));
// create selections;
for (var y = 0; y < theHor.length - 1; y++) {
var Y1 = theHor[y];
var Y2 = theHor[y+1];
for (var x = 0; x < theVer.length - 1; x++) {
try {
var X1 = theVer[x];
var X2 = theVer[x+1];
rectangularSelection([Y1, X1, Y2, X2], false);
// layer via copy;
var id14 = charIDToTypeID( "CpTL" );
executeAction( id14, undefined, DialogModes.NO );
// add mask;
intersectedLayerMask (layerID)
} catch (e) {};
// reselct layer;
myDocument.activeLayer = theLayer;
};
};
activeDocument.selection.deselect();
// reset the ruler units;
app.preferences.rulerUnits = originalRulerUnits
};
////////////////// the functions //////////////////
////// treat array //////
function treatGuideArray (theArray, theExtreme) {
theArray.sort(function(a,b){return a - b});
if (Number (theArray[theArray.length - 1]) != theExtreme) {theArray.push(theExtreme)};
if (Number (theArray[0]) != 0) {theArray.unshift(new UnitValue(0, "pt"))};
theArray.sort(function(a,b){return a - b});
return theArray;
};
////// rectangular selection //////
function rectangularSelection (theBounds, add) {
// =======================================================
if (add == false || add == undefined) {var idsetd = charIDToTypeID( "setd" )}
else {var idsetd = charIDToTypeID( "AddT" )};
var desc55 = new ActionDescriptor();
var idnull = charIDToTypeID( "null" );
var ref11 = new ActionReference();
var idChnl = charIDToTypeID( "Chnl" );
var idfsel = charIDToTypeID( "fsel" );
ref11.putProperty( idChnl, idfsel );
desc55.putReference( idnull, ref11 );
var idT = charIDToTypeID( "T " );
var desc56 = new ActionDescriptor();
var idTop = charIDToTypeID( "Top " );
var idRlt = charIDToTypeID( "#Rlt" );
desc56.putUnitDouble( idTop, idRlt, theBounds[0] );
var idLeft = charIDToTypeID( "Left" );
var idRlt = charIDToTypeID( "#Rlt" );
desc56.putUnitDouble( idLeft, idRlt, theBounds[1] );
var idBtom = charIDToTypeID( "Btom" );
var idRlt = charIDToTypeID( "#Rlt" );
desc56.putUnitDouble( idBtom, idRlt, theBounds[2] );
var idRght = charIDToTypeID( "Rght" );
var idRlt = charIDToTypeID( "#Rlt" );
desc56.putUnitDouble( idRght, idRlt, theBounds[3] );
var idRctn = charIDToTypeID( "Rctn" );
desc55.putObject( idT, idRctn, desc56 );
executeAction( idsetd, desc55, DialogModes.NO );
};
// by mike hale, via paul riggott;
function getLayerId(theLayer){
// http://forums.adobe.com/message/1944754#1944754
app.activeDocument.activeLayer = theLayer;
//Assumes activeDocument and activeLayer
var ref = new ActionReference();
ref.putEnumerated(charIDToTypeID("Lyr "), charIDToTypeID("Ordn"), charIDToTypeID("Trgt"));
d = executeActionGet(ref);
return d.getInteger(charIDToTypeID('LyrI'));
};
////// load transparency, ontersect with layer mask ofd another layer, add layer mask //////
function intersectedLayerMask (layerID) {
var idChnl = charIDToTypeID( "Chnl" );
// =======================================================
var idsetd = charIDToTypeID( "setd" );
var desc2 = new ActionDescriptor();
var idnull = charIDToTypeID( "null" );
var ref1 = new ActionReference();
var idfsel = charIDToTypeID( "fsel" );
ref1.putProperty( idChnl, idfsel );
desc2.putReference( idnull, ref1 );
var idT = charIDToTypeID( "T " );
var ref2 = new ActionReference();
var idTrsp = charIDToTypeID( "Trsp" );
ref2.putEnumerated( idChnl, idChnl, idTrsp );
desc2.putReference( idT, ref2 );
executeAction( idsetd, desc2, DialogModes.NO );
// =======================================================
var idIntr = charIDToTypeID( "Intr" );
var desc3 = new ActionDescriptor();
var idnull = charIDToTypeID( "null" );
var ref3 = new ActionReference();
var idMsk = charIDToTypeID( "Msk " );
ref3.putEnumerated( idChnl, idChnl, idMsk );
var idLyr = charIDToTypeID( "Lyr " );
ref3.putIdentifier( idLyr, layerID );
desc3.putReference( idnull, ref3 );
var idWith = charIDToTypeID( "With" );
var ref4 = new ActionReference();
var idfsel = charIDToTypeID( "fsel" );
ref4.putProperty( idChnl, idfsel );
desc3.putReference( idWith, ref4 );
executeAction( idIntr, desc3, DialogModes.NO );
// =======================================================
var idMk = charIDToTypeID( "Mk " );
var desc4 = new ActionDescriptor();
var idNw = charIDToTypeID( "Nw " );
desc4.putClass( idNw, idChnl );
var idAt = charIDToTypeID( "At " );
var ref5 = new ActionReference();
var idMsk = charIDToTypeID( "Msk " );
ref5.putEnumerated( idChnl, idChnl, idMsk );
desc4.putReference( idAt, ref5 );
var idUsng = charIDToTypeID( "Usng" );
var idUsrM = charIDToTypeID( "UsrM" );
var idRvlS = charIDToTypeID( "RvlS" );
desc4.putEnumerated( idUsng, idUsrM, idRvlS );
executeAction( idMk, desc4, DialogModes.NO );
};
Copy link to clipboard
Copied
Thank you so much, this was exactly what I needed.
Copy link to clipboard
Copied
You don't use Export or Save For Web for large print files. Both are intended for web/screen/mobile devices only.
Use Save As. Save as separate layers.
Copy link to clipboard
Copied
Here an action them. The Guide layout step is interactive you can cnange the layout. The Step I recorder defalts to a 3x3 grid.
Copy link to clipboard
Copied
I do like this but I'm still new to the scripts and automation, I have been using photoshop for just basic and simple tasks. So I feel like that is a little bit complicated for me if I want to write the script.
Copy link to clipboard
Copied
You ma use many scripts currently that you did not write. Adding an other you did not write is no big deal.
Here is what ship with Photoshop the only one I add there is Image Processor Pro. I keep all the rest I use elsewhere.
Actions are easy to record. To use a script in an action you record menu File>Scripts>Script Name
Copy link to clipboard
Copied
mzreik98 you will find info on the following link on how to save and install scripts such as the one posted by JJMack:
https://prepression.blogspot.com/2017/11/downloading-and-installing-adobe-scripts.html
P.S. A related topic here that does not use a script:
Copy link to clipboard
Copied
Another scripted method here:
Copy link to clipboard
Copied
Modertator, add Actions and Scripting label to this thread.