abracadabraPDF › Forums › PDF – Général › Séparer ou extraire des pages de formats différents. – RÉPONDU
- Ce sujet est vide.
-
CréateurSujet
-
9 janvier 2012 à 10:09 #44076
phigar
MembreBonjour,
je cherche a automatiser l’extraction de pages différentes d’un format choisi.
Je dois traiter des fichiers PDF de plusieurs pages et qui comportent des pages différentes d’un format A4 portrait, je dois (pour le moment ) sélectionner
manuellement les pages hors format pour les extrairais et les rassembler dans un autre fichier de manière à avoir un fichier avec les A4 et un autres avec les A3.Merci
Acrobat proX et 9.4 sur Mac
Plug in PitStop -
CréateurSujet
-
AuteurRéponses
-
9 janvier 2012 à 17:36 #52448
MerlinMaître des clésBonjour,
je pense qu’un script peut faire ça sans problème, mais il y a une question importante : pourquoi ?
Parce-que si c’est en vue d’un affichage écran c’est inutile puisque les pages peuvent s’adapter à l’écran, et si c’est en vue d’une impression c’est inutile aussi car les pages peuvent s’adapter à la taille du papier…
:doute:10 janvier 2012 à 23:35 #52449phigar
Membrebonjour,
c’est pour imprimer d’une part les A4 et de l autre les A3 en taille réels11 janvier 2012 à 09:25 #52450
MerlinMaître des clésOn peut aussi demander à l’imprimante de choisir automatiquement la taille du papier en fonction des dimensions des pages.
Bien entendu ce n’est possible que si l’impression est effectuée sur une même imprimante, mais c’est toujours plus simple.
Est-ce le cas ?12 janvier 2012 à 16:49 #52451phigar
Membreplusieurs imprimantes
12 janvier 2012 à 18:41 #52452
MerlinMaître des clésBien… il ne reste plus qu’à attendre le passage de notre JavaScripteur en maître.
:Smiley01:20 janvier 2012 à 16:49 #52453cdiautomation
MembreBonjour,
J’utilise la détection du format du papier pour une autre fonction, comme je n’ai pas vraiment le temps de vous développer l’application je vous donne déjà la piste.
Il faut faire une boucle pour parcourir les pages de votre document, « p » dans le début de programme ci-dessous est le numéroi de la page sachant que la première est « 0 »
var aRect =this.getPageBox(« Crop »,p);
var largeur = aRect[2] – aRect[0];
var hauteur = aRect[1] – aRect[3];
var surf = parseInt((largeur * hauteur)/100000)Sachez que le résultat de la multiplication est 5 pour un A4, 10 pour un A3.
Faire 2 copies du fichier
Chaque fois que le programme trouve un A4, je vous propose de supprimer la page, ensuite faire la même opération sur l’autre copie du fichier pour les A3.Vous aurez ainsi 2 fichiers, un comportant le reste soit des A3 et l’autre des A4.
J’espère avoir pu vous guider.
24 janvier 2012 à 21:07 #52454
MerlinMaître des clésSalut,
j’ai complété le script ci-dessus, ça fonctionne mais je ne sais pas comment faire une boucle, du coup il faut l’appliquer sur chaque page :
var aRect = this.getPageBox(« Crop »);
var largeur = aRect[2] – aRect[0];
var hauteur = aRect[1] – aRect[3];
var surf = parseInt((largeur * hauteur)/100000);
if (surf == « 5 »)
/* 5 = A4, 10 = A3 */
{deletePages();}:priere:
25 janvier 2012 à 09:33 #52455cdiautomation
MembreBonjour,
Après test, cela fonctionne chez moi.
for(var p = 0; p< this.numPages; p++)
{
var aRect = this.getPageBox(« Crop », p);
var largeur = aRect[2] – aRect[0];
var hauteur = aRect[1] – aRect[3];
var surf = parseInt((largeur * hauteur)/100000);
if (surf == « 10 »)
/* 5 = A4, 10 = A3 */
{
deletePages(p);
p = p-1
}
}:Smiley03:
25 janvier 2012 à 10:58 #52456
MerlinMaître des clésBravo !
:bravo:
25 janvier 2012 à 13:04 #52457cdiautomation
MembreMerci.
C’est ce que j’aime sur ce forum, on est là pour s’entraider pas pour vendre des solutions comme on le voit trop souvent dans des forums étasuniens.
:extra:
25 janvier 2012 à 13:15 #52458
MerlinMaître des clésSi on parle bien du même forum (que je modère aussi), ce n’est pas son but mais il est « pollué » par quelques éléments aux intentions vénales.
Ils sont régulièrement rappelés à l’ordre mais comme les éléments en question sont de vrais experts dans leur domaine on peu difficilement se passer d’eux…D’ailleurs d’autres intervenants (dont je suis) se font un malin plaisir de répondre (gratuitement donc) aux questions des utilisateurs juste après une réponse/demande de contact privé, et donc rétribuable.
:Smiley01:
25 janvier 2012 à 13:32 #52459cdiautomation
MembreComme phigar ne donne pas signe de vie, faudrait voir s’il regarde la réponse.
Il est peut-être en complète dépression ne trouvant pas une solution autre que de le faire manuellement.
:Ooops: :joker: :geek:
25 janvier 2012 à 14:00 #52460
MerlinMaître des clésEn tous cas ça sert à d’autres, ce sujet a déjà vu plus de 120 fois, et je le fais connaître :
http://forum.kob-one.com/acrobat-f82/lister-les-pages-de-differentes-dimensions-t39853.html:Smiley01:
25 janvier 2012 à 15:28 #52461cdiautomation
MembreEn rapport à la question du forum signalé par Merlin, à savoir compter le nombre de pages A4 et A3 dans un document, il suffit de coller le programme ci-contre dans un signet ou dans un bouton du document.
var nA4 = 0
var nA3 = 0for(var p = 0; p< this.numPages; p++)
{
var aRect = this.getPageBox(« Crop », p);
var largeur = aRect[2] – aRect[0];
var hauteur = aRect[1] – aRect[3];
var surf = parseInt((largeur * hauteur)/100000);
if (surf == « 5 »)
{nA4 = nA4 + 1}
if (surf== »10″)
{nA3 = nA3 + 1}}
app.alert(« Nombre de page A4 = » + nA4 + « rNombre de page A3 = » + nA3)
25 janvier 2012 à 17:18 #52462
MerlinMaître des clésJ’ai fait de ce script une Action pour Acrobat, également utilisable en séquence de traitement par lot avec les versions antérieures.
(Ci-joint)Après dézippage, normalement il suffit de double-cliquer sur le fichier .SEQU pour que Acrobat X propose de l’importer.
Avec Acrobat 9 et versions antérieures il faut placer le fichier .SEQU dans un des deux dossiers Séquences d’Acrobat, et pour savoir où trouver ces dossiers le mieux est d’utiliser cette méthode :Sélectionnez et copiez le code JavaScript ci-dessous, dans Acrobat tapez CRTL-J (CMD-J sur Mac) pour activer la console, effacez le texte par défaut, collez le code JavaScript, sélectionner tout le code JavaScript et appuyez sur la touche Entrée (Enter). Si vous utilisez un petit clavier sans touche Entrée utilisez CTRL-Retour (Return), ou Majuscule-Retour sur Mac.
La boite d’alerte qui suivra indique les chemins d’accès des deux dossiers Sequences.
/* Code JavaScript à copier-coller dans la console : */
/***************************************************************************/
var dossierApp = « Chemin d’accu00E8s au dossier « Sequences » de l’application :nn »;
var dossierUser = « Chemin d’accu00E8s au dossier « Sequences » de l’utilisateur de la session active :nn »;
var alertt = « Le dossier « Sequences » de l’utilisateur n’existe pas. »;
var AppScripts = app.getPath (« app », « sequences »);
try {var userScript = app.getPath (« user », « sequences »);}
catch(e) {var userScript = alertt;}
app.alert(« abracadabraPDFnnnn » + dossierApp + AppScripts + « nn
nn » + dossierUser + userScript, 2,0);
/***************************************************************************/:Smiley15:
[attachment deleted by admin]
-
AuteurRéponses
- Vous devez être connecté pour répondre à ce sujet.
