: How to copy layers from one Photoshop document to another? Is there a way to copy layers from one Photoshop document to another? I was working on a project earlier on that required this
Is there a way to copy layers from one Photoshop document to another?
I was working on a project earlier on that required this but I didn't know how this could have been done.
(Procedure not as simple as Illustrator, where a simple Ctrl | Cmd + C and Ctrl | Cmd + V would work.)
More posts by @Barnes313
9 Comments
Sorted by latest first Latest Oldest Best
You can just drag the layer from one project to another, just open the two projects and go to Window, Arrange and 2up Vertical and highlight the layer you want to copy and just drag it across
Here's my obligatory Javascript macro for copying layers from one Photoshop document to another for anyone familiar with scripting Photoshop. Tried and tested in CS 5.5 on the mac.
sourceDocumentName, targetDocumentName and layersToCopy are the only variables you need to edit to your needs.
On the Mac, you can just save as something like copyLayersBetweenDocs.jsx, then drag-n-drop the script file on the Photoshop icon in the dock to run. On Windows, you have to save it in the scripts folder C:Program FilesCommon FilesAdobeStartup Scripts CS5Adobe Photoshop and open it from Photoshop
#target photoshop
app.bringToFront();
var sourceDocumentName = 'source-doc';
var targetDocumentName = 'target-doc';
// populate this array with whatever the names of the layers
// you want to copy are
var layersToCopy = new Array(
'road-scenery',
'car',
'wheels',
'front-passenger',
'rear-passenger'
);
// alternatively, specify the name of a layer group containing
// the layers you want to copy over.
// Just uncomment the following line
//var layersToCopy = 'layer-group-to-copy';
copyLayers( layersToCopy, sourceDocumentName, targetDocumentName );
/**
* Copy layer from one document to another
* @param {string|Array} layersToCopy
* @param {string} sourceDocumentName
* @param {string} targetDocumentName
*/
function copyLayers( layersToCopy, sourceDocumentName, targetDocumentName ) {
var
sourceLayer,
targetLayer,
sourceGroup;
var sourceDoc = app.documents[sourceDocumentName];
var targetDoc = app.documents[targetDocumentName];
if ( app.activeDocument != sourceDoc ) {
app.activeDocument = sourceDoc;
}
if ( typeof layersToCopy === 'string' ) {
sourceGroup = sourceDoc.layerSets.getByName( layersToCopy );
targetLayer = sourceGroup.duplicate( targetDoc, ElementPlacement.PLACEATBEGINNING )
}
else if ( Object.prototype.toString.call( layersToCopy ) === '[object Array]' ) {
for ( var i = 0; i < layersToCopy.length; i++ ) {
sourceLayer = sourceDoc.artLayers.getByName( layersToCopy[i] );
targetLayer = sourceLayer.duplicate( targetDoc, ElementPlacement.PLACEATBEGINNING );
}
}
}
This is a quick way if you want to export some parts your design to a PNG or JPG:
Select the layer you want to copy
Right click, convert it to a smart object
Double click the layer, you will be prompted with Smart Object detail.
Click Ok, then you have the layer within a new document.
You will get all the layer styles brought to you and the canvas size is trimmed automatically to fit your layer width and height. From here you can save it as a new PSD file or export it to another format.
This would be very helpful for web designer when exporting web elements where you would want to export individual items separately. The drawbacks of this technique is: when you create a smart object, Photoshop saves your layer in a separate file which could lead to extra memory usage.
To be able to copy and paste, I do this. Open the layer I want to copy, in most cases my logo, and do Select All (Ctrl + A). Right click on layer then and choose Rasterize layer. Then Ctrl + C for copy, go to new document, and do Ctrl + V for paste. Works for me.
Similar to jhockings answer but a little quicker: You can always right-click on the layer(s) you want to copy and select "duplicate layer." From there you get a dialog box and you can select the destination of the layer. The current document is selected by default but you can change it to an open document or new document.
If you want to put the duplicated layer in a specific location in an open document, make sure to select the folder you would like to put it in before you duplicate the layer. You do this by literally selecting the desired folder in your layers palette for the destination document.
If you find you need to repeat this action many times, you can always make a new action for it. Open the Actions Palette and create a new action - set your hot key (I use F2). Then, to record the action, click the Options button (upper right corner of the palette window) and choose Insert Menu Item. Select Layer>Dupicate Layer. Then click Okay. Now, when you hit F2 while a layer is active, it will bring up the duplicate dialog box. Pick your destination and you're done! Just be careful when choosing hot buttons because it can override some of the default actions of photoshop.
As already mentioned, you can simply grab the layer(s) out of the layers palette and drop them in the new document if the windows are side-by-side. There's a trick you can use if you're not viewing them side-by-side:
Make sure you're using the move tool (V)
Select your layers
Drag them up to the tab of the destination, starting from somewhere within the image itself (not the layers palette).
Wait a moment, and the destination image will open on the screen. Then you can drop the layers in that image.
This trick works in CS4 and CS5; not sure about earlier versions.
I always do it the duplicate route:
You select the layer(s) and then either
Layer → Duplicate...
or via Duplicate... in the options button of the layer palette.
In the dialogbox choose the destination you would like to copy them to.
This has the added advantage that you can even choose to duplicate into a new document which automatically creates a new image with your copied layers.
The whole dragging business is not my thing. I often fear it will get handled incorrectly or at least strangely.
You can simply drag the layer from the Layers panel and drop it on the new document. That can be tricky however if your view is setup such that the two documents aren't side by side (at the bottom is description of how to do this with tabs).
The other way to transfer layers between open documents is using the Duplicate Layer function. When you right-click on a layer in Layers panel you can choose Duplicate Layer... from the menu. The Duplicate Layer dialog box then asks you which document to use as the Destination.
In tabbed view: choose needed layers in Layers panel, grab the Move tool (V), click and hold in the document window (not the Layers panel, just on the image itself), drag your cursor to the title of the needed tab and wait till document view changed (don't release left mouse button yet), move your mouse cursor into the document window and release left mouse button (hold down Shift to place layer in the center of the document).
Easiest way is to select the layers you want to copy and drag and drop them into the new document.
Terms of Use Create Support ticket Your support tickets Stock Market News! © vmapp.org2024 All Rights reserved.