En raison du numéro de page, cela pourrait ne pas être une solution parfaite. Mais voici la solution que j'ai trouvée en utilisant des scripts:
Téléchargez cet exemple de fichier et enregistrez-le sur votre système. C'est IDML de CS5, donc cela devrait fonctionner à partir de CS4 +.
Vous remarquerez aux pages 3 et 4 qu'il y a un gros bloc de texte rose qui dit DRAFT:
Si vous tirez le Script Label
panneau ( Window
> Utilities
> Script Label
), vous verrez qu'il est étiqueté comme « DRAFT_LABEL ».
Maintenant, prenez le script suivant, copiez / collez dans un éditeur de texte et enregistrez-le dans votre répertoire Scripts (en tant que fichier .js ou .jsx, peu importe):
try // to get the path of the file that's active when you run the script.
{
var OpenFilePath = app.documents.item(0).fullName; // Declare a variable representing the open document.
var OpenFile = app.open(File(OpenFilePath), true, 1332757360); // Create a duplicate to work with. In Adobe's world, "1332757360" means "open a copy".
}
catch (err)
{
var OpenFile = "error";
alert("Please save this file before using the script.");
}
var OpenFileLength = OpenFile.pages.length; // Get number of pages of open document and master file.
// These help make the array that stores master markers.
var ArrayCounter = 0;
var FindTheMarkers = new Array();
for (var i=0; i<OpenFileLength; i++) // Loop through every page.
{
ItemsOnPage = OpenFile.pages.item(i).pageItems.length; // Get the number of items on the page.
for (var j=0; j<ItemsOnPage; j++) // Loop through every item.
{
var ScriptLabel = OpenFile.pages.item(i).pageItems.item(j).label;
if (ScriptLabel != "" && ScriptLabel.indexOf("DRAFT_LABEL") == 0) // If the item has a label and it equals what we want it to,
{
FindTheMarkers[ArrayCounter] = i; // Put the page number in the array.
ArrayCounter++; // Advance the counter for next time!
}
}
}
var numberToSubtract = 0; // This compensates for screwing up the page counter when you remove a page.
for (i=0; i<FindTheMarkers.length; i++) // Loop through the array and remove pages!
{
OpenFile.pages.item(FindTheMarkers[i] - numberToSubtract).remove();
numberToSubtract++;
}
Avant d'exécuter le script, enregistrez le document . Alors lancez-le!
Je suis un designer qui écrit des scripts et non l'inverse, donc ce n'est peut-être pas le code le plus élégant. Mais ce qu'il fait est de parcourir votre document pour rechercher des éléments de page qui ont la balise "DRAFT_LABEL", puis il stocke ce numéro de page dans un tableau. Une fois la numérisation terminée, il supprime les pages appropriées.
Vous vous retrouvez alors avec un nouveau fichier dont les pages brouillons ont été supprimées!