Pdf modifiable Form Nan

Tout ce qui concerne le langage TeX/LaTeX et ses variantes. Ce langage est utilisable sur le forum via les balises tex.
[participation réservée aux membres inscrits]
Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
marco56
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 994
Inscription : jeudi 25 novembre 2010, 22:10

[Résolu] Pdf modifiable Form Nan

Message non lu par marco56 »

Bonjour,
Je pense encore une conséquence de la mise à jour à TL2021, mes formulaires ne fonctionnent plus correctement.
Ainsi, dans le document suivant, lorsque je coche une case par ligne et que je demande le total, j'ai le droit à un joli NaN.
Quelqu'un a une idée pour y remédier ?
Ai-je perdu un package quelconque sur ma distribution Ubuntu ?
Bonne semaine à vous.

Code : Tout sélectionner

\documentclass[12pt,french]{report}
\usepackage{lmodern}
\renewcommand*\familydefault{\sfdefault}
\usepackage[french]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc} 
\usepackage{geometry}
\geometry{verbose,a4paper,tmargin=1.2 cm,bmargin=1.5 cm,lmargin=1.5 cm,rmargin=1.5 cm} % modificat
\usepackage{fourier}
\usepackage{babel}
\usepackage{setspace}
\usepackage{fancyhdr} % pour les entêtes et les pieds de page

\usepackage[pdftex]{graphicx}
\usepackage{graphics}
\usepackage{hyperref}

% le format de page
%%%\setlength{\textheight}{701.2245pt}
\setlength{\textheight}{723pt}
\setlength{\topmargin}{-38.12677pt}
\setlength{\headheight}{14.9pt}
\setlength{\headsep}{8pt}
%%\setlength{\footskip}{21pt}
\setlength{\footskip}{24pt}
%\renewcommand{\footrulewidth}{0pt}
\renewcommand{\footrulewidth}{.4pt}

% les entêtes et pieds de page
\pagestyle{fancy}

\begin{document}

\shorthandoff{;}
\begin{Form}


\noindent\hspace{2mm}\ChoiceMenu[radio,name=CoursA,charsize=14pt]{}{=4}\hfill\ChoiceMenu[radio,name=CoursA,charsize=14pt]{}{=3}\hfill\ChoiceMenu[radio,name=CoursA,charsize=14pt]{}{=2}\hfill\ChoiceMenu[radio,name=CoursA,charsize=14pt]{}{=1}\hfill\ChoiceMenu[radio,name=CoursA,charsize=14pt]{}{=0}\hspace{2mm}

\vspace{1cm}


\noindent\hspace{2mm}\ChoiceMenu[radio,name=CoursB,charsize=14pt]{}{=4}\hfill\ChoiceMenu[radio,name=CoursB,charsize=14pt]{}{=3}\hfill\ChoiceMenu[radio,name=CoursB,charsize=14pt]{}{=2}\hfill\ChoiceMenu[radio,name=CoursB,charsize=14pt]{}{=1}\hfill\ChoiceMenu[radio,name=CoursB,charsize=14pt]{}{=0}\hspace{2mm}

\vspace{1cm}

\hspace{-1.67cm} APP
\noindent\hspace{2mm}\ChoiceMenu[radio,name=ExoA,charsize=14pt]{}{=4}\hfill\ChoiceMenu[radio,name=ExoA,charsize=14pt]{}{=3}\hfill\ChoiceMenu[radio,name=ExoA,charsize=14pt]{}{=2}\hfill\ChoiceMenu[radio,name=ExoA,charsize=14pt]{}{=1}\hfill\ChoiceMenu[radio,name=ExoA,charsize=14pt]{}{=0}\hspace{2mm}

\vspace{1cm}

\hspace{-1.7cm} ANA
\noindent\hspace{2mm}\ChoiceMenu[radio,name=ExoB,charsize=14pt]{}{=4}\hfill\ChoiceMenu[radio,name=ExoB,charsize=14pt]{}{=3}\hfill\ChoiceMenu[radio,name=ExoB,charsize=14pt]{}{=2}\hfill\ChoiceMenu[radio,name=ExoB,charsize=14pt]{}{=1}\hfill\ChoiceMenu[radio,name=ExoB,charsize=14pt]{}{=0}\hspace{2mm}

\vspace{1cm}

