Donnez vie à vos documents numériques !
 

[Questions multiples] Projet PDF interactif Mac/Pc

abracadabraPDF Forums PDF – Général [Questions multiples] Projet PDF interactif Mac/Pc

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #43738
    YannS
    Participant

    Bonjour à tous,

    Avant de rentrer dans le vif du sujet, je voudrais tout d’abord remercier l’administrateur de ce forum pour avoir eu la gentillesse de m’aider à m’inscrire !  :bravo:

    Petite présentation :
    Je tiens ensuite à me présenter à vous, je m’appelle donc Yann, après des études de Design je suis actuellement Concepteur Infographiste 2D/3D dans une boîte dans le sud est de la France. J’ai un profil plus artistique qu’informaticien ou programmeur donc. J’utilise régulièrement des softs comme Illustrator, Toshop ou bien encore In-Design. :extra:
    Si je me permets de poster directement sur le forum, c’est que jusqu’à présent mes recherches de sujet sur ce forum n’ont pas pu me donner toutes les réponses que j’espérais (n’ayant pas le niveau requis pour comprendre les réponses parfois lol  :siffle:  ).

    Cœur du sujet :
    Je dois créer un document PDF interactif compatible MAC & PC, il se composera de plusieurs chapitres, avec des articles de plusieurs pages pouvant contenir des images. Le principe repose sur un design clair & ergonomique, le pdf se doit donc d’être interactif pour simplifier la manipulation du document.
    Jusqu’à présent, je suis arrivé à peu près à faire ce que je voulais avec Acrobat pro 9… j’ai néanmoins quelques questions qui restent sans réponse :

      [/list]
    • 1°) Comment forcer le mode full screen (sans avoir la fenêtre de confirmation)
    • [/list]
      J’ai déjà eu la réponse, il semble donc que ce ne soit pas possible :Interdit/Impossible:

    • 2°) Peut-on bloquer le passage d’une diapo à l’autre par la simple touche entrée (ou par mes boutons) ? Car actuellement, en mode full screen n’importe quelle touche fait passer à la page next.
    • [/list]
      J’ai déjà eu la réponse, il semble donc que ce ne soit pas possible :Interdit/Impossible:

    • 3°) J’ai besoin de créer un bouton “print” qui imprime une page qui n’est pas la page de visualisation (soit un pdf externe, soit une page x que la personne ne verra pas par exemple).
    • 4°) Actuellement, je me suis servis de la fonction “mouse down -> play sound”… Mais visiblement, ça ne semble pas fonctionner sous MAC… Comment faire pour que se soit compatible ?
    • [/list]

    • 5°) Comment gérer des plans dans les boutons ? Si je chevauche 2 boutons, je n’arrive pas à déterminer lequel des 2 est au 1er plan :(
    • 6°) Dans 1 des pages, il y a une photo. Je ne suis pas arrivé à faire en sorte que si on clique dans la photo on zoom pile sur la photo, et si on reclique on revienne à une vue “fit to page”. Est-ce possible ?
    • [/list]

      Voilà déjà la première série de questions… J’espère que vous pourrez m’aider, merci par avance !  :priere:  :bravo:

      Amicalement, Yann

