summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/pdf-forms-tutorial-de/forms-src/fde0012.tex
blob: 2472a89e00a76154c4f3efc25cebdf48428e7694 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
Um auf Document-Events zu reagieren, muss dem \textsc{pdf}-Katalog
ein /AA-Eintrag hinzugefügt werden. Als Wert hat dieser Eintrag
einen Verweis auf ein Dictionary, das für verschiedene Document-Events
die Event-Handler definiert.\\
Die Einträge in diesem Dictionary bestehen aus je einem Key, der ein
Event repräsentiert und einem Dictionary mit der Beschreibung für 
die auszuführende Aktion.\\
Folgende Keys können auftreten:\\[0.5em]
\begin{tabular}{|r|l|}
\hline
&\\*[-0.9em]\multicolumn{1}{|c|}{\textbf{Key}}&\multicolumn{1}{c|}{\textbf{Bedeutung}}\\
\hline
&\\*[-0.9em]/WP&Das Dokument soll gedruckt werden.\\
\hline
&\\*[-0.9em]/DP&Das Dokument wurde gedruckt.\\
\hline
&\\*[-0.9em]/WS&Das Dokument soll gespeichert werden.\\
\hline
&\\*[-0.9em]/DS&Das Dokument wurde gespeichert.\\
\hline
&\\*[-0.9em]/DC&Das Dokument soll geschlossen werden.\\
\hline
\end{tabular}\\[0.5em]
Im Beispiel wird für das WillPrint-Event
die Funktion \textit{willPrint();\/} aufgerufen und für das DidPrint-Event
die Funktion \textit{didPrint();\/}.
\begin{lstlisting}
\immediate\pdfobj{
<<
  /WP << /S /JavaScript /JS (willPrint();) >>
  /DP << /S /JavaScript /JS (didPrint();) >>
>>
}
\pdfcatalog{/AA \the\pdflastobj\space 0 R}
\end{lstlisting}
In ex0008.pdf wird vor und nach dem Drucken eine Message-Box angezeigt.
\lstinputlisting{../examples/ex0008.tex}
In ex0009.pdf wird vor und nach dem Drucken die Umrandungs- und Füllfarbe
geändert sowie der Textfont.
Hierzu werden die Attribute \textit{fillColor\/}, \textit{strokeColor\/}
und \textit{textFont\/} geändert. Damit nicht nach jeder einzelnen Änderung
ein Bildschirm-Refresh erfolgt, werden die Änderungen in
\begin{lstlisting}
  this.delay = true
  // ...
  this.delay = false
\end{lstlisting}
gekapselt. Dies schiebt den Bildschirm-Refresh solange auf, bis
alle Änderungen vorgenommen wurden.

In \textit{myFirstJavaScriptFunction()\/} werden für die Auswahllisten
\textit{abt\/} und \textit{zeit\/} mit
\begin{lstlisting}
this.getField("abt").currentValueIndices = 0;
this.getField("zeit").currentValueIndices = 0;
\end{lstlisting}
Standardeinträge vorgewählt.\\
Mit
\begin{lstlisting}
this.getField("vorname").setFocus();
\end{lstlisting}
erhält das Eingabefeld \textit{vorname\/} den Fokus (d.\,h. der
Cursor wird in dieses Eingabefeld platziert und das Eingabefeld
erhält die Tastatureingaben).
\lstinputlisting{../examples/ex0009.tex}