\hspace{-1.65cm} REA
\noindent\hspace{2mm}\ChoiceMenu[radio,name=ExoC,charsize=14pt]{}{=4}\hfill\ChoiceMenu[radio,name=ExoC,charsize=14pt]{}{=3}\hfill\ChoiceMenu[radio,name=ExoC,charsize=14pt]{}{=2}\hfill\ChoiceMenu[radio,name=ExoC,charsize=14pt]{}{=1}\hfill\ChoiceMenu[radio,name=ExoC,charsize=14pt]{}{=0}\hspace{2mm}

\vspace{1cm}

\hspace{-1.6cm} VAL
\noindent\hspace{2mm}\ChoiceMenu[radio,name=TransverseA,charsize=14pt]{}{=4}\hfill\ChoiceMenu[radio,name=TransverseA,charsize=14pt]{}{=3}\hfill\ChoiceMenu[radio,name=TransverseA,charsize=14pt]{}{=2}\hfill\ChoiceMenu[radio,name=TransverseA,charsize=14pt]{}{=1}\hfill\ChoiceMenu[radio,name=TransverseA,charsize=14pt]{}{=0}

\vspace{1cm}

\hspace{-1.8cm} COM
\noindent\hspace{2mm}\ChoiceMenu[radio,name=TransverseB,charsize=14pt]{}{=4}\hfill\ChoiceMenu[radio,name=TransverseB,charsize=14pt]{}{=3}\hfill\ChoiceMenu[radio,name=TransverseB,charsize=14pt]{}{=2}\hfill\ChoiceMenu[radio,name=TransverseB,charsize=14pt]{}{=1}\hfill\ChoiceMenu[radio,name=TransverseB,charsize=14pt]{}{=0}

\vspace{1cm}

\hspace{-1.7cm} AUT
\noindent\hspace{2mm}\ChoiceMenu[radio,name=TransverseC,charsize=14pt]{}{=4}\hfill\ChoiceMenu[radio,name=TransverseC,charsize=14pt]{}{=3}\hfill\ChoiceMenu[radio,name=TransverseC,charsize=14pt]{}{=2}\hfill\ChoiceMenu[radio,name=TransverseC,charsize=14pt]{}{=1}\hfill\ChoiceMenu[radio,name=TransverseC,charsize=14pt]{}{=0}\hspace{2mm}

\vspace{1cm}

\TextField[name=note,readonly=true]{Note : }\hfill
\PushButton[name=go,
onclick={var ca = this.getField("CoursA");var cb=this.getField("CoursB");
var ea=this.getField("ExoA");var eb=this.getField("ExoB");var ec=this.getField("ExoC");
var ta=this.getField("TransverseA");var tb=this.getField("TransverseB");var tc=this.getField("TransverseC");
% la note de cours a un coeff multiplicateur entre 0,7 et 1
% la note d'exo a un coeff multiplicateur entre 0,4 et 1
% la note transversal a un coeff multiplicateur entre 0,5 et 1
var tempo=((parseInt(ca.value)+parseInt(cb.value))/8*8/20) + ((parseInt(ea.value)+parseInt(eb.value)+parseInt(ec.value))/12*9/20)+((parseInt(ta.value)+parseInt(tb.value)+parseInt(tc.value))/12*3/20);
var note=this.getField("note");note.value=Math.round(tempo*40)/2
}
]{Cliquez ici pour calculer}

\vspace{.3em}

\noindent\dotfill

\noindent\hfill\PushButton[name=signature,
onclick={if (this.getField("classe").value=="oups") {
this.getField("nomA").readonly=false;this.getField("date").readonly=false;this.getField("semaine").readonly=false;this.getField("groupe").readonly=false;
this.getField("CoursA").readonly=false;this.getField("CoursB").readonly=false;
this.getField("ExoA").readonly=false;this.getField("ExoB").readonly=false;this.getField("ExoC").readonly=false;
this.getField("TransverseA").readonly=false;this.getField("TransverseB").readonly=false;this.getField("TransverseC").readonly=false;
}
else {
this.getField("nomA").readonly=true;this.getField("date").readonly=true;this.getField("semaine").readonly=true;this.getField("groupe").readonly=true;
this.getField("CoursA").readonly=true;this.getField("CoursB").readonly=true;
this.getField("ExoA").readonly=true;this.getField("ExoB").readonly=true;this.getField("ExoC").readonly=true;
this.getField("TransverseA").readonly=true;this.getField("TransverseB").readonly=true;this.getField("TransverseC").readonly=true;
}
}
]{Verrouiller}\hfill~

\end{Form}
\shorthandon{;}

\end{document}
Dernière modification par marco56 le mercredi 08 septembre 2021, 12:29, modifié 1 fois.
touhami
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 463
Inscription : dimanche 11 février 2007, 11:45

Re: Pdf modifiable Form Nan

Message non lu par touhami »

Bonjour.
  • Vous avez besoin de charger l'extension hyperref avec l'option pdfencoding=auto:

    Code : Tout sélectionner

    \usepackage[pdfencoding=auto]{hyperref}
  • Ajoutez un point virgule à la fin de votre code javascript.
  • Ajouter une valeur par défaut à chaque \ChoiceMenu, par exemple \ChoiceMenu[default=0,...
Supplément.

Enfin, la syntaxe de menu au choix (\ChoiceMenu) est: \ChoiceMenu[parameters]{label}{choices}
par exemple,

Code : Tout sélectionner

\ChoiceMenu[name=ca, radio, default=0]{Question}{\hfill choix un =2,\hfill choix deux =0,\hfill choix trois=3}
marco56
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 994
Inscription : jeudi 25 novembre 2010, 22:10

Re: Pdf modifiable Form Nan

Message non lu par marco56 »

Ok, merci, je regarderai cela demain. Ce qui est étonnant, c'est que cela fonctionnait jusqu'à présent. Bonne soirée.
projetmbc
Utilisateur chevronné
Utilisateur chevronné
Messages : 1969
Inscription : samedi 29 décembre 2007, 00:58

Re: Pdf modifiable Form Nan

Message non lu par projetmbc »

Quand vous aurez réparé votre code, je serais bien preneur de le voir.
touhami
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 463
Inscription : dimanche 11 février 2007, 11:45

Re: Pdf modifiable Form Nan

Message non lu par touhami »

Bon jour.
Excusez-moi, deux remarques concernant ma réponse.
  • Le point virgule manque à la fin du code de button calculer nommé *go*.
  • Comme vous avez des valeur nuls entre les choix, vous pouvez prendre comme valeur par défaut "-0".

Code : Tout sélectionner

 \ChoiceMenu[default=-0,...
marco56
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 994
Inscription : jeudi 25 novembre 2010, 22:10

Re: Pdf modifiable Form Nan

Message non lu par marco56 »

projetmbc a écrit : mardi 07 septembre 2021, 09:02 Quand vous aurez réparé votre code, je serais bien preneur de le voir.
Merci touhami !
Problème avec hyperref et l'oubli du point-virgule.

Voici ce que j'ai finalement.

Code : Tout sélectionner

\documentclass[12pt,french]{report}
\usepackage{lmodern}
\renewcommand*\familydefault{\sfdefault}
\usepackage[french]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc} 
\usepackage{geometry}
\geometry{verbose,a4paper,tmargin=1.2 cm,bmargin=1.5 cm,lmargin=1.5 cm,rmargin=1.5 cm} % modificat
\usepackage{fourier}
\usepackage{babel}
\usepackage{setspace}
\usepackage{fancyhdr}                          % pour les entêtes et les pieds de page

\usepackage[pdftex]{graphicx}
\usepackage{graphics}
\usepackage[pdfencoding=auto]{hyperref}

% le format de page
%%%\setlength{\textheight}{701.2245pt}
\setlength{\textheight}{723pt}
\setlength{\topmargin}{-38.12677pt}
\setlength{\headheight}{14.9pt}
\setlength{\headsep}{8pt}
%%\setlength{\footskip}{21pt}
\setlength{\footskip}{24pt}
%\renewcommand{\footrulewidth}{0pt}
\renewcommand{\footrulewidth}{.4pt}

% les entêtes et pieds de page
\pagestyle{fancy}

\begin{document}



\lhead{Lycée bidule}
\chead{\bf Physique-Chimie}
\cfoot{}
\rhead{\em 2021 -- 2022}

%\rfoot{\TextField[name=nomprof,width=8cm,charsize=12pt]{Colleur : } }


\shorthandoff{;}
\begin{Form}

\noindent \TextField[name=semaine,width=1cm,charsize=12pt]{Semaine }  le \TextField[name=date,width=4cm,charsize=12pt]{} \hfill Classe : cpge 

\vspace{1em}

\noindent\TextField[name=nomA,width=8cm,charsize=12pt]{Nom : } \hfill \TextField[name=groupe,width=2cm,charsize=12pt]{Groupe n° : }

\noindent\dotfill

\noindent\hfill{\sc Cours}\hfill~

\vspace{.2em}

\noindent\hfill\TextField[name=rqCours,width=17.8cm,height=3.3cm,multiline=true,charsize=10pt]\hfill~{}

\vspace{.3em}

%\vspace{.2em}

\noindent Complet et juste \hfill Absent ou faux

\vspace{.25em}

\noindent\hspace{2mm}\ChoiceMenu[radio,name=CoursA,charsize=14pt]{}{=4}\hfill\ChoiceMenu[radio,name=CoursA,charsize=14pt]{}{=3}\hfill\ChoiceMenu[radio,name=CoursA,charsize=14pt]{}{=2}\hfill\ChoiceMenu[radio,name=CoursA,charsize=14pt]{}{=1}\hfill\ChoiceMenu[radio,name=CoursA,charsize=14pt]{}{=0}\hspace{2mm}

\vspace{.2em}

\noindent Maîtrise et rapidité \hfill Notions hésitantes

\vspace{.25em}

\noindent\hspace{2mm}\ChoiceMenu[radio,name=CoursB,charsize=14pt]{}{=4}\hfill\ChoiceMenu[radio,name=CoursB,charsize=14pt]{}{=3}\hfill\ChoiceMenu[radio,name=CoursB,charsize=14pt]{}{=2}\hfill\ChoiceMenu[radio,name=CoursB,charsize=14pt]{}{=1}\hfill\ChoiceMenu[radio,name=CoursB,charsize=14pt]{}{=0}\hspace{2mm}

\vspace{-.5em}

\noindent\dotfill

\noindent\hfill{\sc Exercices}\hfill~
\vspace{.2em}

\noindent\hfill\TextField[name=rqExo,width=17.8cm,height=3.3cm,multiline=true,charsize=10pt,value=]\hfill~{}

\vspace{.2em}

\noindent Appropriation du sujet, suivi des conseils \hfill "Hors" du sujet

\vspace{.25em}

\hspace{-1.67cm} APP
\noindent\hspace{2mm}\ChoiceMenu[radio,name=ExoA,charsize=14pt]{}{=4}\hfill\ChoiceMenu[radio,name=ExoA,charsize=14pt]{}{=3}\hfill\ChoiceMenu[radio,name=ExoA,charsize=14pt]{}{=2}\hfill\ChoiceMenu[radio,name=ExoA,charsize=14pt]{}{=1}\hfill\ChoiceMenu[radio,name=ExoA,charsize=14pt]{}{=0}\hspace{2mm}

\vspace{.2em}

\noindent Analyse et modélisation (schéma, lois physiques\ldots) \hfill Absence d'analyse

\vspace{.25em}
\hspace{-1.7cm} ANA
\noindent\hspace{2mm}\ChoiceMenu[radio,name=ExoB,charsize=14pt]{}{=4}\hfill\ChoiceMenu[radio,name=ExoB,charsize=14pt]{}{=3}\hfill\ChoiceMenu[radio,name=ExoB,charsize=14pt]{}{=2}\hfill\ChoiceMenu[radio,name=ExoB,charsize=14pt]{}{=1}\hfill\ChoiceMenu[radio,name=ExoB,charsize=14pt]{}{=0}\hspace{2mm}

\vspace{.2em}

\noindent Justesse et rapidité des raisonnements et calculs \hfill Lent, approximatif ou faux

\vspace{.25em}

\hspace{-1.65cm} REA
\noindent\hspace{2mm}\ChoiceMenu[radio,name=ExoC,charsize=14pt]{}{=4}\hfill\ChoiceMenu[radio,name=ExoC,charsize=14pt]{}{=3}\hfill\ChoiceMenu[radio,name=ExoC,charsize=14pt]{}{=2}\hfill\ChoiceMenu[radio,name=ExoC,charsize=14pt]{}{=1}\hfill\ChoiceMenu[radio,name=ExoC,charsize=14pt]{}{=0}\hspace{2mm}

\vspace{.2em}

\noindent Recul physique correct (AN, homogénéité, esprit critique\ldots) \hfill Aucun recul (ne fait que du calcul)

\vspace{.25em}
\hspace{-1.6cm} VAL
\noindent\hspace{2mm}\ChoiceMenu[radio,name=TransverseA,charsize=14pt]{}{=4}\hfill\ChoiceMenu[radio,name=TransverseA,charsize=14pt]{}{=3}\hfill\ChoiceMenu[radio,name=TransverseA,charsize=14pt]{}{=2}\hfill\ChoiceMenu[radio,name=TransverseA,charsize=14pt]{}{=1}\hfill\ChoiceMenu[radio,name=TransverseA,charsize=14pt]{}{=0}\hspace{2mm}

\vspace{.2em}

\noindent Dialogue, gestion du tableau, dynamisme, prestance \hfill Communication à revoir

\vspace{.25em}
\hspace{-1.8cm} COM
\noindent\hspace{2mm}\ChoiceMenu[radio,name=TransverseB,charsize=14pt]{}{=4}\hfill\ChoiceMenu[radio,name=TransverseB,charsize=14pt]{}{=3}\hfill\ChoiceMenu[radio,name=TransverseB,charsize=14pt]{}{=2}\hfill\ChoiceMenu[radio,name=TransverseB,charsize=14pt]{}{=1}\hfill\ChoiceMenu[radio,name=TransverseB,charsize=14pt]{}{=0}\hspace{2mm}

\vspace{.2em}

\noindent Autonomie \hfill Aucune initiative personnelle

\vspace{.25em}
\hspace{-1.7cm} AUT
\noindent\hspace{2mm}\ChoiceMenu[radio,name=TransverseC,charsize=14pt]{}{=4}\hfill\ChoiceMenu[radio,name=TransverseC,charsize=14pt]{}{=3}\hfill\ChoiceMenu[radio,name=TransverseC,charsize=14pt]{}{=2}\hfill\ChoiceMenu[radio,name=TransverseC,charsize=14pt]{}{=1}\hfill\ChoiceMenu[radio,name=TransverseC,charsize=14pt]{}{=0}\hspace{2mm}


\vspace{-.5em}

\noindent\dotfill

\vspace{.3em}

\TextField[name=note,readonly=true]{Note : }\hfill
\PushButton[name=go,
onclick={var ca = this.getField("CoursA");var cb=this.getField("CoursB");
var ea=this.getField("ExoA");var eb=this.getField("ExoB");var ec=this.getField("ExoC");
var ta=this.getField("TransverseA");var tb=this.getField("TransverseB");var tc=this.getField("TransverseC");
% la note de cours a un coeff multiplicateur entre 0,7 et 1
% la note d'exo a un coeff multiplicateur entre 0,4 et 1
% la note transversal a un coeff multiplicateur entre 0,5 et 1
var tempo=((parseInt(ca.value)+parseInt(cb.value))/8*8/20) + ((parseInt(ea.value)+parseInt(eb.value)+parseInt(ec.value))/12*9/20)+((parseInt(ta.value)+parseInt(tb.value)+parseInt(tc.value))/12*3/20);
var note=this.getField("note");note.value=Math.round(tempo*40)/2
}
]{Cliquez ici pour calculer};

\vspace{.3em}

\noindent\dotfill

\noindent\hfill\PushButton[name=signature,
onclick={if (this.getField("classe").value=="oups") {
this.getField("nomA").readonly=false;this.getField("date").readonly=false;this.getField("semaine").readonly=false;this.getField("groupe").readonly=false;
this.getField("CoursA").readonly=false;this.getField("CoursB").readonly=false;
this.getField("ExoA").readonly=false;this.getField("ExoB").readonly=false;this.getField("ExoC").readonly=false;
this.getField("TransverseA").readonly=false;this.getField("TransverseB").readonly=false;this.getField("TransverseC").readonly=false;
}
else {
this.getField("nomA").readonly=true;this.getField("date").readonly=true;this.getField("semaine").readonly=true;this.getField("groupe").readonly=true;
this.getField("CoursA").readonly=true;this.getField("CoursB").readonly=true;
this.getField("ExoA").readonly=true;this.getField("ExoB").readonly=true;this.getField("ExoC").readonly=true;
this.getField("TransverseA").readonly=true;this.getField("TransverseB").readonly=true;this.getField("TransverseC").readonly=true;
}
}
]{Verrouiller};

\hfill~

%\lfoot{\TextField[name=nomA,width=6cm,readonly=true]{}}

\end{Form}
\shorthandon{;}


\end{document}
projetmbc
Utilisateur chevronné
Utilisateur chevronné
Messages : 1969
Inscription : samedi 29 décembre 2007, 00:58

Re: Pdf modifiable Form Nan

Message non lu par projetmbc »

Merci beaucoup pour ce partage.