abracadabraPDF › Forums › PDF – Général › Mesurer le taux de remplissage des pages. – RÉPONDU
- Ce sujet est vide.
-
CréateurSujet
-
26 novembre 2008 à 08:47 #43672skywalkerInvité
Bonjour,
Quelqu’un connait-il un logiciel ou une méthode pour mesurer le taux de remplissage des pages (dans un fichier pdf par ex.) ?
Merci.
-
CréateurSujet
-
AuteurRéponses
-
26 novembre 2008 à 11:19 #49904MerlinMaître des clés
Qu’entend tu exactement par “taux de remplissage” ?
Un ratio de surface utilisée ?
??:26 novembre 2008 à 11:39 #49905skywalkerInvitéExactement cela. Calculer un % de surface utilisée par l’encre (noir dans mon cas).
Les toners sont vendus pour X pages avec un taux de Y% par ex.
Cela veut dire que si mon taux de remplissage = Y/2 alors j’imprimerais X*2 pages (en gros …)26 novembre 2008 à 12:22 #49906MerlinMaître des clésJe n’ai pas vraiment de réponse… Peut être que les fonctions de statistique de Photoshop Extended pourraient faire l’affaire ?
??: :doute:
18 janvier 2009 à 18:51 #49907alexParticipantEn JavaScript on peut pour chaque mot calculer l’aire occupée à partir des coordonnées du “Quad” (getPageNthWordQuads()). En faisant la somme des aires occupées par les mots et en la comparant à l’aire des pages on a sans doute une première approche de votre problème si on connaît le ratio d’occupation des lettres . Qu’en pensez_vous ?
18 janvier 2009 à 20:36 #49908MerlinMaître des clésWaow !
Et qu’est ce que ça donnerait en JavaScript ?
22 janvier 2009 à 21:54 #49909alexParticipantJe vous ai préparé quelque chose dans l’esprit de ce que j’ai proposé. Hélas l’exécution est un peu lente, aussi je m’accorde un jour de délai. Ce sera un script à placer dans le dossier JavaScript d’Acrobat (sur Pc ou sur Mac, Merlin précisera la procédure…)
A demain.
23 janvier 2009 à 10:02 #49910MerlinMaître des clésA demain, je suis impatient !
23 janvier 2009 à 21:52 #49911alexParticipantVous 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})24 janvier 2009 à 16:21 #49912MerlinMaître des clésAlex : c’est superbe, quel talent !
Il y a juste un petit hic : le (sous-)menu ne s’affiche pas dans Acrobat, je n’y arrive pas…
Ca fait 2 heures que je bidouille sans résultat et que je tourne en rond : il y a certainement un truc de base qui m’échappe, mais là je ne vois pas.Au secours, je sèche…
:Euuuh: :doute: ??:
25 janvier 2009 à 10:00 #49913alexParticipantSans doute un problème lié aux caractères spéciaux sur Mac ?
Remplace la dernière partie par ceci (la création du sous_menu)
//Placer le nouvel item
app.addSubMenu({
cName: “Outils_Abracadabra”,
cParent: “Tools”,
nPos: 0 })
app.addMenuItem({
cName: “Estimer_encrage”,
cParent: “Outils_Abracadabra”,
cExec:”encrage()”,
cEnable: “true”,
nPos: 0})Je vais essayer sur mon MacBook !
25 janvier 2009 à 11:44 #49914MerlinMaître des clésJe dois passer 5 heures dans le train cet aprème, j’aurais tout le temps de tester !
:contentdance:
25 janvier 2009 à 13:28 #49915alexParticipantJe viens d’essayer sur mon MacBook, ça marche avec ce script. J’ai une petite erreur à corriger (lancement de cette commande sans document ouvert).
Pour un usage intensif il faut prévoir d’analyser une collection de pages ou un document en entier avec un script plus rapide…
Amicalement.25 janvier 2009 à 14:05 #49916MerlinMaître des clésOui, il faut modifier “cEnable” ainsi:
cEnable: “event.rc = (event.target != null);” // active only if a doc is opened
26 janvier 2009 à 20:38 #49917alexParticipantOui, absolument.
4 février 2009 à 20:17 #49918MerlinMaître des clésCa y est, j’y suis arrivé !
En fait c’est un test avec Acrobat 8 qui m’a mis la puce à l’oreille : il y avait bien des caractères “illégaux” dans le fichier JS… tout ça parce que j’avais oublié d’activer “Afficher la console en cas d’erreur” dans la version 9, qui restait donc muette.
:Ooops:Je remercie la fonction “Zap gremlins” de TextWrangler qui m’a permis de m’en débarrasser en un tournemain.
:contentdance:Je vais encore bricoler un peu le script pour le “bilinguiser” et pour que le résultat s’affiche dans une boite d’alerte, ce qui le rendra utilisable aussi avec Reader.
Merci Alex, bravo !
18 mars 2012 à 13:32 #49919MerlinMaître des clésJe retombe par hasard sur ce sujet bien longtemps après, depuis j’ai découvert l’application (gratuite et en français) ColorPage qui permet de mesurer précisément la quantité d’encre sur une image…
Et oui, ça ne fonctionne pas sur les PDF, il faudra les exporter en images TIFF…:bravo:
11 mars 2021 à 16:07 #49920phigarMembreBonjour,
Comment puis je installer ce Script dans Acobat Pro DC ?
Merci11 mars 2021 à 16:52 #49921bebarthMaître des clésbonjour,
Il faut placer un fichier .js dans le répertoire JavaScript d’Acrobat.
Si tu ne sais pas ou il se trouve, tu télécharges l’utilitaire show_me_the_path :
https://www.abracadabrapdf.net/utilitaires/utilities-in-english/show_me_the_path-en/
@+
:bonjour:11 mars 2021 à 16:57 #49922phigarMembreMerci, je vais tester
-
AuteurRéponses
- Vous devez être connecté pour répondre à ce sujet.