Copy link to clipboard
Copied
Pretty self-explanatory, I want to copy an element (text box, if that matters) and paste it in place on every page in my indesign document. Does anyone know how this is done?
Copy link to clipboard
Copied
Put it on your Parent Page then it's on every page in the same place.
If you need to access to make a change change it on the Parent Page.
Copy link to clipboard
Copied
This doesn't answer the actual question. "How do I copy/paste on all or multiple pages". What if pasting into the parent page doesn't work? For instance, I have page numbers that, if I put them in the Parent Page, get covered by imagery in the child page. So, I need to put page numbers on the child pages.
Is there any way to "paste across all pages"?
Copy link to clipboard
Copied
Sorry, I thought it was implied, the awkward avoided answer is no you cannot paste onto multiple pages simultaneously.
A method that works is using parent pages and then it's on all those parent pages.
Every workflow has caveats, perhaps it can be scripted or a script exists already.
Copy link to clipboard
Copied
Good news @M. Haam it can be scripted - just did a basic test there.
So I'll try add a UI around it and come up with something - could be a few hours - if nobody beats me to it 😄
Pop a reminder for me later or tomorrow - I'm working on it now.
Copy link to clipboard
Copied
Here's the basic idea around the script
<edited script to include single undo - I'm always forgetting>
#target indesign
function main() {
if (app.documents.length === 0) {
alert("Please open a document.");
return;
}
var doc = app.activeDocument;
// === UI Dialog ===
var dialog = new Window("dialog", "Place Image on Pages");
var group1 = dialog.add("group");
group1.orientation = "column";
group1.alignChildren = "left";
var allPagesCheckbox = group1.add("checkbox", undefined, "Place on all pages");
allPagesCheckbox.value = true;
var pageRangeGroup = group1.add("group");
pageRangeGroup.add("statictext", undefined, "Page Range (e.g., 1,3,5):");
var pageRangeInput = pageRangeGroup.add("edittext", undefined, "");
pageRangeInput.characters = 20;
pageRangeInput.enabled = false;
allPagesCheckbox.onClick = function () {
pageRangeInput.enabled = !allPagesCheckbox.value;
};
var imageGroup = group1.add("group");
var chooseImageBtn = imageGroup.add("button", undefined, "Choose Image...");
var imagePathText = imageGroup.add("statictext", undefined, "No image selected", {truncate: "end"});
imagePathText.preferredSize.width = 300;
var imagePath = null;
chooseImageBtn.onClick = function () {
var file = File.openDialog("Choose an image", "Images:*.jpg;*.png;*.tif;*.psd;*.eps;*.ai");
if (file) {
imagePath = file;
imagePathText.text = decodeURI(file.name);
}
};
dialog.add("button", undefined, "OK");
dialog.add("button", undefined, "Cancel");
if (dialog.show() !== 1 || !imagePath) {
return;
}
// === DO SCRIPT WRAPPED FOR SINGLE UNDO ===
app.doScript(function () {
var pagesToPlaceOn = [];
if (allPagesCheckbox.value) {
pagesToPlaceOn = doc.pages.everyItem().getElements(); // All pages
} else {
var inputPages = pageRangeInput.text.split(",");
for (var j = 0; j < inputPages.length; j++) {
var pageNum = parseInt(inputPages[j], 10);
if (!isNaN(pageNum) && pageNum >= 1 && pageNum <= doc.pages.length) {
pagesToPlaceOn.push(doc.pages[pageNum - 1]);
}
}
}
var positionX = 50;
var positionY = 50;
for (var p = 0; p < pagesToPlaceOn.length; p++) {
var page = pagesToPlaceOn[p];
// Use page bounds for consistent placement regardless of side
var bounds = page.bounds;
var top = bounds[0] + positionY;
var left = bounds[1] + positionX;
var bottom = top + 100;
var right = left + 100;
var rect = page.rectangles.add();
rect.geometricBounds = [top, left, bottom, right];
rect.place(imagePath);
rect.fit(FitOptions.PROPORTIONALLY);
rect.fit(FitOptions.FRAME_TO_CONTENT);
}
}, ScriptLanguage.JAVASCRIPT, undefined, UndoModes.ENTIRE_SCRIPT, "Place image on pages");
alert("Image placed on selected pages.");
}
main();
Copy link to clipboard
Copied
Page numbers should be on their own layer and that layer should be above every other layer.
Copy link to clipboard
Copied
Whole lotta' "shoulds" going on there, Bob. Maybe take a look at the entire converstation for some context into the actual problem, so you don't waste your time adding non-solutions. Thanks for trying!
Copy link to clipboard
Copied
Where should I send your refund?
Copy link to clipboard
Copied
Use layers. I usually put parent page items on their own layer so I can position page items below master page items as needed. Just make a layre for background objects and position it below the Parent Page layer.
Copy link to clipboard
Copied
For instance, I have page numbers that, if I put them in the Parent Page, get covered by imagery in the child page.
Create a new layer above the others and put the page numbers text frames on this layer.
I didnt see that the same answer has already been given…
Copy link to clipboard
Copied
I think the nested answers contribute to the confusion, @jmlevy . People often don't get the bottom of the post before answering. I long for the old days, before nested answers were a thing. [insert gray-haired old lady emoji here] 😉
~Barb
Copy link to clipboard
Copied
So if you have multiple Parent pages, add the element to each of your Parent pages.
Copy link to clipboard
Copied
Hi @M. Haam:
As per @Eugene Tyson, this isn't a native feature within InDesign. Both and he @Steve Werner recommended using parent pages—which is also how I would approach this as well. Since you indicated concern about the stacking order—add two new layers to your file: one for the page numbers and one for the repeating image. Be sure the page number layer is above the repeating image layer. You can learn more about layers here: https://helpx.adobe.com/indesign/using/layers.html
I also added the scriping tag to your post, in case you want to pursue that part of Eugene's answer. (Edit: too late on my part, Eugene is on it! 😀)
~Barb
Copy link to clipboard
Copied
Thanks, Barb! These would all be great solutions - and the way I would set up the file, were I the one who created the file. However, I inherited this file from another designer who didn't do any set up at all. I have a 70 page document that needs page numbers and using the parent pages isn't an option - unless I create the layers in parents and then rebuild all the pages to use the parent. So you can see the pickle I'm in. Either way, appreciate your time.
Copy link to clipboard
Copied
@M. Haam said: "… I have a 70 page document that needs page numbers and using the parent pages isn't an option - unless I create the layers in parents and then rebuild all the pages to use the parent."
Well, if one single parent page is applied throughout all document pages you have to do that 2 steps only once.
Go to the parent page, [1] add a new layer at the top of the stack of layers and [2] add your element you want to see on all pages on that layer. This layer should be reserved for elements on parent pages that you like to see on the top of all other elements on the document pages.
Regards,
Uwe Laubender
( Adobe Community Expert )
Copy link to clipboard
Copied
We are always happy to help. 😊 And it sounds like waiting for Eugene's script will be the way to move forward.
~Barb
Copy link to clipboard
Copied
Find more inspiration, events, and resources on the new Adobe Community
Explore Now