Archive pour la catégorie ‘PAO’

Acrobat & les versions de PDF

Samedi 21 novembre 2009

AcrobatUn fichier PDF, c’est tout simple:
il suffit de l’ouvrir et de le consulter… si!

Mais par contre, il existe plusieurs versions,
de la version 1.3 à l’actuelle 1.7.

Quelle est la version de mon PDF?

Le petit moyen mnémotechnique pour retenir quelle version est produite depuis Acrobat et son Distiller il suffit de soustraire 1 à la version du logiciel.
Bien entendu, pour ne pas faire simple, la dernière version d’Acrobat (à savoir la 9) ne suit pas cette règle. Donc, nous avons pour les principales versions: PDF 1.3 (dit compatible Acrobat 4), 1.4 (Acrobat 5), 1.5 (Acrobat 6), 1.6 (Acrobat 7) et enfin 1.7 (Acrobat 8 et 9).

Quelles sont les différences « notables » entre les versions?

Le PDF 1.3 (sortie en 1999)

C’est celui que je qualifie de PDF standard et permettant une compatibilité maximale dans le mileu prépresse. Il permet en effet de répondre aux principaux besoin pour fournir un PDF destiné à l’impression industrielle, avec notamment la gestion des couleurs d’accompagnement (ton direct / Pantone). La gestion des couleurs CMJN & l’inclusion des fontes étant déjà gérées par les précédentes version.
De ce fait, c’est la version qui a permis au PDF de rentrer dans ce domaine graphique. Ainsi, les premiers RIP gérants le PDF apparaissent et quelques uns d’entre eux sont toujours en service, d’où ma qualification de « standard »: si il passait dans un RIP en 1999, il passera aujourd’hui!

Le PDF 1.4 (sortie 2001)

En gardant les mêmes bases que la précédente version, il y a quelques petits ajouts sympatiques comme la transparence qui peut être conservée.
Par contre, un PDF 1.4 ne peut pas être produit par le Distiller, bien que l’on puisse opter pour cette version dans les options de réglages, si l’on passe par un fichier PostScript pour générer le PDF (le PostScript est « limité » à ce niveau).

Le PDF 1.5 (sortie 2003)

On reprend les mêmes et on recommence… original! Isn’t it?
Par contre, on peut également avoir des calques à présent dans nos PDF, ce n’est pas utile tous les jours, mais dans le cas d’un versionning multilangue cela peut réduire le nombre de document à transmettre et à archiver.

Le PDF 1.6 (sortie 2005) et le PDF 1.7 (sortie 2005)

Rien de notable à ma connaissance, si ce n’est l’intégration possible d’objets 3D (dès la version 1.6), c’est sympa en démo, mais pour le monde graphique traditionnel (papier) je ne vois pas trop l’utilité!
Un travail de normalisation ISO est également mis en oeuvre, avec des normes PDF/A. Il semblerait d’ailleurs que ce soit la source de la fin du moyen mnémotechnique, le format PDF étant normalisé, il n’est plus possible à Adobe de faire ce que bon leur semble et incrémenter ainsi les versions.

C’est bien beau tout cela, mais je dois faire quoi?

Pour une utilisation prépresse traditionnelle, les versions 1.3 et 1.4 sont ce qu’il y aura de plus « sécur’ », il y aura le moins de surprises possibles avec le 1.3, par contre le document PDF 1.4 pourra être un peu plus léger dans le cas d’utilisation « abusive » de transparence dans la maquette.
Pour un envoi électronique simple (par mail, site web ou autre) où seule la lisibilité du document est concernée, la version importera moins mais il est à noter que les versions plus récente produisent souvent des fichiers de poids plus faibles (les algo de compression s’améliorant avec le temps et les versions d’Acrobat).

InDesign CS4, bug d’assemblage

Mercredi 22 juillet 2009

IDCS4 Elle commence à avoir un peu de bouteille cette Creative Suite 4, mais n’est toujours pas exempte de bugs.

J’ai toujours des problèmes pour sélectionner les différentes boxes des PDF lors de l’import, il faut passer par un ré-enregistrement sous Acrobat afin d’en retrouver trace dans les options lors de l’import du fichier PDF.

Dernier petit bug décelé lors de la réalisation d’une gravure en provenance de l’extérieur… les liens manquants ! Sur une soixantaine de liens utilisés dans la mise en page, plus d’une douzaine absents du dossier links réalisé à l’aide de la fonction d’assemblage, la fonction destinée à ne pas avoir de liens manquants lors du transfert d’un dossier. Un comble !

