Necesito reemplazar un par de páginas maestras existentes con otras páginas maestras existentes .
Estoy familiarizado con la forma de reemplazar las páginas maestras en general.
Tengo páginas maestras: A, B, C, D, E, F.
Necesito reemplazar todas las apariciones de Master-F con Master-B y todas las apariciones de Master-E con Master-D. El documento tiene varios cientos de páginas. Las páginas del documento con estas asignaciones maestras no son contiguas . Entonces, por ejemplo, necesito cambiar la asignación maestra para la página 4, 8, 10, 22, 40, 43, ~, 130, 190, 340, 347, etc.
Me doy cuenta de que simplemente puedo copiar/pegar contenidos entre maestros, o aplicar un maestro a otro.
(Sin embargo, quiero mantener los maestros existentes como están. Crear un nuevo maestro no será de utilidad).
Me doy cuenta de que puedo arrastrar y soltar un maestro en una página de documento para reemplazar el maestro.
Me doy cuenta de que puedo usar Apply Master Page to...
para aplicar una página maestra basada en los números de página del documento. El campo para ingresar páginas no parece aceptar algo como D-Master
o D:
como una entrada viable. (He probado muchas variaciones.)
Factorizar todos y cada uno de los números de página para el reemplazo llevaría tanto tiempo como arrastrar y soltar manualmente los maestros. Puedo hacer todo esto manualmente, pero me encantaría algo más automatizado.
La búsqueda web no ha presentado nada útil. A menudo, simplemente detalla los conceptos básicos de la teoría y las operaciones en lo que respecta a las páginas Maestras. Pero, ¿tal vez mi búsqueda en la web ha sido pobre?
es decir, ¿todas las asignaciones Master-F a las asignaciones Master-B independientemente de los números de página del documento ?
¿Algo así como Buscar <> Reemplazar, pero solo con asignaciones de página maestra?
Se me ocurrió que puede haber una secuencia de comandos predeterminada para tal cosa, pero según los nombres de los archivos de secuencias de comandos, no veo ninguna secuencia de comandos predeterminada para esto específicamente. Sin embargo, puede que simplemente me lo esté perdiendo.
(Estoy usando InDesign CS6, pero tengo acceso a versiones más recientes si eso es obligatorio, aunque prefiero CS6).
Gracias a @Wolff y algunas búsquedas más, pude editar una secuencia de comandos adicional que encontré en github (¿¿que puede haber sido escrita originalmente por Joonas??) para lograr esto dentro de InDesign.
[None]
se refiere a la página maestra predeterminada (en blanco) llamada "[Ninguna]" y se intercambiará como cualquier otra página maestra con este script. [None]
no significa "nada" en este caso.
---- Actualizado para etiquetas desplegables y un solo paso "deshacer" ----
// Modified from https://gist.github.com/joonaspaakko/f16b47be887a2058cd0c0ac6e7ab0343
// This script is a combination of resources from above URL and courtesy of Mads Wolff
//
// v1.1 Replaces all targeted Master assignments with new Master page assignment, regardless of page number
//
var master;
app.doScript(init, ScriptLanguage.javascript, undefined, UndoModes.ENTIRE_SCRIPT, 'Swap Master Pages');
function init() {
var doc = app.activeDocument;
var masters = get_masters(doc);
dialog( masters );
if ( master !== false ) {
var pages = doc.pages;
for (var i = 0; i < pages.length; i++) {
var page = pages.item(i);
if (page.pageItems.length < 1) {
//Swap them
if (page.appliedMaster === doc.masterSpreads.itemByName(oldMaster)) {
if (newMaster == "[None]") {
//Remove master assignment
page.appliedMaster = NothingEnum.NOTHING;
} else {
//Add new Master assignment
page.appliedMaster = doc.masterSpreads.itemByName(newMaster);
}
}
}
}
}
} // init()
function get_masters(doc) {
var everyMaster = doc.masterSpreads.everyItem().name;
var masters = ["[None]"];
for (var i = 0; i < everyMaster.length; i++) {
masters.push(everyMaster[i]);
}
return masters;
}
function dialog(masters) {
var dlg = new Window("dialog", "Swap Master Pages");
dlg.orientation = "column";
dlg.alignChildren = ["right","top"];
dlg.spacing = 15;
dlg.margins = 20;
dlg.preferredSize.width = 220;
var oldM = dlg.add("group", undefined, {name: "oldM"});
var swapO = oldM.add("statictext", undefined, " Find Master ");
var oldDropdown = oldM.add("dropdownlist", undefined, masters);
var newM = dlg.add("group", undefined, {name: "newM"});
var swapN = newM.add("statictext", undefined, " Assign Master ");
var newDropdown = newM.add("dropdownlist", undefined, masters);
var buttons = dlg.add("group");
buttons.alignment = ["center","top"];
var btn_cancel = buttons.add("button", undefined, "Cancel");
var btn_ok = buttons.add("button", undefined, "Swap");
oldDropdown.selection = 0;
newDropdown.selection = 0;
btn_cancel.onClick = function() {
master = false;
dlg.close();
}
btn_ok.onClick = function() {
oldMaster = oldDropdown.selection.toString();
newMaster = newDropdown.selection.toString();
dlg.close();
}
dlg.show();
}
Esto no altera las Páginas Maestras de ninguna manera. Simplemente altera las asignaciones de la página maestra aplicadas a las páginas del documento.
SwapMasters.js
.[Hard Drive] / Applications / InDesign / Scripts / Scripts Panel
Window > Utilities > Scripts
)init
función de esta manera: app.doScript(init, ScriptLanguage.javascript, undefined, UndoModes.ENTIRE_SCRIPT, 'Swap Master Pages');
. Esto ejecuta el script como una acción que se puede deshacer denominada "Intercambiar páginas maestras" en el menú, por lo que si se arrepiente de haber ejecutado el script, no tendrá que deshacer todos los intercambios individuales.
lobo
scott