Donnez vie à vos documents numériques !
 

Extraction automatique 1ère page pdf par lot

abracadabraPDF Forums PDF – Général Extraction automatique 1ère page pdf par lot

  • Créateur
    Sujet
  • #72679
    Aurore
    Participant

    Bonjour à 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 !

Affichage de 17 réponses de 1 à 17 (sur un total de 17)
  • Auteur
    Réponses
  • #72680
    bebarth
    Maître des clés

    bonjour,

    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…

    @+
    😎

    #72681
    Merlin
    Maître des clés

    Bonjour

     

    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});

     

     

    #72686
    Aurore
    Participant

    Bonjour 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

    #72687
    bebarth
    Maître des clés

    bonjour,

    pour moi il faudra attendre la semaine prochaine car je suis sans ordinateur…

    j’espère que ton stage est un peu plus long

    @+
    😎

    #72690
    Aurore
    Participant

    Oui, 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

    #72694
    Merlin
    Maître des clés

    Un 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.
    #72700
    Aurore
    Participant

    Bonjour,

    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.
    #72702
    Merlin
    Maître des clés

    OTAN 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.
    #72704
    Merlin
    Maître des clés

    PS : 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.

    #72705
    Aurore
    Participant

    Super ! 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

    #72706
    bebarth
    Maître des clés
    bonjour,

    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…

    @+
    😎

    #72707
    Merlin
    Maî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é.

    😉

    #72708
    Aurore
    Participant

    Bonjour,

    le script a fonctionné : je suis si contente !

    Merci encore !!!

    Aurore

    #72711
    bebarth
    Maître des clés

    bonjour,

    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 ?

    @+
    😎

    #72712
    Merlin
    Maître des clés

    Je 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.

     

    #72713
    Aurore
    Participant

    Combien 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

    #72714
    bebarth
    Maître des clés

    👍

    @+
    😎

Affichage de 17 réponses de 1 à 17 (sur un total de 17)
  • Vous devez être connecté pour répondre à ce sujet.