fix: compatibilite Acrobat 2026 - suppression avecPrivileges, new Doc, newPage objet

- Supprime tous les appels a avecPrivileges() (beginPriv/endPriv crash dans Acrobat 2026)
- Remplace new Doc() par app.newDoc(w, h) dans tous les modules
- Remplace doc.newPage({nPage:x, width:w, height:h}) par doc.newPage(x, w, h)
- Modules corriges : Core, Licence, Livret, NUp, Decoupe, Marges, Reperes, Auto, MiseAJour
- Version 1.1.0

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Jules Dubois
2026-06-26 00:10:26 +02:00
parent fd92b80350
commit ca54bd8d5e
10 changed files with 191 additions and 235 deletions

View File

@@ -147,18 +147,16 @@ CDImp.Util = {
if (!nSrcPage) { if (!nSrcPage) {
return; return;
} }
CDImp.Util.avecPrivileges(function () { var nomTpl = "CDImp_tpl_" + nSrcPage + "_" + nDestPage + "_" + (new Date()).getTime();
var nomTpl = "CDImp_tpl_" + nSrcPage + "_" + nDestPage + "_" + (new Date()).getTime(); var tpl = srcDoc.createTemplate({ cName: nomTpl, nPage: nSrcPage - 1 });
var tpl = srcDoc.createTemplate({ cName: nomTpl, nPage: nSrcPage - 1 }); var cropOrigineDest = destDoc.getPageBox({ nPage: nDestPage, cBox: "Crop" });
var cropOrigineDest = destDoc.getPageBox({ nPage: nDestPage, cBox: "Crop" }); try {
try { destDoc.setPageBoxes({ nPage: nDestPage, cBox: "Crop", rBox: rectDest });
destDoc.setPageBoxes({ nPage: nDestPage, cBox: "Crop", rBox: rectDest }); tpl.spawn({ cDocName: destDoc, nPage: nDestPage, bRename: false, bOverlay: true });
tpl.spawn({ cDocName: destDoc, nPage: nDestPage, bRename: false, bOverlay: true }); } finally {
} finally { destDoc.setPageBoxes({ nPage: nDestPage, cBox: "Crop", rBox: cropOrigineDest });
destDoc.setPageBoxes({ nPage: nDestPage, cBox: "Crop", rBox: cropOrigineDest }); tpl.remove();
tpl.remove(); }
}
});
}, },
/** /**
@@ -180,21 +178,19 @@ CDImp.Util = {
* @param {Number} nDestPage index 0-based * @param {Number} nDestPage index 0-based
*/ */
extraireRegionPage: function (srcDoc, nSrcPage, rectSource, destDoc, nDestPage) { extraireRegionPage: function (srcDoc, nSrcPage, rectSource, destDoc, nDestPage) {
CDImp.Util.avecPrivileges(function () { var cropOrigineSrc = srcDoc.getPageBox({ nPage: nSrcPage - 1, cBox: "Crop" });
var cropOrigineSrc = srcDoc.getPageBox({ nPage: nSrcPage - 1, cBox: "Crop" }); try {
srcDoc.setPageBoxes({ nPage: nSrcPage - 1, cBox: "Crop", rBox: rectSource });
var nomTpl = "CDImp_ext_" + nSrcPage + "_" + nDestPage + "_" + (new Date()).getTime();
var tpl = srcDoc.createTemplate({ cName: nomTpl, nPage: nSrcPage - 1 });
try { try {
srcDoc.setPageBoxes({ nPage: nSrcPage - 1, cBox: "Crop", rBox: rectSource }); tpl.spawn({ cDocName: destDoc, nPage: nDestPage, bRename: false, bOverlay: true });
var nomTpl = "CDImp_ext_" + nSrcPage + "_" + nDestPage + "_" + (new Date()).getTime();
var tpl = srcDoc.createTemplate({ cName: nomTpl, nPage: nSrcPage - 1 });
try {
tpl.spawn({ cDocName: destDoc, nPage: nDestPage, bRename: false, bOverlay: true });
} finally {
tpl.remove();
}
} finally { } finally {
srcDoc.setPageBoxes({ nPage: nSrcPage - 1, cBox: "Crop", rBox: cropOrigineSrc }); tpl.remove();
} }
}); } finally {
srcDoc.setPageBoxes({ nPage: nSrcPage - 1, cBox: "Crop", rBox: cropOrigineSrc });
}
} }
}; };
@@ -215,7 +211,7 @@ CDImp.Util.FORMATS_MM = {
// verification de mise a jour - voir Imposition-08-MiseAJour.js). A // verification de mise a jour - voir Imposition-08-MiseAJour.js). A
// incrementer a chaque modification poussee sur Gitea. // incrementer a chaque modification poussee sur Gitea.
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
CDImp.VERSION = "1.0.1"; CDImp.VERSION = "1.1.0";
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
// Sous-menu "Imposition Pro" // Sous-menu "Imposition Pro"

View File

@@ -71,10 +71,8 @@ CDImp.Licence._obtenirMachineId = function () {
for (var i = 0; i < 32; i++) { for (var i = 0; i < 32; i++) {
id += Math.floor(Math.random() * 16).toString(16); id += Math.floor(Math.random() * 16).toString(16);
} }
CDImp.Util.avecPrivileges(function () { global.cdImpMachineId = id;
global.cdImpMachineId = id; global.setPersistent("cdImpMachineId", true);
global.setPersistent("cdImpMachineId", true);
});
return id; return id;
}; };
@@ -167,10 +165,8 @@ CDImp.Licence._obtenirCle = function () {
if (!cle) { if (!cle) {
return null; return null;
} }
CDImp.Util.avecPrivileges(function () { global.cdImpLicenceCle = cle;
global.cdImpLicenceCle = cle; global.setPersistent("cdImpLicenceCle", true);
global.setPersistent("cdImpLicenceCle", true);
});
CDImp.Licence._ecrireCleRegistre(cle); CDImp.Licence._ecrireCleRegistre(cle);
return cle; return cle;
}; };
@@ -247,10 +243,8 @@ CDImp.Licence.verifier = function () {
var valide = !!(data.active || data.valid); var valide = !!(data.active || data.valid);
CDImp.Util.avecPrivileges(function () { global.cdImpLicenceCache = { valide: valide, donnees: data, dateVerif: (new Date()).getTime() };
global.cdImpLicenceCache = { valide: valide, donnees: data, dateVerif: (new Date()).getTime() }; global.setPersistent("cdImpLicenceCache", true);
global.setPersistent("cdImpLicenceCache", true);
});
return { valide: valide, donnees: data, source: "serveur" }; return { valide: valide, donnees: data, source: "serveur" };
}; };
@@ -298,12 +292,10 @@ CDImp.Licence.gererCle = function () {
if (nouvelleCle === null || nouvelleCle === cleActuelle) { if (nouvelleCle === null || nouvelleCle === cleActuelle) {
return; return;
} }
CDImp.Util.avecPrivileges(function () { global.cdImpLicenceCle = nouvelleCle;
global.cdImpLicenceCle = nouvelleCle; global.setPersistent("cdImpLicenceCle", true);
global.setPersistent("cdImpLicenceCle", true); global.cdImpLicenceCache = null;
global.cdImpLicenceCache = null; // force une nouvelle verification serveur global.setPersistent("cdImpLicenceCache", true);
global.setPersistent("cdImpLicenceCache", true);
});
CDImp.Licence._ecrireCleRegistre(nouvelleCle); CDImp.Licence._ecrireCleRegistre(nouvelleCle);
CDImp.Util.info("Cle enregistree. Redemarrez Acrobat pour que le plugin natif\n(s'il est installe) la prenne en compte au prochain demarrage."); CDImp.Util.info("Cle enregistree. Redemarrez Acrobat pour que le plugin natif\n(s'il est installe) la prenne en compte au prochain demarrage.");
var resultat = CDImp.Licence.verifier(); var resultat = CDImp.Licence.verifier();

View File

@@ -74,24 +74,22 @@ CDImp.Livret.ajouterPagesBlanches = function (doc, nManque, position) {
var largeur = Math.abs(boxRef[2] - boxRef[0]); var largeur = Math.abs(boxRef[2] - boxRef[0]);
var hauteur = Math.abs(boxRef[3] - boxRef[1]); var hauteur = Math.abs(boxRef[3] - boxRef[1]);
CDImp.Util.avecPrivileges(function () { for (var k = 0; k < nManque; k++) {
for (var k = 0; k < nManque; k++) { var idxInsertion;
var idxInsertion; switch (position) {
switch (position) { case "debut":
case "debut": idxInsertion = 0;
idxInsertion = 0; break;
break; case "apres_couverture":
case "apres_couverture": idxInsertion = 1;
idxInsertion = 1; break;
break; case "fin":
case "fin": default:
default: idxInsertion = doc.numPages;
idxInsertion = doc.numPages; // toujours recalcule : ajoute en fin break;
break;
}
doc.newPage({ nPage: idxInsertion, width: largeur, height: hauteur });
} }
}); doc.newPage(idxInsertion, largeur, hauteur);
}
}; };
/** /**
@@ -134,14 +132,10 @@ CDImp.Livret.construireDocument = function (srcDoc, planches, creepMm) {
var hauteurDest = hauteurSrc; var hauteurDest = hauteurSrc;
var nFeuilles = planches.length / 2; var nFeuilles = planches.length / 2;
var destDoc; var destDoc = app.newDoc(largeurDest, hauteurDest);
CDImp.Util.avecPrivileges(function () { for (var k = 1; k < planches.length; k++) {
destDoc = new Doc(); destDoc.newPage(k, largeurDest, hauteurDest);
destDoc.newPage({ nPage: 0, width: largeurDest, height: hauteurDest }); }
for (var k = 1; k < planches.length; k++) {
destDoc.newPage({ nPage: k, width: largeurDest, height: hauteurDest });
}
});
for (var i = 0; i < planches.length; i++) { for (var i = 0; i < planches.length; i++) {
var planche = planches[i]; var planche = planches[i];
@@ -201,27 +195,18 @@ CDImp.Livret.delivretiser = function (doc) {
var hauteur = Math.abs(boxRef[3] - boxRef[1]); var hauteur = Math.abs(boxRef[3] - boxRef[1]);
var largeurDemiPage = largeurPlanche / 2; var largeurDemiPage = largeurPlanche / 2;
var destDoc; var destDoc = app.newDoc(largeurDemiPage, hauteur);
try { for (var k = 1; k < nPagesLogiques; k++) {
CDImp.Util.avecPrivileges(function () { destDoc.newPage(k, largeurDemiPage, hauteur);
destDoc = new Doc(); }
destDoc.newPage({ nPage: 0, width: largeurDemiPage, height: hauteur });
for (var k = 1; k < nPagesLogiques; k++) {
destDoc.newPage({ nPage: k, width: largeurDemiPage, height: hauteur });
}
});
for (var i = 0; i < planches.length; i++) { for (var i = 0; i < planches.length; i++) {
var planche = planches[i]; var planche = planches[i];
var rectGauche = [0, 0, largeurDemiPage, hauteur]; var rectGauche = [0, 0, largeurDemiPage, hauteur];
var rectDroite = [largeurDemiPage, 0, largeurPlanche, hauteur]; var rectDroite = [largeurDemiPage, 0, largeurPlanche, hauteur];
CDImp.Util.extraireRegionPage(doc, i + 1, rectGauche, destDoc, planche.gauche - 1); CDImp.Util.extraireRegionPage(doc, i + 1, rectGauche, destDoc, planche.gauche - 1);
CDImp.Util.extraireRegionPage(doc, i + 1, rectDroite, destDoc, planche.droite - 1); CDImp.Util.extraireRegionPage(doc, i + 1, rectDroite, destDoc, planche.droite - 1);
}
} catch (e) {
CDImp.Util.erreur("Erreur lors de la delivretisation : " + e.toString());
return;
} }
if (CDImp.Auto && CDImp.Auto.enregistrerDerniereAction) { if (CDImp.Auto && CDImp.Auto.enregistrerDerniereAction) {

View File

@@ -57,14 +57,10 @@ CDImp.NUp.construireGrille = function (srcDoc, p) {
var nParFeuille = p.nLignes * p.nColonnes; var nParFeuille = p.nLignes * p.nColonnes;
var nFeuilles = (p.mode === "repeat") ? 1 : Math.ceil(srcDoc.numPages / nParFeuille); var nFeuilles = (p.mode === "repeat") ? 1 : Math.ceil(srcDoc.numPages / nParFeuille);
var destDoc; var destDoc = app.newDoc(feuilleW, feuilleH);
CDImp.Util.avecPrivileges(function () { for (var k = 1; k < nFeuilles; k++) {
destDoc = new Doc(); destDoc.newPage(k, feuilleW, feuilleH);
destDoc.newPage({ nPage: 0, width: feuilleW, height: feuilleH }); }
for (var k = 1; k < nFeuilles; k++) {
destDoc.newPage({ nPage: k, width: feuilleW, height: feuilleH });
}
});
for (var s = 0; s < nFeuilles; s++) { for (var s = 0; s < nFeuilles; s++) {
for (var r = 0; r < p.nLignes; r++) { for (var r = 0; r < p.nLignes; r++) {

View File

@@ -28,10 +28,13 @@ CDImp.Decoupe = CDImp.Decoupe || {};
* @returns {Doc} nouveau document * @returns {Doc} nouveau document
*/ */
CDImp.Decoupe.couperPages = function (srcDoc, axe) { CDImp.Decoupe.couperPages = function (srcDoc, axe) {
var destDoc; var box0 = srcDoc.getPageBox({ nPage: 0, cBox: "Crop" });
CDImp.Util.avecPrivileges(function () { var w0 = Math.abs(box0[2] - box0[0]);
destDoc = new Doc(); var h0 = Math.abs(box0[3] - box0[1]);
}); var premiereW = (axe === "horizontal") ? w0 : w0 / 2;
var premiereH = (axe === "horizontal") ? h0 / 2 : h0;
var destDoc = app.newDoc(premiereW, premiereH);
var nDestPage = 0; var nDestPage = 0;
for (var s = 0; s < srcDoc.numPages; s++) { for (var s = 0; s < srcDoc.numPages; s++) {
@@ -39,23 +42,23 @@ CDImp.Decoupe.couperPages = function (srcDoc, axe) {
var w = Math.abs(box[2] - box[0]); var w = Math.abs(box[2] - box[0]);
var h = Math.abs(box[3] - box[1]); var h = Math.abs(box[3] - box[1]);
var demis; // [{rect, largeur, hauteur}, ...] dans l'ordre de lecture var demis;
if (axe === "horizontal") { if (axe === "horizontal") {
demis = [ demis = [
{ rect: [0, h / 2, w, h], largeur: w, hauteur: h / 2 }, // haut { rect: [0, h / 2, w, h], largeur: w, hauteur: h / 2 },
{ rect: [0, 0, w, h / 2], largeur: w, hauteur: h / 2 } // bas { rect: [0, 0, w, h / 2], largeur: w, hauteur: h / 2 }
]; ];
} else { } else {
demis = [ demis = [
{ rect: [0, 0, w / 2, h], largeur: w / 2, hauteur: h }, // gauche { rect: [0, 0, w / 2, h], largeur: w / 2, hauteur: h },
{ rect: [w / 2, 0, w, h], largeur: w / 2, hauteur: h } // droite { rect: [w / 2, 0, w, h], largeur: w / 2, hauteur: h }
]; ];
} }
for (var d = 0; d < demis.length; d++) { for (var d = 0; d < demis.length; d++) {
CDImp.Util.avecPrivileges(function () { if (nDestPage > 0) {
destDoc.newPage({ nPage: nDestPage, width: demis[d].largeur, height: demis[d].hauteur }); destDoc.newPage(nDestPage, demis[d].largeur, demis[d].hauteur);
}); }
CDImp.Util.extraireRegionPage(srcDoc, s + 1, demis[d].rect, destDoc, nDestPage); CDImp.Util.extraireRegionPage(srcDoc, s + 1, demis[d].rect, destDoc, nDestPage);
nDestPage++; nDestPage++;
} }
@@ -72,20 +75,21 @@ CDImp.Decoupe.couperPages = function (srcDoc, axe) {
*/ */
CDImp.Decoupe.inverserOrdre = function (srcDoc) { CDImp.Decoupe.inverserOrdre = function (srcDoc) {
var n = srcDoc.numPages; var n = srcDoc.numPages;
var destDoc; var box0 = srcDoc.getPageBox({ nPage: n - 1, cBox: "Crop" });
CDImp.Util.avecPrivileges(function () { var w0 = Math.abs(box0[2] - box0[0]);
destDoc = new Doc(); var h0 = Math.abs(box0[3] - box0[1]);
});
var destDoc = app.newDoc(w0, h0);
for (var i = 0; i < n; i++) { for (var i = 0; i < n; i++) {
var nSrcPage = n - i; // 1-based, en partant de la derniere page var nSrcPage = n - i;
var box = srcDoc.getPageBox({ nPage: nSrcPage - 1, cBox: "Crop" }); var box = srcDoc.getPageBox({ nPage: nSrcPage - 1, cBox: "Crop" });
var w = Math.abs(box[2] - box[0]); var w = Math.abs(box[2] - box[0]);
var h = Math.abs(box[3] - box[1]); var h = Math.abs(box[3] - box[1]);
CDImp.Util.avecPrivileges(function () { if (i > 0) {
destDoc.newPage({ nPage: i, width: w, height: h }); destDoc.newPage(i, w, h);
}); }
CDImp.Util.placerPageDansRect(srcDoc, nSrcPage, destDoc, i, [0, 0, w, h]); CDImp.Util.placerPageDansRect(srcDoc, nSrcPage, destDoc, i, [0, 0, w, h]);
} }
@@ -115,22 +119,24 @@ CDImp.Decoupe.reassembler = function (srcDoc, motifStr) {
} }
var nBlocs = srcDoc.numPages / taille; var nBlocs = srcDoc.numPages / taille;
var destDoc; var premiereSrcPage = motif[0];
CDImp.Util.avecPrivileges(function () { var box0 = srcDoc.getPageBox({ nPage: premiereSrcPage - 1, cBox: "Crop" });
destDoc = new Doc(); var w0 = Math.abs(box0[2] - box0[0]);
}); var h0 = Math.abs(box0[3] - box0[1]);
var destDoc = app.newDoc(w0, h0);
var nDestPage = 0; var nDestPage = 0;
for (var b = 0; b < nBlocs; b++) { for (var b = 0; b < nBlocs; b++) {
for (var k = 0; k < taille; k++) { for (var k = 0; k < taille; k++) {
var nSrcPage = b * taille + motif[k]; // 1-based var nSrcPage = b * taille + motif[k];
var box = srcDoc.getPageBox({ nPage: nSrcPage - 1, cBox: "Crop" }); var box = srcDoc.getPageBox({ nPage: nSrcPage - 1, cBox: "Crop" });
var w = Math.abs(box[2] - box[0]); var w = Math.abs(box[2] - box[0]);
var h = Math.abs(box[3] - box[1]); var h = Math.abs(box[3] - box[1]);
CDImp.Util.avecPrivileges(function () { if (nDestPage > 0) {
destDoc.newPage({ nPage: nDestPage, width: w, height: h }); destDoc.newPage(nDestPage, w, h);
}); }
CDImp.Util.placerPageDansRect(srcDoc, nSrcPage, destDoc, nDestPage, [0, 0, w, h]); CDImp.Util.placerPageDansRect(srcDoc, nSrcPage, destDoc, nDestPage, [0, 0, w, h]);
nDestPage++; nDestPage++;
} }

View File

@@ -53,15 +53,13 @@ CDImp.Marges.ajouterEspaceBlanc = function (doc, margesMm, portee) {
var droitePt = CDImp.Util.mmToPt(margesMm.droite); var droitePt = CDImp.Util.mmToPt(margesMm.droite);
var indices = CDImp.Marges._resoudrePortee(doc, portee); var indices = CDImp.Marges._resoudrePortee(doc, portee);
CDImp.Util.avecPrivileges(function () { for (var k = 0; k < indices.length; k++) {
for (var k = 0; k < indices.length; k++) { var i = indices[k];
var i = indices[k]; var crop = doc.getPageBox({ nPage: i, cBox: "Crop" });
var crop = doc.getPageBox({ nPage: i, cBox: "Crop" }); var nouveauCrop = [crop[0] - gauchePt, crop[1] - basPt, crop[2] + droitePt, crop[3] + hautPt];
var nouveauCrop = [crop[0] - gauchePt, crop[1] - basPt, crop[2] + droitePt, crop[3] + hautPt]; doc.setPageBoxes({ nPage: i, cBox: "Crop", rBox: nouveauCrop });
doc.setPageBoxes({ nPage: i, cBox: "Crop", rBox: nouveauCrop }); doc.setPageBoxes({ nPage: i, cBox: "Media", rBox: nouveauCrop });
doc.setPageBoxes({ nPage: i, cBox: "Media", rBox: nouveauCrop }); }
}
});
}; };
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
@@ -87,19 +85,20 @@ CDImp.Marges.deplacerContenu = function (srcDoc, dxMm, dyMm, portee) {
ensembleConcernes[indicesConcernes[k]] = true; ensembleConcernes[indicesConcernes[k]] = true;
} }
var destDoc; var box0 = srcDoc.getPageBox({ nPage: 0, cBox: "Crop" });
CDImp.Util.avecPrivileges(function () { var w0 = Math.abs(box0[2] - box0[0]);
destDoc = new Doc(); var h0 = Math.abs(box0[3] - box0[1]);
});
var destDoc = app.newDoc(w0, h0);
for (var i = 0; i < srcDoc.numPages; i++) { for (var i = 0; i < srcDoc.numPages; i++) {
var box = srcDoc.getPageBox({ nPage: i, cBox: "Crop" }); var box = srcDoc.getPageBox({ nPage: i, cBox: "Crop" });
var w = Math.abs(box[2] - box[0]); var w = Math.abs(box[2] - box[0]);
var h = Math.abs(box[3] - box[1]); var h = Math.abs(box[3] - box[1]);
CDImp.Util.avecPrivileges(function () { if (i > 0) {
destDoc.newPage({ nPage: i, width: w, height: h }); destDoc.newPage(i, w, h);
}); }
var decalX = ensembleConcernes[i] ? dxPt : 0; var decalX = ensembleConcernes[i] ? dxPt : 0;
var decalY = ensembleConcernes[i] ? dyPt : 0; var decalY = ensembleConcernes[i] ? dyPt : 0;
@@ -124,15 +123,13 @@ CDImp.Marges.harmoniserBoites = function (doc, cBoxRef, portee) {
var indices = CDImp.Marges._resoudrePortee(doc, portee); var indices = CDImp.Marges._resoudrePortee(doc, portee);
var toutesBoites = ["Media", "Crop", "Bleed", "Trim"]; var toutesBoites = ["Media", "Crop", "Bleed", "Trim"];
CDImp.Util.avecPrivileges(function () { for (var k = 0; k < indices.length; k++) {
for (var k = 0; k < indices.length; k++) { var i = indices[k];
var i = indices[k]; var rectRef = doc.getPageBox({ nPage: i, cBox: cBoxRef });
var rectRef = doc.getPageBox({ nPage: i, cBox: cBoxRef }); for (var b = 0; b < toutesBoites.length; b++) {
for (var b = 0; b < toutesBoites.length; b++) { doc.setPageBoxes({ nPage: i, cBox: toutesBoites[b], rBox: rectRef });
doc.setPageBoxes({ nPage: i, cBox: toutesBoites[b], rBox: rectRef });
}
} }
}); }
}; };
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------

View File

@@ -40,48 +40,42 @@ CDImp.Reperes.ajouterTraitsCoupe = function (doc, opts) {
var epaisseur = opts.epaisseurPt || 0.25; var epaisseur = opts.epaisseurPt || 0.25;
var cBoxRef = opts.cBoxRef || "Trim"; var cBoxRef = opts.cBoxRef || "Trim";
CDImp.Util.avecPrivileges(function () { for (var i = 0; i < doc.numPages; i++) {
for (var i = 0; i < doc.numPages; i++) { var box = doc.getPageBox({ nPage: i, cBox: cBoxRef });
var box = doc.getPageBox({ nPage: i, cBox: cBoxRef }); var llx = Math.min(box[0], box[2]);
var llx = Math.min(box[0], box[2]); var lly = Math.min(box[1], box[3]);
var lly = Math.min(box[1], box[3]); var urx = Math.max(box[0], box[2]);
var urx = Math.max(box[0], box[2]); var ury = Math.max(box[1], box[3]);
var ury = Math.max(box[1], box[3]);
var traits = [ var traits = [
// bas-gauche [llx - decalage - longueur, lly, llx - decalage, lly],
[llx - decalage - longueur, lly, llx - decalage, lly], [llx, lly - decalage - longueur, llx, lly - decalage],
[llx, lly - decalage - longueur, llx, lly - decalage], [urx + decalage, lly, urx + decalage + longueur, lly],
// bas-droite [urx, lly - decalage - longueur, urx, lly - decalage],
[urx + decalage, lly, urx + decalage + longueur, lly], [llx - decalage - longueur, ury, llx - decalage, ury],
[urx, lly - decalage - longueur, urx, lly - decalage], [llx, ury + decalage, llx, ury + decalage + longueur],
// haut-gauche [urx + decalage, ury, urx + decalage + longueur, ury],
[llx - decalage - longueur, ury, llx - decalage, ury], [urx, ury + decalage, urx, ury + decalage + longueur]
[llx, ury + decalage, llx, ury + decalage + longueur], ];
// haut-droite
[urx + decalage, ury, urx + decalage + longueur, ury], for (var t = 0; t < traits.length; t++) {
[urx, ury + decalage, urx, ury + decalage + longueur] var pts = traits[t];
var rect = [
Math.min(pts[0], pts[2]) - epaisseur, Math.min(pts[1], pts[3]) - epaisseur,
Math.max(pts[0], pts[2]) + epaisseur, Math.max(pts[1], pts[3]) + epaisseur
]; ];
doc.addAnnot({
for (var t = 0; t < traits.length; t++) { page: i,
var pts = traits[t]; type: "Line",
var rect = [ rect: rect,
Math.min(pts[0], pts[2]) - epaisseur, Math.min(pts[1], pts[3]) - epaisseur, linePoints: pts,
Math.max(pts[0], pts[2]) + epaisseur, Math.max(pts[1], pts[3]) + epaisseur width: epaisseur,
]; color: color.black,
doc.addAnnot({ print: true,
page: i, name: "CDImp_repere_" + i + "_" + t
type: "Line", });
rect: rect,
linePoints: pts,
width: epaisseur,
color: color.black,
print: true,
name: "CDImp_repere_" + i + "_" + t
});
}
} }
}); }
}; };
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
@@ -126,32 +120,30 @@ CDImp.Reperes.ajouterNumerotation = function (doc, opts) {
var offsetXPt = CDImp.Util.mmToPt(opts.positionXmm); var offsetXPt = CDImp.Util.mmToPt(opts.positionXmm);
var offsetYPt = CDImp.Util.mmToPt(opts.positionYmm); var offsetYPt = CDImp.Util.mmToPt(opts.positionYmm);
CDImp.Util.avecPrivileges(function () { for (var i = 0; i < doc.numPages; i++) {
for (var i = 0; i < doc.numPages; i++) { var numPage = i + 1;
var numPage = i + 1; if (opts.masquerPremierePage && numPage === 1) {
if (opts.masquerPremierePage && numPage === 1) { continue;
continue;
}
var texte = CDImp.Reperes.remplacerVariables(opts.modele, doc, numPage, total);
doc.addWatermarkFromText({
cText: texte,
cFont: opts.police || "Helvetica",
nFontSize: opts.taillePt || 9,
nHorizAlign: coin.h,
nVertAlign: coin.v,
nHorizValue: offsetXPt,
nVertValue: offsetYPt,
nRotation: 0,
nOpacity: 1.0,
bOnTop: true,
bOnscreen: true,
bPrintable: true,
nStart: i,
nEnd: i
});
} }
}); var texte = CDImp.Reperes.remplacerVariables(opts.modele, doc, numPage, total);
doc.addWatermarkFromText({
cText: texte,
cFont: opts.police || "Helvetica",
nFontSize: opts.taillePt || 9,
nHorizAlign: coin.h,
nVertAlign: coin.v,
nHorizValue: offsetXPt,
nVertValue: offsetYPt,
nRotation: 0,
nOpacity: 1.0,
bOnTop: true,
bOnscreen: true,
bPrintable: true,
nStart: i,
nEnd: i
});
}
}; };
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------

View File

@@ -20,12 +20,10 @@ if (typeof CDImp === "undefined") {
CDImp.Auto = CDImp.Auto || {}; CDImp.Auto = CDImp.Auto || {};
// Initialise l'espace de stockage persistant des presets. // Initialise l'espace de stockage persistant des presets.
CDImp.Util.avecPrivileges(function () { if (typeof global.impositionSettings === "undefined") {
if (typeof global.impositionSettings === "undefined") { global.impositionSettings = {};
global.impositionSettings = {}; }
} global.setPersistent("impositionSettings", true);
global.setPersistent("impositionSettings", true);
});
// Memoire de la derniere action executee (module + parametres), pour le // Memoire de la derniere action executee (module + parametres), pour le
// bouton "Repeter la derniere action". Reinitialisee a chaque session. // bouton "Repeter la derniere action". Reinitialisee a chaque session.
@@ -85,9 +83,7 @@ CDImp.Auto.sauvegarderPreset = function (nomPreset) {
CDImp.Util.erreur("Aucune action a enregistrer : lancez d'abord un module d'imposition."); CDImp.Util.erreur("Aucune action a enregistrer : lancez d'abord un module d'imposition.");
return; return;
} }
CDImp.Util.avecPrivileges(function () { global.impositionSettings[nomPreset] = CDImp.Auto.derniereAction;
global.impositionSettings[nomPreset] = CDImp.Auto.derniereAction;
});
CDImp.Util.info("Preset \"" + nomPreset + "\" enregistre."); CDImp.Util.info("Preset \"" + nomPreset + "\" enregistre.");
}; };
@@ -128,9 +124,7 @@ CDImp.Auto.chargerEtExecuterPreset = function (doc, nomPreset) {
* Supprime un preset enregistre. * Supprime un preset enregistre.
*/ */
CDImp.Auto.supprimerPreset = function (nomPreset) { CDImp.Auto.supprimerPreset = function (nomPreset) {
CDImp.Util.avecPrivileges(function () { delete global.impositionSettings[nomPreset];
delete global.impositionSettings[nomPreset];
});
}; };
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------

View File

@@ -190,19 +190,17 @@ CDImp.MiseAJour.verifier = function () {
} }
var erreurs = []; var erreurs = [];
CDImp.Util.avecPrivileges(function () { for (var d = 0; d < dossiers.length; d++) {
for (var d = 0; d < dossiers.length; d++) { for (var f = 0; f < CDImp.MiseAJour.CONFIG.fichiers.length; f++) {
for (var f = 0; f < CDImp.MiseAJour.CONFIG.fichiers.length; f++) { var nomFichier = CDImp.MiseAJour.CONFIG.fichiers[f];
var nomFichier = CDImp.MiseAJour.CONFIG.fichiers[f]; var url = CDImp.MiseAJour.CONFIG.urlBaseRaw + CDImp.MiseAJour.CONFIG.dossierSrc + nomFichier;
var url = CDImp.MiseAJour.CONFIG.urlBaseRaw + CDImp.MiseAJour.CONFIG.dossierSrc + nomFichier; var cheminDest = dossiers[d] + "\\" + nomFichier;
var cheminDest = dossiers[d] + "\\" + nomFichier; var resultatTelechargement = CDImp.MiseAJour._telechargerVersFichier(url, cheminDest);
var resultatTelechargement = CDImp.MiseAJour._telechargerVersFichier(url, cheminDest); if (resultatTelechargement.erreur) {
if (resultatTelechargement.erreur) { erreurs.push(nomFichier + " (" + dossiers[d] + ") : " + resultatTelechargement.erreur);
erreurs.push(nomFichier + " (" + dossiers[d] + ") : " + resultatTelechargement.erreur);
}
} }
} }
}); }
if (erreurs.length > 0) { if (erreurs.length > 0) {
CDImp.Util.erreur("Mise a jour partielle, erreurs sur " + erreurs.length + " fichier(s) :\n" + erreurs.join("\n")); CDImp.Util.erreur("Mise a jour partielle, erreurs sur " + erreurs.length + " fichier(s) :\n" + erreurs.join("\n"));

View File

@@ -1 +1 @@
1.0.1 1.1.0