Donnez vie à vos documents numériques !
 

Répondre à : Mesurer le taux de remplissage des pages. – RÉPONDU

abracadabraPDF Forums PDF – Général Mesurer le taux de remplissage des pages. – RÉPONDU Répondre à : Mesurer le taux de remplissage des pages. – RÉPONDU

#49911
alex
Participant

Vous recopiez tout ça et l’enregistrez dans un fichier baptisé scriptabracadabra.js que vous enregistrez dans le répertoire JavaScript de l’application Acrobat (7,8 ou 9) sur Pc ou sur Mac (Cliquer sur l’application avec Ctrl Afficher le contenu du paquet>Contents>MacOS>JavaScripts )
Au redémarrage on mesure le taux d’encrage de la page avec les réserves que j’ai déjà formulées. Menu Outils>Outils Abracadabra>Estimer l’encrage
C’est un peu lent et limité à une page. Mais c’est une première approche..

//Script à copier.
function encrage()
{
console.clear();
console.show();
//Aire de la page
pp=this.pageNum+1;
console.println(“Calcul pour la page “+pp)
rectpage=new Array();
rectpage=this.getPageBox(“Crop”,0);
airePage=Math.round(rectpage[1]*rectpage[2]);
Echelle=21/rectpage[2];
ll=Math.round(10*rectpage[1]*Echelle)/10;
hh=Math.round(10*rectpage[2]*Echelle)/10;
console.println(“Le calcul prend un certain temps. Merci.”)
console.println(“Largeur page=”+ll+” cm”)
console.println(“Hauteur page=”+hh+” cm”)
//Aire des mots
index=0;
aireencree=0;
nbreMots=this.getPageNumWords(this.pageNum);
  while (index  {
  rectmot=this.getPageNthWordQuads(this.pageNum,index);
  //Hélas rectmot n’est pas donné sous forme d’une table !
  rectmotstr=new String(rectmot);
  pointeur=0;
  chaine=””;
    while(pointeur    {
    chaine=chaine+rectmotstr[pointeur];
    pointeur=pointeur+1;
    }
  xy=new Array();
  val=new Array();
  xy[0]=0;
  pointeur=0;
  pos=0;
    while(pointeur    {
      if(chaine.substring(pointeur,(pointeur+1))==”,”)
      {
      pos=pos+1;
      val[pos]=chaine.substring(pointeur,xy[pos-1]);
      xy[pos]=pointeur+1;
      }
    pointeur=pointeur+1;
    }
  //Tout ça pour calculer les côtés du rectangle !
  largeurQ=val[3]-val[1];
  hauteurQ=val[2]-val[6];
  airemot=largeurQ*hauteurQ;
  aireencree=aireencree+airemot;
  index=index+1;
  }
ratio=Math.round(100*(aireencree/airePage))/100;
console.println(“Aire encrée=”+ Math.round(aireencree*Echelle*Echelle)+”cm2.”);
console.println(“Aire disponible=”+ Math.round(airePage*Echelle*Echelle)+”cm2.”);
console.println(“Soit un ratio de “+ratio)
console.println(“Fin du calcul pour la page “+pp)
}
//Programme init
//A. Noesser
//Placer le nouvel item
app.addSubMenu({
cName: “Outils Abracadabra”,
cParent: “Tools”,
nPos: 0 })
app.addMenuItem({
cName: “Estimer l’encrage”,
cParent: “Outils Abracadabra”,
cExec:”encrage()”,
cEnable: “true”,
nPos: 0})