En réalisant divers essais sur ma machine de travail, je n’arrive pas à reproduire l’erreur. Pourtant c’est le 3e dossier consécutif que j’ai avec des liens manquants.
Après m’être assuré du process suivi en externe pour préparer cela, j’en déduis que c’est bien InDesign qui bug à l’assemblage, aller zou! on file googler!

Et là, jackpot ! Premier résultat sur un sujet des forums Adobe, ce n’est pas un cas isolé !
Ok, on lit, il va bien y avoir une solution autre que d’écrire un petit script d’assemblage (quoique, ça fait longtemps que je n’avais rien écrit… ;) ).
Premières constations, Adobe a publier une mise à jour 6.0.2 qui corrigerait le bug… ah ben non, 3 réponses plus bas, il y a toujours des constats d’erreur d’assemblage ! Arg !
Bon, on continue de lire (mais par la fin cette fois), et là c’est gagné (comme dirait notre amie Dora), la mise à jour 6.0.3 semble bien avoir éliminé ce problème.

Après vérification, suis-je à jour: oui, je mets toujours mes applications à jour, ma seule mauvaise surprise ayant été la mise à jour Java sur Mac OS X.5 qui m’a plombé toutes les préférences des applications, sinon que des bonnes surprises.
Par contre, en externe, c’était toujours la version du DVD qui était utilisée… oups ! Après mise à jour, l’assemblage s’est déroulé correctement.

Morale: toujours penser à mettre à jour ses logiciels de travail !
Enfin lorsque c’est possible, ça me fait penser à une histoire de Silverlight….

InDesign Story

Jeudi 9 juillet 2009

Pour les lecteurs du billets concernant Tiddlywiki, c’est peut être du réchaffé si ces derniers ont poussé à lire le TW de l’article, sinon tant pis, et de toutes façons il n’y a pas de lien direct, ici il s’agit de modifier la langue utilisée par le logiciel.

Sous QuarkXPress, j’ai longtemps réceptionné des documents en provenance d’outre-Rhin qu’il nous fallait traduire en français. Un des problèmes était que de base le logiciel utilisait la langue d’origine du document comme référence de dictionnaire de césure. Bien que la méthode de mise à jour des styles eut été une solution propre, elle n’a été que vaguement envisagé, les styles étaient bien utilisés, mais variaient d’une parution à l’autre, voir même document à l’autre. Il fallait donc plus radical et efficace.
Facile ! A l’aide d’une bibliothèque on glisse un petit bloc texte type dans la maquette. Ce bloc texte ayant, bien entendu, épuré de tout style afin de ne pas encombrer le document de travail, et bien sur, la langue du paragraphe contenu réglée sur celle de destination (ici français pour ceux qui ne suivent déjà plus!). Il n’y a plus qu’à effectuer un Enregistrer sous et activer la langue unique pour modifier tout le document dans la langue désirée.

Sous InDesign, j’ai bien cherché, mais je n’ai rien trouvé! Soit! Une occasion de plus jouer avec des scripts. En plus cette fois, les fichiers proviennent d’outre-Manche, c’est pas gagné pour leur faire comprendre que le texte français qu’ils maquettent doit utiliser des règles de césures issues d’un dictionnaire français! Ici pas d’option autre que mot par mot, paragraphe par paragraphe, style par style ou même bloc par bloc.

J’ai profité de ce petit contre-temps pour aller une fois de plus du côté de chez Swann, puis du Javascript pour approfondir encore un peu mes expériences.
L’option choisie est de laisser le choix du champ d’application des modification:

  • tous les styles de paragraphes
  • tous les styles de caractères
  • tous les paragraphes

Ce découpage permettant de voir un peu les différents côtés identiques (sic!) de l’application d’une langue dans InDesign via des scripts. L’ordre me parait également logique dans un esprit de nettoyage logique du texte les styles avant les paragraphes afin de préserver les liens de style au maximum en cas de modification à venir.

Première étape, une fenêtre dialogue permettant le choix du champ d’application, si un document est ouvert:

