abracadabraPDF › Forums › PDF – Général › Extraction automatique 1ère page pdf par lot
- Ce sujet contient 17 réponses, 3 participants et a été mis à jour pour la dernière fois par
bebarth, le il y a 2 années et 8 mois.
-
CréateurSujet
-
15 mars 2023 à 18:23 #72679
AuroreParticipantBonjour à toutes et à tous,
ayant plusieurs milliers de documents pdf à traiter, je recherche le moyen d’extraire automatiquement par lot uniquement la 1ère page (la page de couverture) de chaque pdf et de la conserver au format jpg ou png.
Connaissez-vous un moyen de réaliser aisément cette opération ? Je ne me vois pas réaliser un par un chaque pdf car il y en a près de 5000 et je risque d’y perdre mes nerfs… J’ai fait des recherches sur le net, mais je n’ai rien trouvé correspondant à ma recherche.
Merci de m’aider si vous avez une solution !
-
CréateurSujet
-
AuteurRéponses
-
16 mars 2023 à 08:53 #72680
bebarthMaître des clésbonjour,
regarde les actions Acrobat :
https://helpx.adobe.com/fr/acrobat/using/applying-actions-scripts-pdfs.html
tu devrais y arriver, sinon il faudra attendre la semaine prochaine…@+
😎16 mars 2023 à 09:29 #72681
MerlinMaître des clésBonjour
Il faudrait utiliser ce script (non testé) dans une Action :
// EXTRACTION DE PAGES ET CRÉATION D'UN NOUVEAU DOCUMENT AVEC LES PAGES EXTRAITES// ENREGISTREMENT DU CHEMIN D'ACCÈS DU DOCUMENT ACTIF
var cheminDacces = this.path;
var cheminDacces = cheminDacces.substring(0,cheminDacces.length-4);
console.println(cheminDacces);
var docSource = this;// Création d'un nouveau document à partir de la page extraite
var docCible = this.extractPages({nStart: 0, nEnd: 0}); // extraire page 1// ATTENTION : cPath NE FONCTIONNE QUE DEPUIS UN SCRIPT D'APPLICATION, UNE ACTION OU LA CONSOLE
// ENREGISTREMENT DU NOUVEAU DOCUMENT en JPEG
docCible.saveAs({cPath: cheminDacces + "_extrait.jpg", cConvID: com.adobe.acrobat.jpeg, bPromptToOverwrite: true});16 mars 2023 à 11:24 #72686
AuroreParticipantBonjour et merci pour vos réponses !
je ne suis pas familiarisée avec les scripts et vraisemblablement pas très douée car après quelques essais sur un échantillon d’une dizaine de pdf cela n’a pas fonctionné. Avez-vous un tutoriel avec des captures d’écran pas à pas à me suggérer ?
Je sens que mon stage va être compliqué 🙂
Aurore
16 mars 2023 à 12:11 #72687
bebarthMaître des clésbonjour,
pour moi il faudra attendre la semaine prochaine car je suis sans ordinateur…
j’espère que ton stage est un peu plus long
@+
😎16 mars 2023 à 14:13 #72690
AuroreParticipantOui, cela peut attendre la semaine prochaine : la dead-line est fixée pour fin mars, j’ai encore un peu de temps (sauf si je dois réaliser l’opération fichier par fichier, auquel cas je suis mal !) 🙂
Merci !
Aurore
16 mars 2023 à 14:41 #72694
MerlinMaître des clésUn dessin (ci-joint) vaut mieux qu’un long discours, une fois enregistrée et nommée la nouvelle Action est disponible dans la Liste d’Actions en haut du panneau de l’Assistant Actions.
Attachments:
You must be logged in to view attached files.17 mars 2023 à 10:38 #72700
AuroreParticipantBonjour,
en exécutant le script proposé par Merlin, tout se passe bien au début avec l’ouverture de chaque document dans une fenêtre. Une indication des fichiers transformés sous un nom de type A9Rxxxxx.tmp apparaît et une fois le traitement terminé, il y a alors autant de fenêtres que de documents pdf ouverts. (voir la capture d’écran en pj). Il m’est ensuite proposé pour chacun d’entre eux de l’enregistrer sous un nom et sous un format de mon choix. Cette opération est à réaliser près de 5000 fois, soit une par document.
Je me sens un peu cruche, car j’ai l’impression d’être près du but mais je ne suis pas encore sortie d’affaire 🙂 Encore merci pour ceux qui acceptent de m’aider !
Aurore
Attachments:
You must be logged in to view attached files.17 mars 2023 à 16:04 #72702
MerlinMaître des clésOTAN pour moi (comme dirait V. Zelensky), j’ai oublié de préciser la dernière étape d’enregistrement (ci-joint).
L’option « Optimisation PDF » est facultative, avec le paramètre « Standard » ça donne de bons résultats.
Avantage : les fichiers générés sont de poids plus réduit.
Inconvénient : le temps de traitement de chaque fichier est allongé. Sur plusieurs centaines de fichiers ça peut être très pénalisant.
Connaissant les limites d’Acrobat je te conseille en tout cas de traiter les fichiers par lots de 500 fichiers maximum. Avec plus de fichiers d’un seul coup ça m’étonnerait qu’il arrive au bout, en général il mouline des heures et finit par planter.
Attachments:
You must be logged in to view attached files.17 mars 2023 à 16:16 #72704
MerlinMaître des clésPS : dans l’Assistant Action il n’est pas possible de préciser si on veut que le nouveau fichier soit fermé après son enregistrement.
Je suppose que c’est automatique, mais si ce n’est pas le cas il faudra ajouter (après l’étape Enregistrement) une nouvelle étape « Exécuter un JavaScript » en utilisant ce script :
this.closeDoc(true);J’aurais pu enregistrer une Action et te la transmettre mais comme tu utilises une version d’Acrobat Pro antérieure à la mienne ça ne fonctionnera pas.
17 mars 2023 à 17:02 #72705
AuroreParticipantSuper ! Je testerai cela dès lundi au retour au travail.
Je ferai une douzaine de lots de 400 fichiers pdf maximum pour éviter les soucis de plantage, ce sera effectivement plus prudent.
Merci !
Aurore
19 mars 2023 à 20:02 #72706
bebarthMaître des clésbonjour,Je suppose que c’est automatique, mais si ce n’est pas le cas il faudra ajouter (après l’étape Enregistrement) une nouvelle étape « Exécuter un JavaScript » en utilisant ce script : this.closeDoc(true);
« this » représente le fichier dont on veut extraire la première page donc this.closeDoc(true); ne fermera pas le fichier temporaire.
Pour ma part voici le script à utiliser :
var newDoc=app.newDoc();
newDoc.insertPages ({
nPage: 0,
cPath: this.path,
nStart: 0
});
newDoc.deletePages(0);
newDoc.saveAs({
cPath: this.path.replace(/.pdf$/i,"_extrait.jpg"),
cConvID: "com.adobe.acrobat.jpeg",
bCopy: true,
bPromptToOverwrite: true
});
newDoc.closeDoc(true);Il vaut effectivement traiter les 5000 fichiers par lots, sinon il faudrait écrire un autre script pour savoir où on en est dans le traitement…
@+
😎20 mars 2023 à 10:08 #72707
MerlinMaître des clés« « this » représente le fichier dont on veut extraire la première page donc this.closeDoc(true); ne fermera pas le fichier temporaire. »
Dans mon idée « this » représente le document qui vient d’être enregistré, qui est actif et donc au premier-plan à l’instant T.
Mais je n’ai pas testé.
😉
20 mars 2023 à 10:45 #72708
AuroreParticipantBonjour,
le script a fonctionné : je suis si contente !
Merci encore !!!
Aurore
20 mars 2023 à 11:40 #72711
bebarthMaître des clésbonjour,
Dans mon idée « this » représente le document qui vient d’être enregistré, qui est actif et donc au premier-plan à l’instant T.
Ce n’est effectivement pas bien clair, mais pour moi « this » représente « l’objet » d’où est lancé la partie du script. Si c’est un document, « this » est ce document, si c’est d’une boite de dialogue, « this » est cette boite de dialogue.
Bonjour, le script a fonctionné
Combien de fichiers as-tu traité et en combien de temps ?
@+
😎20 mars 2023 à 11:56 #72712
MerlinMaître des clésJe crois que tu as raison mais je n’ai pas tort : tu parles de ton script qui intègre l’enregistrement du nouveau fichier, alors que je parle d’une Action qui utilise la fonction Enregistrer d’Acrobat juste avant cette ligne de script.
Du coup ça fait une différence car le document actif n’est pas le même.
20 mars 2023 à 14:22 #72713
AuroreParticipantCombien de fichiers as-tu traité et en combien de temps ?
L’ordinateur met environ 2 à 3 minutes pour traiter 400 pdf, ce qui et assez rapide je trouve.
Aurore
20 mars 2023 à 19:56 #72714
bebarthMaître des clés👍
@+
😎 -
AuteurRéponses
- Vous devez être connecté pour répondre à ce sujet.
