Box mockup - how to batch insert front covers and save ?

Community Beginner ,
Feb 24, 2022 Feb 24, 2022

Copy link to clipboard

Copied

I have a box mockup, and a folder of 300 images. Manually, I follow the following steps:

 

1. Edit the smart object (the image that goes into the box)

2. Drag and drop the next image onto the existing one

3. CTRL+F (expands the size of the image to fit the canvas size)

4. Save smart object

5. Close smart object

6. Export image (box with embedded image) to PNG

 

I then repeat the above for the next image. I'm looking for some advice on how to automate this, using actions, automate batch or any other method! Thanks!

TOPICS
Actions and scripting

Views

162

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Feb 24, 2022 Feb 24, 2022

Copy link to clipboard

Copied

Is Ctrl & F your personal shortcut? If so, which menu item it refers?

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Feb 24, 2022 Feb 24, 2022

Copy link to clipboard

Copied

CTRL+F runs the script "fit layer to canvas".

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guide ,
Feb 24, 2022 Feb 24, 2022

Copy link to clipboard

Copied

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Feb 24, 2022 Feb 24, 2022

Copy link to clipboard

Copied

Thanks; I did come across that in my search, but I'm not familiar with scripts - do I have to copy and paste that code somewhere in Photoshop? How do I automate it?

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Community Professional ,
Feb 24, 2022 Feb 24, 2022

Copy link to clipboard

Copied

Hi @extracampine, basically, write or copy your script to Notepad or Textpad and save the file with the .js extension. Upload that file to Photoshop with the Script Events Manager found under the File menu. Then run that script as needed. I hope that's helpful!

 

JainLemos_0-1645732995455.png

 

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Feb 24, 2022 Feb 24, 2022

Copy link to clipboard

Copied

.jsx is more exact format, while Script Events Manager should be used only for listening.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Feb 24, 2022 Feb 24, 2022

Copy link to clipboard

Copied

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Community Professional ,
Feb 24, 2022 Feb 24, 2022

Copy link to clipboard

Copied


@extracampine wrote:

I'm not familiar with scripts - do I have to copy and paste that code somewhere in Photoshop? How do I automate it?


 

Quickstart:

 

  1. Copy the code text to the clipboard
  2. Open a new blank file in a plain-text editor (not word-processor)
  3. Paste the code in
  4. Save the text file with your desired filename with a .txt extension
  5. Rename the file extension from .txt to .jsx (ensuring that there is no double extension)
  6. Install or browse to the .jsx file to run (see below)

 

https://prepression.blogspot.com/2017/11/downloading-and-installing-adobe-scripts.html

 

 

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Feb 25, 2022 Feb 25, 2022

Copy link to clipboard

Copied

Thanks - but "copy the code text to the clipboard" - that link pasted above has lots of different code text, from different people. Which one should I use?

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Community Professional ,
Feb 25, 2022 Feb 25, 2022

Copy link to clipboard

Copied

Whichever one works best for you. You are likely going to have to try many different scripts, there must be at least a dozen out there. Here's another!  As my earlier links show, this question comes up continuously.

 

 

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Mar 15, 2022 Mar 15, 2022

Copy link to clipboard

Copied

LATEST

Thanks again. Been messing around with this for a while, but can't seem to get it to work. One script I found saves the images as PSD - but I want it to save as PNG. The script also doesn't resize the images to fit the smart object after they are placed. This is the script:

 

// Replace SmartObject’s Content and Save as PSD
// 2017, use it at your own risk
#target photoshop
if (app.documents.length > 0) {
var myDocument = app.activeDocument;
var theName = myDocument.name.match(/(.*)\.[^\.]+$/)[1];
var thePath = myDocument.path;
var theLayer = myDocument.activeLayer;
// PSD Options;
psdOpts = new PhotoshopSaveOptions();
psdOpts.embedColorProfile = true;
psdOpts.alphaChannels = true;
psdOpts.layers = true;
psdOpts.spotColors = true;
// Check if layer is SmartObject;
if (theLayer.kind != "LayerKind.SMARTOBJECT") {
alert("selected layer is not a smart object")
} else {
// Select Files;
if ($.os.search(/windows/i) != -1) {
var theFiles = File.openDialog("please select files", "*.psd;*.tif;*.jpg", true)
} else {
var theFiles = File.openDialog("please select files", getFiles, true)
};
if (theFiles) {
for (var m = 0; m < theFiles.length; m++) {
// Replace SmartObject
theLayer = replaceContents(theFiles[m], theLayer);
var theNewName = theFiles[m].name.match(/(.*)\.[^\.]+$/)[1];
// Save JPG
myDocument.saveAs((new File(thePath + "/" + theName + "_" + theNewName + ".png")), psdOpts, true);
}
}
}
};
// Get PSDs, TIFs and JPGs from files
function getFiles(theFile) {
if (theFile.name.match(/\.(psd|tif|jpg)$/i) != null || theFile.constructor.name == "Folder") {
return true
};
};
// Replace SmartObject Contents
function replaceContents(newFile, theSO) {
app.activeDocument.activeLayer = theSO;
// =======================================================
var idplacedLayerReplaceContents = stringIDToTypeID("placedLayerReplaceContents");
var desc3 = new ActionDescriptor();
var idnull = charIDToTypeID("null");
desc3.putPath(idnull, new File(newFile));
var idPgNm = charIDToTypeID("PgNm");
desc3.putInteger(idPgNm, 1);
executeAction(idplacedLayerReplaceContents, desc3, DialogModes.NO);
return app.activeDocument.activeLayer
};

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Community Professional ,
Feb 24, 2022 Feb 24, 2022

Copy link to clipboard

Copied

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines