2
1

Est-il possible de créer un pdf affichant aléatoirement une image, choisie parmi deux ?

En effet, j'aimerais que la couverture de mon pdf affiche aléatoirement une image :

  • représentant la version idéale de l'achèvement du projet qui y est décrit,
  • ou représentant la version réelle du merdier dans lequel on se lance.

Le format pdf permet-il cela ?

Posée 06 Sep '18, 13:00

Pathe's gravatar image

Pathe ♦♦
7.6k49208252
Taux d'acceptation : 55%

Modifiée 06 Sep '18, 13:03

La primitive (de pdftex) \pdfuniformdeviate N génère un nombre aléatoire entre 0 (inclus) et N-1...

(06 Sep '18, 15:37) touhami touhami's gravatar image

J'ai l'impression que c'est au moment de la compilation que le choix est fait.

Je me suis mal exprimé : ce qui m'amuserait, c'est que ce soit au moment de l'affichage. De telle sorte que, quand on ré-ouvre le document, on le trouve changé.

(06 Sep '18, 23:36) Pathe ♦♦ Pathe's gravatar image
1

Il existe une extension animate, (en alternant de 2 images lors de la même session). Ce n'est pas exactement la même chose, mais peut être aussi intéressant.

(07 Sep '18, 00:17) joseph-tux joseph-tux's gravatar image
1

Dans ce cas je pense que c'est réalisable en utilisant l'extension acrotex

(07 Sep '18, 14:04) touhami touhami's gravatar image

Solution utilisante animate (Acrobat Reader).

On peut enlever la page 1 afin de placer l'image aléatoire sur la page couvrante. Ici elle sert à éviter d'ouvrir/fermer le fichier PDF. Une fois ouvert, il suffit de feuilleter pour voir l'effet.

Ouvrir dans l'éditeur Overleaf
\documentclass{article}
\usepackage{animate}
\usepackage{graphicx}
\ExplSyntaxOn
\let\PdfAnnot\pbs_pdfannot:nnnn
\ExplSyntaxOff
\begin{document}
Page 1.
\newpage
\begin{animateinline}[label=randImg,nomouse,poster=last]{1}
\includegraphics{example-image-a}
\newframe
\includegraphics{example-image-b}
\newframe
\includegraphics{example-image-c}
\newframe
% blanc
\end{animateinline}%
\PdfAnnot{1pt}{1pt}{0pt}{
/Subtype/Screen/F 2 % non interactive annotation
/AA << % additional actions
/PO << % on page-open
/S/JavaScript
/JS (
anim.randImg.frameNum = Math.floor(Math.random() * (anim.randImg.numFrames-1));
)
>>
/PC << % on page-close show empty frame
/S/JavaScript
/JS (
anim.randImg.frameNum = anim.randImg.numFrames-1;
)
>>
>>
}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Lien permanent

Publiée 07 Sep '18, 17:01

alexg's gravatar image

alexg
1112
Taux d'acceptation : 0%

Modifiée 07 Sep '18, 17:10

Votre réponse
[Masquer l'aperçu]

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Mots-clés de la question :

×31
×3
×1
×1

Question posée : 06 Sep '18, 13:00

Question vue : 4,994 fois

Dernière mise à jour : 07 Sep '18, 17:15

C'est votre première visite ici ? Consultez la FAQ !

×