function main(){
  if(app.documents.length != 0){
      var myDialog = app.dialogs.add({name:"Conversion langue FRANCAIS"});
      with(myDialog.dialogColumns.add()){
        staticTexts.add({staticLabel:"Appliquer aux éléments:"});
        var sP = checkboxControls.add({staticLabel:"Style de paragraphe", checkedState:true});
        var sC = checkboxControls.add({staticLabel:"Style de caractères", checkedState:true});
        var aP = checkboxControls.add({staticLabel:"Tous les paragraphes", checkedState:true});
      }

Seconde étape, on effectue les changements sur les items désirés en se basant sur l’état des checkbox précédents:

if(myDialog.show() == true){
        var sP, sC, aP;
        if(sP.checkedState == true){
          for(myCounter = 1; myCounter < app.activeDocument.paragraphStyles.length; myCounter++){
          app.activeDocument.paragraphStyles.item(myCounter).appliedLanguage = app.languagesWithVendors.item("French");
        }}
        if(sC.checkedState == true){
          for(myCounter = 1; myCounter < app.activeDocument.characterStyles.length; myCounter++){
          app.activeDocument.characterStyles.item(myCounter).appliedLanguage = app.languagesWithVendors.item("French");
        }}
        if(aP.checkedState == true){
          for(myCounter = 0; myCounter < app.activeDocument.stories.length; myCounter++){
          app.activeDocument.stories.item(myCounter).appliedLanguage = app.languagesWithVendors.item("French");
      }}

Et pour finir, on n’oublie pas de détruire la fenêtre de dialogue, sinon avec le temps InDesign va un peu craquer!

myDialog.destroy();

Au final, le script complet permettant de convertir un document en français est le suivant:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
function main(){
  if(app.documents.length != 0){
      var myDialog = app.dialogs.add({name:"Conversion langue FRANCAIS"});
      with(myDialog.dialogColumns.add()){
        staticTexts.add({staticLabel:"Appliquer aux éléments:"});
        var sP = checkboxControls.add({staticLabel:"Style de paragraphe", checkedState:true});
        var sC = checkboxControls.add({staticLabel:"Style de caractères", checkedState:true});
        var aP = checkboxControls.add({staticLabel:"Tous les paragraphes", checkedState:true});
      }
      if(myDialog.show() == true){
        var sP, sC, aP;
        if(sP.checkedState == true){
          for(myCounter = 1; myCounter < app.activeDocument.paragraphStyles.length; myCounter++){
          app.activeDocument.paragraphStyles.item(myCounter).appliedLanguage = app.languagesWithVendors.item("French");
        }}
        if(sC.checkedState == true){
          for(myCounter = 1; myCounter < app.activeDocument.characterStyles.length; myCounter++){
          app.activeDocument.characterStyles.item(myCounter).appliedLanguage = app.languagesWithVendors.item("French");
        }}
        if(aP.checkedState == true){
          for(myCounter = 0; myCounter < app.activeDocument.stories.length; myCounter++){
          app.activeDocument.stories.item(myCounter).appliedLanguage = app.languagesWithVendors.item("French");
      }}
    }
  myDialog.destroy();
  }
  else{
    alert("Merci d'ouvrir un document.");
  }
}

A venir, quand j’en trouverais la motivation et/ou l’utilisation, un script plus générique allant puiser la liste des langues disponibles, et proposer un changement dans la langue du logiciel après récupérer cette dernière.

Indesign et ses différents noirs

Dimanche 17 mai 2009

backinblackPour des habitués d’XPress, la gestion de la nuance noir peut être un peu déconcertante sous InDesign. Il n’est pas rare de trouver des documents avec plusieurs nuances utilisées pour un noir. Entre les nuances importées avec un texte, celle d’un document XPress ourvert dans InDesign, et celles créées pour une occasion particulière…

J’ai commencé par citer XPress, car à cette vieille époque il y existait une palette obscure pour le graphiste, utile pour le maquettiste, formidable pour le flasheur: les infos de défonces ! La palette venait compléter la gestion des défonces par nuances dans les options de couleurs, et oui, il y était possible de faire surimprimer du jaune à un noir par défaut ! Totalement inutile cité ainsi, mais tellement pratique dans certains cas.
Mais surtout, avec ces options qui par défaut se géraient assez bien, il faut le dire, il était possible de créer différents noirs, le logiciel décidant ou non de surimprimer les nuances. Or dans InDesign, il semblerait que par défaut tout défonce, à part la nuance [Noir] ! Je dis « semblerait« , à part les options d’objets permettant de surimprimer un objet, je ne rien trouvé d’aussi détaillé avec des réglagles fins comme une défonce positive ou négative…

Une petit illustration valant plus que tout au monde (je me suis servi sur Flickr pour le fond, je vous laisse deviner les mots clés utilisés pour trouver cela):

Noir Indesign

La première ligne ne laissent pas deviner qu’un problème de défonce peut apparaître au flashage, tant que nous restons sur un support de type écran ou sortie imprimante, le défaut ne sera pas visible. Par contre lorsque l’on rentre dans les couches, on voit que les nuances de noir autre que [Noir] défoncent le fond, ce qui peut être la cause d’une impression offset de qualité inférieure.
En effet, le moindre petit décalage du noir lors de l’impression fera apparaître un léger filet blanc suite à ce décalage.

Oui, il est toujours possible de se dire que ce n’est pas le problème du maquettiste de s’occupper de ce type de problème, mais n’est-ce pas plus rassurant et gratifiant de se dire d’avoir remis un document propre à l’impression et qu’il n’y aura pas de doute sur le rendu ?

Kuler, parce que ça rime avec couleur

Lundi 11 mai 2009

Il n’y a pas que Google qui a droit à son Labs, après tout, il n’y a pas de marque déposée là dessus (enfin pas encore).

Chez Adobe aussi, il existe le Abode’labs avec des petits plus ou moins sympas, des recherches de plugins Photoshop, des évolutions Flash ou Air… Il y a également ce petit truc appelé Kuler.

kuler_logoKuler est à base de Flash/Air (j’arrive plus à les différencier sur le site Adobe), c’est un site collaboratif & social où l’on partage des nuanciers de 3 à 5 couleurs. Le partage est à double sens, bien entendu, mais ce n’est pas la seule fonctionnalité intéressant de site, il est également possible de créer ses nuanciers en ligne (selon différents modes) et de les exporter en palette .ase, le format de nuancier des applications Abobe.

La création de nuancier se fait soit à partir de rien, soit à partir d’un image en y prenant les dominantes de couleur, les plus lumineuses, les plus éteintes, les plus profondes ou sombres, ou même à coup de pipette personnalisée !

Le plus interressant est la création de nuancier vierge à partir d’une roue chromatique. Là encore, différentes régles viennent en aide à la création du nuancier: analogue, monochromatique, Triad, complémentaire, « composé » (désolé pour la traduction), teinte ou personnalisée.

Les nuances sont téléchargeables via un fichier ASE, mais également dans les applications CS4! A défaut d’avoir un compte Adobe ou la Creative Suite 4, il est toujours possible d’avoir les références des couleurs composants le nuancier, et cela en mode: TSL (HSV) / RVB (RGB) / CMJN (CMYK) / Lab et enfin HEX (couleurs dites web), ça nous laisse l’embarras du choix!

En plus, l’interface de navigation du site est très sympathique (à mon goût, mais les goûts & couleurs ne se discutent pas!). Et si bien même, le site ne convient pas, il reste le widget disponible pour Mac (très agréable à utiliser dans Dashboard pour effectuer des recherches) ou encore la version Air-desktop, tous deux sont téléchargeable sur la page de links du site.

En pour finir, le côté assez inutile donc totalement indispensable du site, c’est la partie Beta du produit Labs (faut suivre) qui permet de se faire une idée des dominantes des nuanciers créés, et cela par pays / période, c’est la fonction Pulse.

InDesign, nettoyage des couleurs

Mardi 21 avril 2009

Encore un nouveau script à base de Javascript et d’InDesign… mais non, je n’y suis pas accro ;)

Une grande partie de mon temps est occupé par la conversion des couleurs d’accompagnement d’un document InDesign et le nettoyage du document qui va avec: suppression de couleurs en double, et parce que je suis un peu maniaque sur la façon d’organiser son travail nommage des couleurs selon leur composition.
Pour le moment, j’avais 2 Applescripts qui faisaient bien leur boulot, mais qui dit 2 scripts, dit forcément 2 lancement! CQFD. Alors oui, il était possible de les fusionner, mais c’est tout de même plus polyvalent de revoir son pannel de scripts pour les rendre encore plus pratiques et multi-plateforme.

Le script se divise en plusieurs segments:

1e partie: le test de version d’application

#target indesign
var IDvers = parseInt(app.version);

on ne récupére que la partie entière de la version de l’application

switch(IDvers) {
	case 4 :
		var mSwatches = app.activeDocument.colors;
		for (x = 1; x &lt;= 4; x++){updateColors(mSwatches);}
		break;
	case 5 :
		var mSwatches = app.activeDocument.swatches;
		updateColors(mSwatches);
		break;
}

Un petit switch permettant de s’occuper des méthodes selon la version.
A noter que pour une raison inconnue le script doit être éxécuter plusieurs fois sous InDesign CS2…

2e partie: le test des Pantone

if (mSwatches[i].name.substr (0, 7).toUpperCase() != "PANTONE") {
  try {

On évite de traiter les couleurs Pantone en éliminant ces nuances via leur noms. On lance ensuite un try / catch pour éviter les erreurs de traitement lorsqu’on arrive sur les couleurs protégées comme celle de repérage ou de [Papier].

3e partie: le changement de mode et nom

mSwatches[i].model = 1886548851; // = Process
mSwatches[i].space = 1129142603; // = CMJN
with (mSwatches[i]){
  mC = Math.round(colorValue[0]);
  mM = Math.round(colorValue[1]);
  mY = Math.round(colorValue[2]);
  mK = Math.round(colorValue[3]);
}

on change le modèle de couleur, ainsi que l’espace colorimétrique, puis on récupérer la valeur entière de la composante pour préparer le renommage de la nuance.

4e partie: le renommage et la fusion

try {
  mSwatches[i].name = myName;  }
catch(err){
  mSwatches.item(myName).merge(mSwatches[i]);  }
}

dans une boucle try / catch, on tente de renommer la nuance, en cas d’erreur, la couleur existe, étant un doublon on la fusionne avec l’existante.

Conclusion: le script complet

#target indesign
var IDvers = parseInt(app.version);  // version InDesign CSx
 
switch(IDvers) {
	case 4 : 	// CS2
		var mSwatches = app.activeDocument.colors;
		// Hack pour passer plusieurs la méthode
		for (x = 1; x <= 4; x++){updateColors(mSwatches);}
		break;
	default :		// CS3
		var mSwatches = app.activeDocument.swatches;
		updateColors(mSwatches);
		break;
	/*default : 	// Ni CS2 ni CS3, avertissement
		alert('Script testé uniquement avec CS2 & CS3');*/
}
 
alert('Fin du traitement');
 
function updateColors(mSwatches) {
	for (i = mSwatches.length-1; i >= 0; i--){
		// si la nuance se nomme "Pantone xxxx" on ne fait rien
		if (mSwatches[i].name.substr (0, 7).toUpperCase() != "PANTONE") {
			try {
				mSwatches[i].model = 1886548851; // 1936748404 = SPOT | 1886548851 = Process | 1919248243 = repérage
				mSwatches[i].space = 1129142603; // 1129142603 = CMJN | 1666336578 = RVB
				with (mSwatches[i]){ // récupération des composantes CMJN
					mC = Math.round(colorValue[0]);
					mM = Math.round(colorValue[1]);
					mY = Math.round(colorValue[2]);
					mK = Math.round(colorValue[3]);
					}
				var myName = "C=" + mC + " M=" + mM + " J=" + mY + " N=" + mK;
				try {
					// renommage de la nuance selon sa composition
					mSwatches[i].name = myName;
					}
				catch(err){
					// fusion de la nuance en cours avec l'existante de même composition
					mSwatches.item(myName).merge(mSwatches[i]);
					}
				}
		catch (e) {}
		}
	}
}

InDesign, mise à jour des liens

Mercredi 15 avril 2009

Mettre à jour les liens d’un document InDesign peut être simple, du moins plus que si la manipulation était à faire sous QuarkXPress. En effet, l’option permettant de remplacer le lien sélectionné garantis la préservation des attributions de l’image, comme l’échelle, le décalage ou l’orientation.

Il suffit juste de répéter la manipulation pour chacun des liens du document… cool !!!

C’est là que l’automatisme intervient, ben oui, si pour un document d’une ou deux pages cela semble rapide, pour un 16 pages et ses 80 liens, c’est déjà une autre affaire, à vue de nez 3 à 5 secondes par lien ce qui nous donne un peu plus de 5 min de traitement si on admet que l’opérateur est rapide et use le clavier pour gagner du temps ;)

Le script proposé utilise le Javascript Adobe (quelques fonctions supplémentaires et dédiées aux produits Adobe), et surtout ne demande même pas une minute de traitement pour ces 80 liens, oui oui j’ai bien dis 1 minute (notée avec un chiffre pour être plus clair) !!!

C’est un premier jet, il ne remplace que des liens ayant pour extension .tiff par des liens de même nom avec l’extension .eps, c’est la raison de l’écriture de ce script. N’ayant pas les acquis actuellement pour proposer une boîte de dialogue permettant de configurer le script au lancement, il faudra remplacer les textes .tiff et « .eps » dans le script pour changer les conditions. Promis, bientot une mise à jour ;)

#target "InDesign"
var z = 0; // compteur de mise à jour
var extS = prompt("Quelle est l'extension de fichier recherchée (sans le point)","tiff","Extension recherchée");
var extR = prompt("Quelle est l'extension de fichier de remplacement (sans le point)","eps","Extension remplacée");
var myRegex = new RegExp('\.' + extS + '$', 'i'); // construction de la RegExp
var myImages = app.activeDocument.allGraphics; // liste des images
for (i = myImages.length-1; i >= 0 ; i--) {  // boucle 
	var myImage = myImages[i].itemLink;
	var myNewNamePath = myImage.filePath;
	var myNewName = myNewNamePath.replace(myRegex , '.' + extR)
	var myNewLink =  new File (myNewName);
	if (myNewLink.exists) { // si remplacement & lien existant alors
			myImage.relink (myNewLink);
			myImage.update();
			z = z + 1; // incrémentation du compteur
		}
}
alert("Mise à jour des images" + "rMise à jour effectuée sur " + z);

Test colorimétrique

Mercredi 1 avril 2009

Un petit test de perception des couleurs, basé sur la perception des différences de teintes, qui fait peur lorsque l’on touche à un domaine très lié à notre milieu professionnel.

Premier test effectué sur un PC équipé d’un écran bas de gamme (Acer 22″), non calibré et le tout après une journée de travail bien remplie. Résultat: 70, ça fait très peur !

Attendant le lendemain pour aller effectuer ce même test à l’aide de l’équipement professionnel, à savoir un Mac équipé d’un écran Samsung 20″ étalonné à l’aide des outils Adobe de la Creative Suite 3 pour les besoins professionnels destinés à l’impression traditionnelle. Résultat: « You have perfect color vision », ouf! j’ai eu peur.

Et pour les mauvais langue, voici une capture comparative, et qui n’est même pas truquée!

 

Comparatif du test de teinte sur Mac et PC

Comparatif du test de teinte sur Mac et PC

Acrobat, PDF & recadrage

Mercredi 25 mars 2009

Il y avait bien la méthode Applescript (bah oui sous Mac OSX), mais j’estime en avoir fait le tour, il me fallait un nouveau challenge, et j’ai trouvé mon nouvel objectif: le Javascript !

Après avoir compris (ou du moins fait comme si) les méthodes d’accès aux éléments du documents PDF, il suffit de lire, sauvegarder et appliquer ce que l’on a trouvé! Comme quoi, c’est facile l’approche automatisme même dans le monde de la PAO traditionnelle ;)