Affichage de 23 réponses de 1 à 23 (sur un total de 23)
  • Auteur
    Réponses
  • #50301
    Merlin
    Maître des clés

    1- ce n’est plus possible depuis les versions 8 de Reader et d’Acrobat qui affichent systématiquement un message à l’utilisateur (pour “raisons de sécurité”).
    Une bonne ruse de contournement c’est d’afficher le PDF sans barre d’outils et sans les boutons d’affichage : on obtient quelque chose qui ressemble (presque) à du plein écran, mais sans les transitions entre les pages.

    2- ça n’a jamais été possible.

    Pour la suite je reviendrais ce soir car là (bruni) je n’ai pas assez de temps.
    :)

    #50302
    Merlin
    Maître des clés

    3- la réponse est ici :
    http://partners.adobe.com/public/developer/en/acrobat/sdk/AcroJS.pdf#page=289

    En fait il faut mettre le n° de la page à imprimer en paramètre dans le JavaScript.

    4- C’est le son qui n’est pas compatible : pour garantir la compatibilité multi-plateforme il faut utiliser des sons aux format WAV non-compressé ou AIFF non-compressé.

    5- Impossible, chaque version de Reader et d’Acrobat à sa propre façon d’organiser les 1er-plan/ar-plan : ce n’est pas gérable car pas fiable du tout.

    6- pour zoomer sur une image il faut la recouvrir avec un lien (outil Lien) ou d’un champ de formulaire (outil bouton) invisible et utiliser la fonction “Aller à la vue”.
    Par contre pour gérer le retour ça se complique un peu : il faut afficher/masquer un champ en fonction de l’état du zoom, champ qui utilisera aussi la fonction “Aller à la vue” ou bien la fonction “zoomTo” (JavaScript).
    Le plus simple étant de laisser l’utilisateur se débrouiller avec les boutons de l’interface de Reader, sauf s’ils sont masqués bien entendu.

    Voilà déjà quelques pistes avant d’aller plus loin.

    :)

    #50303
    YannS
    Participant

    Hello :)

    Merci pour avoir répondu, j’attendais un retour avec impatience lol  :contentdance:

    3- la réponse est ici :
    http://partners.adobe.com/public/developer/en/acrobat/sdk/AcroJS.pdf#page=289

    En fait il faut mettre le n° de la page à imprimer en paramètre dans le JavaScript.

    => Je suis allé sur le lien que tu donnes plus haut…

    J’ai sans doute mal compris car je n’y connais rien en codes mais je ne sais pas comment utiliser les lignes de code qui figurent dans la page :

    var pp = this.getPrintParams();
    pp.interactive = pp.constants.interactionLevel.silent;

    Pourrait-on m’en dire plus sur la façon d’utiliser ces fonctions ?

    Merci d’avance ! ;)

    #50304
    Merlin
    Maître des clés

    Désolé pour avant-hier, je n’ai pas pu revenir le soir comme promis.

    Voici le script à placer dans un bouton (Souris relachée > Lancer un JavaScript) :

    Code:
    this.print({nStart: 2, bShrinkToFit: true});

    Ce script imprime la page 3* du document, où que le bouton se trouve placé.
    Voir exemple ci-joint.

    ;)

    *Numéro de la page cible moins un : en JavaScript le compte des pages (et de bien d’autres choses) commence à zéro

    [attachment deleted by admin]

    #50305
    YannS
    Participant

    Voici le script à placer dans un bouton (Souris relachée > Lancer un JavaScript) :

    Code:
    this.print({nStart: 2, bShrinkToFit: true});

    Ce script imprime la page 3* du document, où que le bouton se trouve placé.
    Voir exemple ci-joint.*Numéro de la page cible moins un : en JavaScript le compte des pages (et de bien d’autres choses) commence à zéro

    => Bonjour Merlin et merci pour la réponse.

    J’ai pu tester le pdf que tu as donné en téléchargement, le code fonctionne mais le script prend en compte l’emplacement du bouton puisqu’il faut compter le nombre de pages à partir de l’emplacement du bouton (nStart = x ).

    Existe-t-il le même fonctionnement avec le pointage direct de la page à imprimer ? Par exemple un script qui imprime “la page x” ?

    Deuxième point : Si il y a plusieurs pages à imprimer ? J’aimerai par exemple, qu’ en appuyant sur le bouton “print”, l’utilisateur imprime directement de la page 24 à 28 (alors que lui il est à la page 12).

    Merci d’avance ! :)

    #50306
    Merlin
    Maître des clés

    Oui, c’est faisable mais je ne peux pas répondre avant demain car ce soir j’ai quelques centaines de km à faire…

    #50307
    Merlin
    Maître des clés

    Quand je teste cela fonctionne normalement, c’est la même page qui est imprimée quel que soit l’emplacement du bouton dans le doc…

    Pour imprimer une séquence de pages il faut en plus renseigner le paramètre optionnel nEnd : voir dans le PDF ci-joint.
    Il y a également un bouton-son d’exemple.

    ;)

    [attachment deleted by admin]

    #50308
    YannS
    Participant

    Quand je teste cela fonctionne normalement, c’est la même page qui est imprimée quel que soit l’emplacement du bouton dans le doc…

    Pour imprimer une séquence de pages il faut en plus renseigner le paramètre optionnel nEnd : voir dans le PDF ci-joint.
    Il y a également un bouton-son d’exemple.

    => Ok d’accord, merci beaucoup ! Dès que j’en serai là je testerai le code ;)

    J’ai à nouveau une question à laquelle je ne n’arrive pas à répondre :
    Sur ma page, il y des images. J’aimerai n’afficher qu’1 image, et avec des bouton “suivant – précédent” faire défiler ces images sur ma page.
    Je précise que les images n’ont pas les mêmes proportions (tantôt paysage, tantôt portrait).
    Pour le moment, la seule solution que j’ai trouvé, c’est créer des pages identiques avec les images… et faire semblant qu’il n’y a que l’image qui change, mais j’imagine qu’il doit y avoir une meilleure solution !  :doute:

    En voyez-vous une ?

    Merci d’avance !

    #50309
    YannS
    Participant

    Bonjour à tous :)

    En attendant la réponse à ma question (Cf plus haut)… J’ai exploré “les layers”… Depuis Illustrator, j’ai sorti un pdf à plusieurs layers. En revanche, je ne suis pas arrivé dans Acrobat à gérer des boutons suivant/précédent… Je suis arrivé à changer de layers en créant 1 bouton / layer mais ce n’est pas l’objectif visé : Disposer de bouton suivant / précédent pour changer d’image…  ::)

    Quelqu’un aurait une idée ?…

    merci d’avance  :bravo:

    #50310
    Merlin
    Maître des clés

    Perso je ferais le diaporama dans un fichier Flash (.SWF) que je poserais sur une page du PDF, avec le PDF uniquement tu vas galérer pour obtenir au final un résultat qui ne sera pas fiable à 100%.

    Et je ne te cache pas que si tu pouvais tabler sur des utilisateurs ayant Reader 9+ cela facilitera l’intégration du SWF dans le PDF.

    #50311
    YannS
    Participant

    Perso je ferais le diaporama dans un fichier Flash (.SWF) que je poserais sur une page du PDF, avec le PDF uniquement tu vas galérer pour obtenir au final un résultat qui ne sera pas fiable à 100%.

    Et je ne te cache pas que si tu pouvais tabler sur des utilisateurs ayant Reader 9+ cela facilitera l’intégration du SWF dans le PDF.

    => Aie… Ce que tu me dis là me fait un peu peur  :oh:

    J’étais pourtant tombé sur des scripts ayant un rapport avec les layers (mais mon niveau ne me permet pas d’adapter les codes à mes besoins)
    Je t’avoue que je suis étonné qu’une telle simplicité d’interactivité ne soit pas réalisable facilement…

    Avec In-Design jusqu’à présent, j’ai essayé de créer des formes ayant des liens interactifs avec les hyperlinks (et non pas des boutons)… Mais cela fait appel à des pages entières, alors que la solution des layers me paraissait être la plus intéressante en terme de poids. Mais bon, le pdf interactif se doit d’être compatible Mac/Pc ça c’est sur, donc je suis dans l’obligation de choisir la solution la plus fiable.

    Tu es donc sûr que la solution est l’intégration d’un swf…. erf… je ne connais pas du tout flash  :mur:

    #50312
    Merlin
    Maître des clés

    Pas besoin de Flash pour faire des SWF !
    Si tu as InDesign tu as tout ce qu’il faut : crée le diaporama, exporte le en SWF, et intègre le dans le PDF.

    Avec Acrobat et le PDF uniquement on peut faire un diaporama sur une seule page en bidouillant d’innombrables champs de formulaires assortis d’instructions en JavaScript, ou bien en utilisant des calques également assortis d’instructions en JavaScript.
    Mais je ne suis pas certain que cette dernière solution produise des fichiers plus légers qu’un diaporama multi-page… logiquement ce devrait être kif-kif.

    ;)

    #50313
    YannS
    Participant

    Bonjour,

    Je viens donner des news… Je pense que je vais finalement laisser tomber l’option de l’intégration de swf pour mes petites vignettes interactives à l’intérieur de ma page pdf… Je vais opter pour 1 bouton = 1 vignette… Au moins je reste dans le cadre d’une interactivité “de base”.

    Bon maintenant, j’espère que je vais arriver à m’en sortir simplement avec cette méthode !  :priere:

    #50314
    Merlin
    Maître des clés

    En fait il faudrait que je puisse jeter un œil sur ce fichier pour en dire plus, car je ne suis pas bien certain d’avoir compris ce que tu veux vraiment faire…
    ;)

    #50315
    YannS
    Participant

    En fait il faudrait que je puisse jeter un œil sur ce fichier pour en dire plus, car je ne suis pas bien certain d’avoir compris ce que tu veux vraiment faire…
    ;)

    => Et bien ça va se présenter un peu comme ça :

    tesmatricemenu.th.jpg

    On peut y voir une petite fenêtre… dans celle-ci j’aimerai qu’on puisse faire défiler quelques images. Ce sera un document composé de plusieurs pages un peu dans ce style :)

    #50316
    YannS
    Participant

    Hello :)

    Je viens poster ici mon retour matinal avec une mauvaise nouvelle malheureusement  :Ooops:

    J’ai pas eu le temps de m’attarder longtemps sur le mac de mon collègue mais… Le bouton d’impression d’une séquence précise de pages ne semble pas bien fonctionner sur Mac.

    Voici mon code :

    Code:
    this.print({nStart: 008, nEnd: 10, bShrinkToFit: true});

    -> Sur PC ça fonctionne : une fenêtre d’impression apparaît avec le champs déjà remplis (page de 09 à 11).

    -> Sur MAC : une fenêtre réduite d’impression apparaît, si j’appuie sur Impression, toutes les pages de mon pdf s’impriment. :(
    Si je développe la fenêtre d’impression, la séquence des pages apparaît bien il me semble (j’ai regardé rapidos)… Mais lorsque je fait Imprimer, toutes les pages s’impriment à nouveau  :'(

    Ai-je loupé quelque chose ?! Comment m’assurer que l’utilisateur imprime bien ma séquence de page ?!

    Voici mon début de pdf si ça peut aider : Applicatif.pdf

    #50317
    Merlin
    Maître des clés

    J’ai testé ton fichier sur 2 Mac, avec Acrobat et avec Reader : cela fonctionne parfaitement !
    :bravo:

    J’utilise un Mac et tous les codes que je communique fonctionnent au moins sur Mac (je n’ai pas toujours le temps de tester sur Windows).
    ;)

    #50318
    YannS
    Participant

    J’ai testé ton fichier sur 2 Mac, avec Acrobat et avec Reader : cela fonctionne parfaitement !
    :bravo:

    J’utilise un Mac et tous les codes que je communique fonctionnent au moins sur Mac (je n’ai pas toujours le temps de tester sur Windows).
    ;)

    => Merci pour le test c’est super sympa de ta part !… Je t’avoue que je suis rassuré de ton témoignage, dès que je peux je referai des test sur le mac de mon collègue.  :siffle:

    #50319
    YannS
    Participant

    Bonjour à tous :)

    Mon travail avance… Je constate que le poids total de mon document augmente, du coup je me demande si il ne vaudrait mieux pas mettre les pdf destinés à l’impression à part.

    Du coup, mon bouton “Print” ferait appel à des .pdf externes qui seraient loadés & imprimés dans la foulée.

    Est-il possible de faire un tel bouton ?  :doute:

    #50320
    Merlin
    Maître des clés

    C’est possible mais ce ne serait pas une solution pérenne.
    Je n’ai pas le droit de rien dire d’ici là, mais tu comprendras pourquoi courant janvier…
    :joker:

    #50321
    YannS
    Participant

    C’est possible mais ce ne serait pas une solution pérenne.
    Je n’ai pas le droit de rien dire d’ici là, mais tu comprendras pourquoi courant janvier…
    :joker:

    => Euh… j’avoue ne pas bien comprendre désolé  :Euuuh:

    L’échéance de mon projet se situe au lundi qui arrive lol, non au mois de Janvier  :siffle:

    #50322
    Merlin
    Maître des clés

    j’avoue ne pas bien comprendre désolé

    Désolé, j’ai signé une clause de confidentialité.
    :-X

    Mais en clair : laisse tomber l’idée (qui pourtant était bonne) d’appeler d’autres fichiers PDF pour l’impression.
    😎

    #50323
    alex
    Participant

    Il y a un moyen peu élégant mais parfois utile de détourner le problème de la question 2, c’est de créer des templates que l’on pourra ensuite manipuler par des  scripts associés à des boutons de circulation.
    1-Créer les templates du document, attention via la console sous Acrobat uniquement:

    function CreeTemplates()
    {
    console.clear();
    index=0;
      while(index  {
      this.createTemplate(“Page”+index,index);
      index=index+1;
      }
      index=0;
      t=this.templates;
      l=t.length;
      while(index  {
      console.println(“Création du template de rang “+index+” “+t[index].name);
      t[index].hidden=false;
      index=index+1;
      }
    }

    2-Pour afficher tous les templates (script général précédant tout appel de page ):

    function AfficheTemplates()
    {
    console.clear();
    //console.show();
      index=0;
      t=this.templates;
      l=t.length;
        while(index    {
        nom=t[index].name;
        t[index].hidden=false;
        console.println(“Affichage template de rang “+index+”/”+l+” “+nom);
        index=index+1;
        }
    }

    L’inconvénient de cette méthode est que le document apparaît comme ne contenant qu’une page.
    Plus de détails ?

    Apparemment ça ne fonctionne plus sous Reader 9. Désolé.Je laisse ce script sur le forum, il pourrait redevenir d’actualité.

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