Donnez vie à vos documents numériques !
 

dodo

Toutes mes réponses sur les forums

Affichage de 12 réponses de 1 à 12 (sur un total de 12)
  • Auteur
    Réponses
  • en réponse à : Lancer l’impression page après page #72698
    dodo
    Participant

    Merci. Je n’ai pas retrouvé la doc sur le site d’Adobe (c’est d’ailleurs sur cette page que j’ai cherché hier), mais grâce au nom de fichier je l’ai retrouvée directement sur Google.

    Un grand merci à vous tous

    en réponse à : Lancer l’impression page après page #72696
    dodo
    Participant

    Merci beaucoup. Le dernier script fonctionne à merveille. Je commençais à désespérer car le fonctionnement était finalement très aléatoire (j’avais réussi à modifier mon imprimante par défaut puis ça ne fonctionnait de nouveau plus).

    Si je comprends bien il faut utiliser printRange au lieu de spécifier par la suite les paramètres des numéros de page sans quoi printerName ne peut être utilisé.

    Pas besoin de t’excuser, d’autant que ça m’a permis de chercher d’où provenait l’erreur et j’ai encore appris des choses grâce à ça. Je me débrouille plutôt bien en VisualBasic mais javascript c’est décidément vraiment pas ma tasse de thé.

    Si je peux me permettre : où peut-on trouver de la documentation sur les différentes fonctions et leurs paramètres (comme par exemple getPrintParams et pageHandling, printerName) ? Je ne trouve que des forums qui en parlent.

    en réponse à : Lancer l’impression page après page #72688
    dodo
    Participant

    J’ai encore un peu avancé.

    Cette fois j’arrive bien à modifier mon imprimante. Ce devait être une erreur de syntaxe en fait :

    var pp = this.getPrintParams();
    pp.printerName = 'Nom imprimante';
    for (var z=0; z<this.numPages; z++) {this.print({bUI: true, nStart: z, nEnd: z});}

    Par contre j’ai encore un souci: je ne parviens pas à forcer le dimensionnement de la page sur “Ajuster”. A priori je suis censé mettre ce code (juste avant la ligne print) :

    pp.pageHandling = pp.constants.handling.fit; // ajuster au papier
    Mais il reste sur “Taille réelle” au lieu de “Ajuster”.

     

    Et je rencontre un autre souci : ça fonctionne sur un PC mais pas sur l’autre… (mais ça je vais devoir trouver pourquoi)

    en réponse à : Lancer l’impression page après page #72684
    dodo
    Participant

    J’ai trouvé des trucs du genre :

    pp=this.getPrintParams();
    pp.printerName= "Nom imprimante"; // nom de l’imprimante
    pp.NumCopies=1; // nombre d’exemplaires
    pp.interactive=pp.constants.interactionLevel.automatic;
    this.print(pp);

    Mais ça ne fonctionne pas. Ca lance toujours l’impression sur mon imprimante par défaut (et forcément avec ce code, ça lance le tout en une seule fois).

    en réponse à : Lancer l’impression page après page #72682
    dodo
    Participant

    Bonjour et merci.
    Je viens de faire un essai avec le code et ça fonctionne même si j’ai un peu galéré (je n’y connais rien en javascript). Il y a une petite coquille dans le code que j’ai tout de même réussi à corriger grâce à d’autres posts dans ce forum (manquait { et } dans les paramètre de print) :

    for (var z=0; z<this.numPages; z++) {this.print({bUI: false, nStart: z, nEnd: z});}

    Ça fonctionne bien dans la mesure où ça imprime chaque page l’une après l’autre comme voulu mais (il y a un mais) : Est-il possible de forcer la sélection de l’imprimante sans pour autant afficher la boite de dialogue (bUI: false) ? En effet, mon imprimante thermique n’est pas mon imprimante par défaut et je ne peux la sélectionner par défaut.

    en réponse à : Lancer l’impression page après page #72676
    dodo
    Participant

    Il s’agit bien de Acrobat Pro DC.

    Ce n’est pas urgent. Ça fait des mois que je fonctionne avec des ctrl+p successifs. Je ne savais même pas qu’il existait des API pour Acrobat. Je vais déjà chercher de ce côté pour voir si je trouve quelque-chose. Merci à vous

    dodo
    Participant

    Essai effectué sur l’autre PC avec succès. Tout est donc parfait. Merci !

    dodo
    Participant

    Bonjour bebarth et Merlin,

    J’ai enfin eu le temps ce jour de lire les différents tutos fournis et de refaire des essais. J’ai vu qu’entre temps vous aviez trouvé la solution ; j’ai donc directement testé avec ce script et aujourd’hui il fonctionne parfaitement chez moi. Il ne me met plus d’erreur de syntaxe ou de déclaration. C’est tout de même étrange car à priori la seule différence entre les scripts c’est le dollar.
    J’avais peut-être fait une erreur lors de ma première tentative. Je testerai demain sur l’autre PC, mais il n’y a pas de raison que ça ne fonctionne pas.
    Je n’aurai pas appris à écrire en javascript, mais j’ai au moins découvert pas mal de choses, dont l’assistant d’actions !!! J’ai déjà créé d’autres actions pour de petits trucs que je faisais régulièrement sur d’autres documents.

    Ce sujet est donc résolu et je vous en remercie  :bravo: :bravo: :bravo:

    dodo
    Participant

    Une fois de plus, merci à vous 2.

    Merlin:
    Concernant mon problème de privilège, j’avais bien paramétré les options comme indiqué dans le tutoriel pour l’activation de la console (c’est grâce à ça que j’ai vu le message d’erreur car sans console, il ne se passait rien et je n’avais donc aucun retour sur l’erreur). Je viens de refaire les mêmes manipulations sur un autre PC à l’instant et le script ne génère pas d’erreur bien qu ele résultat ne soit pas correct. Des pages sont bien doublées, mais pas les bonnes ; chez moi j’ai des pages paires et impaires doublées un peu partout dans le document.
    Je vais étudier le fonctionnement de ta fonction pour tenter de la déboguer (je ne connais pas du tout le langage javascript, mais je programme en Visual Basic donc je devrais comprendre avec un peu de temps et de recherches).
    Je testerai de nouveau demain sur le PC récalcitrant en vérifiant les paramètres. il doit bien y avoir une différence entre ces 2 installations.
    bebarth:
    je viens de tester tes 2 derniers scripts et j’obtiens une erreur pour ces 2 scripts. Si je comprends bien il s’agit d’une erreur due à une variable non définie et une due à une erreur de syntaxe. Comme je l’écrivais quelques lignes plus haut, javascript est inconnu pour moi, mais je vais chercher à déboguer tout ça.

    Je reviendrai vers vous afin de vous donner le résultat de mes recherches. Il s’agit sans doute d’un truc tout bête, mais je voudrai tenter de le trouver, sinon je n’apprendrai rien du tout lol (par faute de temps il me faudra sans doute ce week-end pour y parvenir).
    En tout cas, grâce à vos scripts je vois déjà les fonctions reconnues par Acrobat. A très vite

    dodo
    Participant

    Bonjour à vous et merci.

    bebarth :
    Je viens de tester ton script. il fonctionne comme voulu, c’est-à-dire que les commandes d’impression sont envoyées dans le bon ordre.Cependant, j’ai un autre souci lié au matériel : comme il s’agit d’une succession d’ordres d’impression, l’impression n’est pas fluide. Le transfert des données est assez rapide, mais l’imprimante thermique initialise la position du rouleau après chaque impression. En lançant un fichier contenant toutes les pages, le rouleau est imprimé sans initialisation entre chaque étiquette et l’impression est donc continue ; la bande se déroule à vitesse constante sans arrêt.Peut-être qu’en fouillant dans les paramètres de l’imprimante il est possible de faire en sorte que cette initialisation de position ne se fasse pas, mais alors je rencontrerai d’autres soucis par la suite lors d’un changement de rouleau ou une reprise sur un rouleau entamé, ce qui semble trop risqué.
    Cette méthode ne permet pas de gain de temps au final puisqu’il faut enrouler les étiquettes au fur et à mesure qu’elles sont imprimées et je dois donc rester à attendre que l’impression se fasse (temps quasi similaire entre cette impression et le temps que je mets à dupliquer manuellement les pages avant impression).

    Merlin :
    Je viens de tester ton script, qui du coup devrait résoudre mon problème de “lenteur” d’impression puisque le document serait directement modifié.Mais, j’obtiens une erreur:
    NotAllowedError: Les paramètres de protection interdisent l’accès à cette propriété ou à cette méthode.
    Doc.insertPages:9:Field Button1:Mouse Up

    J’ai vérifié les propriétés de mon document et il n’y a aucune protection, tout est autorisé avec ce document.
    Malheureusement je n’aurai plus de temps pour continuer mes recherches tout de suite. Je regarderai à nouveau ce soir pour comprendre d’où vient ce problème. Je reviens vers vous dès que j’ai du nouveau.

    dodo
    Participant

    Je fais cette manipulation à la main depuis de très nombreux mois maintenant et c’est justement pour ça que je cherche une solution pour automatiser cette tâche (qui certes ne prend que quelques minutes, mais vu la fréquence à laquelle j’effectue cette manipulation…).
    L’imprimante ne peut être remplacée pour des raisons de coût mais pas que… j’utilise une imprimante thermique qui imprime chaque page sur une étiquette autocollante (rouleau de 260 étiquettes).
    Tu as l’air de très bien t’y connaître en PDF et Acrobat, j’en déduis qu’Acrobat n’intègre pas de solution simple me permettant cette manipulation.Dans ce cas, peut-être qu’un script peut faire l’affaire.Est-il possible de dupliquer une page en spécifiant son emplacement à l’aide d’un script ?
    bebarth : tu semblais penser que ce serait faisable. Aurais-tu une idée sachant que pour le placement des images, la solution de Merlin me convient parfaitement puisqu’elle reste simple et efficace.

    dodo
    Participant

    Bonjour,
    Tout d’abord, mes excuses pour le retard dans ma réponse ; je viens seulement d’avoir un mail m’indiquant une réponse (je pensais que c’était instantané). Merci pour votre réactivité.

    Ensuite, les réponses à vos questions :   
    bebarth :
    Non, je n’ai pas forcément besoin d’un autre fichier contenant les modifications. Si tout se fait sur le fichier d’origine, ça me va déjà très bien.Concernant l’image, je ne comprends pas ce que tu veux dire par “accessible”. L’image est un fichier stocké dans un cloud, car il doit être accessible depuis différents postes de travail.

    Merlin :
    Tout à fait d’accord avec toi, inutile de sortir un canon pour tuer une mouche, mais j’ignorais qu’il était possible d’enregistrer des actions permettant l’ajout de filigrane, qui plus est, uniquement sur les pages impaires. La logique Adobe est donc respectée lol (j’utilise des actions sur Photoshop pour gérer des images en masse). Je vais explorer cette section un peu plus en détails car elle pourrait m’apporter d’autres aides pour certaines tâches dont j’ignorais qu’il était possible de les automatiser.
    Autrement dit : cette solution toute bête fonctionne à merveille et son utilisation est des plus simples.Concernant l’impression, ce n’est pas ce que je veux faire.Je veux imprimer toutes les pages du document, mais les pages paires doivent être imprimées en double et à la suite ; les pages impaires doivent être imprimées en une seule copie. Mon fichier de base comporte donc 172 pages et l’impression me sort 258 feuilles.
    L’ordre d’impression des pages doit donc être :
    1;2;2;3;4;4;5;6;6;7;8;8;9;10;10;11;12;12;13;14;14;15;16;16;17;18;18;19;20;20;21;22;22;23;24;24…..
    N’ayant pas trouvé de possibilité de stipuler la quantité de copies à imprimer pour les pages paires ou impaires, j’avais essayé en inscrivant la série inscrite ci-dessus dans “Pages” (voir copie d’écran ci-dessous), mais il n’est pas possible de spécifier un nombre assez important de pages dans ce champ ; je n’ai plus la limite, mais en tout j’aurai 258 pages inscrites dans ce champ.

    merci à vous 2 pour votre aide

Affichage de 12 réponses de 1 à 12 (sur un total de 12)