Aller, envoyez le bouzin :

//FONCTION LOOP
function MyResizeLoop()
{
	var CountOfPages = this.numPages - 1;
 
	for (var x = 0; x <= CountOfPages; x++)
		{
		var mediaBox = this.getPageBox("Crop",this.pageNum = x);
		var cropBox = this.getPageBox("Trim",this.pageNum = x);
		var pBox = [];
			pBox[0] = mediaBox[0];
			pBox[1] = mediaBox[1];
			pBox[2] = mediaBox[2];
			pBox[3] = mediaBox[3];
 
		if(x/2 == Math.round(x/2)) // paire
			{pBox[0] = cropBox[0];}
		else
			{pBox[2] = cropBox[2];} // impaire
		this.setPageBoxes("Crop", x, x, pBox);
		}
	this.layout = "TwoPageRight";
	this.pageNum = 0;
}

C’est bien pratique tout ça, mais comment l’utiliser sous Acrobat? Le plus simple est, selon moi, l’ajout de bouton sur le barre personnalisée d’Acrobat.

app.addToolButton({ cName: "mBT", cExec: "MyResizeLoop()", cTooltext: "Rogne les marges intérieures des pages"});

Ne reste plus qu’à enregistrer tout cela dans un fichier Mescripts.js (par exemple) et l’ajouter à Acrobat.