summaryrefslogtreecommitdiff
path: root/info/pdf-forms-tutorial/de
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /info/pdf-forms-tutorial/de
Initial commit
Diffstat (limited to 'info/pdf-forms-tutorial/de')
-rw-r--r--info/pdf-forms-tutorial/de/examples/Makefile21
-rw-r--r--info/pdf-forms-tutorial/de/examples/ex0001.tex40
-rw-r--r--info/pdf-forms-tutorial/de/examples/ex0002.tex55
-rw-r--r--info/pdf-forms-tutorial/de/examples/ex0003.tex56
-rw-r--r--info/pdf-forms-tutorial/de/examples/ex0004.tex60
-rw-r--r--info/pdf-forms-tutorial/de/examples/ex0005.tex71
-rw-r--r--info/pdf-forms-tutorial/de/examples/ex0006.tex87
-rw-r--r--info/pdf-forms-tutorial/de/examples/ex0007.tex86
-rw-r--r--info/pdf-forms-tutorial/de/examples/ex0008.tex103
-rw-r--r--info/pdf-forms-tutorial/de/examples/ex0009.tex174
-rw-r--r--info/pdf-forms-tutorial/de/examples/ex0010.tex193
-rw-r--r--info/pdf-forms-tutorial/de/examples/ex0011.tex194
-rw-r--r--info/pdf-forms-tutorial/de/examples/ex0012.tex236
-rw-r--r--info/pdf-forms-tutorial/de/examples/ex0013.tex204
-rw-r--r--info/pdf-forms-tutorial/de/examples/ex0101.tex259
-rw-r--r--info/pdf-forms-tutorial/de/examples/ex0201.tex107
-rw-r--r--info/pdf-forms-tutorial/de/examples/ex0202.tex114
-rw-r--r--info/pdf-forms-tutorial/de/examples/ex0301.tex60
-rw-r--r--info/pdf-forms-tutorial/de/forms-src/Makefile34
-rw-r--r--info/pdf-forms-tutorial/de/forms-src/bib.bib29
-rw-r--r--info/pdf-forms-tutorial/de/forms-src/fde0001.tex47
-rw-r--r--info/pdf-forms-tutorial/de/forms-src/fde0002.tex28
-rw-r--r--info/pdf-forms-tutorial/de/forms-src/fde0003.tex67
-rw-r--r--info/pdf-forms-tutorial/de/forms-src/fde0004.tex53
-rw-r--r--info/pdf-forms-tutorial/de/forms-src/fde0005.tex13
-rw-r--r--info/pdf-forms-tutorial/de/forms-src/fde0006.tex22
-rw-r--r--info/pdf-forms-tutorial/de/forms-src/fde0007.tex10
-rw-r--r--info/pdf-forms-tutorial/de/forms-src/fde0008.tex21
-rw-r--r--info/pdf-forms-tutorial/de/forms-src/fde0009.tex17
-rw-r--r--info/pdf-forms-tutorial/de/forms-src/fde0010.tex7
-rw-r--r--info/pdf-forms-tutorial/de/forms-src/fde0011.tex48
-rw-r--r--info/pdf-forms-tutorial/de/forms-src/fde0012.tex65
-rw-r--r--info/pdf-forms-tutorial/de/forms-src/fde0013.tex20
-rw-r--r--info/pdf-forms-tutorial/de/forms-src/fde0014.tex13
-rw-r--r--info/pdf-forms-tutorial/de/forms-src/fde0015.tex9
-rw-r--r--info/pdf-forms-tutorial/de/forms-src/fde0016.tex32
-rw-r--r--info/pdf-forms-tutorial/de/forms-src/fde0017.tex7
-rw-r--r--info/pdf-forms-tutorial/de/forms-src/fde0018.tex28
-rw-r--r--info/pdf-forms-tutorial/de/forms-src/fde0019.tex42
-rw-r--r--info/pdf-forms-tutorial/de/forms-src/fde0020.tex45
-rw-r--r--info/pdf-forms-tutorial/de/forms-src/fde0021.tex22
-rw-r--r--info/pdf-forms-tutorial/de/forms-src/fde0022.tex24
-rw-r--r--info/pdf-forms-tutorial/de/forms-src/fde0023.tex12
-rw-r--r--info/pdf-forms-tutorial/de/forms-src/forms.tex104
-rw-r--r--info/pdf-forms-tutorial/de/forms.pdfbin0 -> 476015 bytes
45 files changed, 2939 insertions, 0 deletions
diff --git a/info/pdf-forms-tutorial/de/examples/Makefile b/info/pdf-forms-tutorial/de/examples/Makefile
new file mode 100644
index 0000000000..4cddc10f89
--- /dev/null
+++ b/info/pdf-forms-tutorial/de/examples/Makefile
@@ -0,0 +1,21 @@
+
+ALLFORMS1= ex0001.pdf ex0002.pdf ex0003.pdf ex0004.pdf ex0005.pdf ex0006.pdf
+ALLFORMS2= ex0007.pdf ex0008.pdf ex0009.pdf ex0010.pdf ex0011.pdf ex0101.pdf
+ALLFORMS3= ex0201.pdf ex0301.pdf ex0012.pdf ex0013.pdf
+ALLFORMS= $(ALLFORMS1) $(ALLFORMS2) $(ALLFORMS3)
+
+all: allforms
+
+allforms: $(ALLFORMS)
+
+.SUFFIXES:
+
+.SUFFIXES: .pdf .tex
+
+.tex.pdf:
+ pdflatex $*
+ pdflatex $*
+ pdflatex $*
+
+clean:
+ -rm -fr *.bbl *.blg *.out *.djs ex0*.pdf ex0*.aux ex0*.log
diff --git a/info/pdf-forms-tutorial/de/examples/ex0001.tex b/info/pdf-forms-tutorial/de/examples/ex0001.tex
new file mode 100644
index 0000000000..b79208a898
--- /dev/null
+++ b/info/pdf-forms-tutorial/de/examples/ex0001.tex
@@ -0,0 +1,40 @@
+\documentclass[ngerman,a4paper]{scrartcl}
+\usepackage[latin1]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{textcomp}
+\usepackage{mathptmx}
+\usepackage[scaled=.92]{helvet}
+\usepackage{courier}
+\renewcommand*{\familydefault}{phv}
+\usepackage[left=25mm,top=25mm,bottom=10mm,right=10mm]{geometry}
+\usepackage{fancyhdr}
+\lhead{Firma ABC}\chead{}\rhead{Abteilung XYZ}
+\lfoot{}\cfoot{}\rfoot{}
+\pagestyle{fancy}
+\usepackage{graphicx}
+\usepackage{color}
+\usepackage[
+ pdftex,a4paper=true,colorlinks=true,
+ pdftitle={Formular für Schlüsselausgabe},pdfsubject={Zugang},
+ pdfauthor={ich},pdfpagemode=UseNone,pdfstartview=FitH,
+ pagebackref,pdfhighlight={/N}
+]{hyperref}
+\begin{document}
+\section*{Anforderung eines Gruppenschlüssels}
+\begin{Form}
+\textbf{Mitarbeiter}\\
+Vorname: \TextField[name=vorname]{}\\
+Name: \TextField[name=name]{}\\
+Abteilung: \ChoiceMenu[name=abt]{}{%
+Verkauf=v,Fertigung=f,Service=s}\\
+\textbf{Zeitdauer}\\
+Zeitraum: \ChoiceMenu[name=zeit]{}{%
+befristet=b,unbefristet=u}\\
+von: \TextField[name=von]{}\\
+bis: \TextField[name=bis]{}\\
+\textbf{Zu schlie"sende Türen}\\
+Haustür: \CheckBox[name=ht]{}\\
+Etage 1: \CheckBox[name=e1]{}\\
+Etage 2: \CheckBox[name=e2]{}\\
+\end{Form}
+\end{document}
diff --git a/info/pdf-forms-tutorial/de/examples/ex0002.tex b/info/pdf-forms-tutorial/de/examples/ex0002.tex
new file mode 100644
index 0000000000..51cc2bcc37
--- /dev/null
+++ b/info/pdf-forms-tutorial/de/examples/ex0002.tex
@@ -0,0 +1,55 @@
+\documentclass[ngerman,a4paper]{scrartcl}
+\usepackage[latin1]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{textcomp}
+\usepackage{mathptmx}
+\usepackage[scaled=.92]{helvet}
+\usepackage{courier}
+\renewcommand*{\familydefault}{phv}
+\usepackage[left=25mm,top=25mm,bottom=10mm,right=10mm]{geometry}
+\usepackage{fancyhdr}
+\lhead{Firma ABC}\chead{}\rhead{Abteilung XYZ}
+\lfoot{}\cfoot{}\rfoot{}
+\pagestyle{fancy}
+\usepackage{graphicx}
+\usepackage{color}
+\usepackage[
+ pdftex,a4paper=true,colorlinks=true,
+ pdftitle={Formular für Schlüsselausgabe},pdfsubject={Zugang},
+ pdfauthor={ich},pdfpagemode=UseNone,pdfstartview=FitH,
+ pagebackref,pdfhighlight={/N}
+]{hyperref}
+\begin{document}
+\section*{Anforderung eines Gruppenschlüssels}
+\begin{Form}
+\begin{tabular}{|rl|}
+\hline
+&\\*[-0.9em]\multicolumn{2}{|c|}{\textbf{Mitarbeiter}}\\
+Vorname:&%
+\TextField[name=vorname]{}\\
+Name:&%
+\TextField[name=name]{}\\
+Abteilung:&%
+\ChoiceMenu[name=abt]{}{%
+Verkauf=v,Fertigung=f,Service=s}\\
+\hline
+&\\*[-0.9em]\multicolumn{2}{|c|}{\textbf{Zeitdauer}}\\
+Zeitraum:&%
+\ChoiceMenu[name=zeit]{}{%
+befristet=b,unbefristet=u}\\
+von:&%
+\TextField[name=von]{}\\
+bis:&%
+\TextField[name=bis]{}\\
+\hline
+&\\*[-0.9em]\multicolumn{2}{|c|}{\textbf{Zu schließende Türen}}\\
+Haustür:&%
+\CheckBox[name=ht,width=1.2em]{}\\
+Etage 1:&%
+\CheckBox[name=e1,width=1.2em]{}\\
+Etage 2:&%
+\CheckBox[name=e2,width=1.2em]{}\\
+\hline
+\end{tabular}
+\end{Form}
+\end{document}
diff --git a/info/pdf-forms-tutorial/de/examples/ex0003.tex b/info/pdf-forms-tutorial/de/examples/ex0003.tex
new file mode 100644
index 0000000000..ccbd394160
--- /dev/null
+++ b/info/pdf-forms-tutorial/de/examples/ex0003.tex
@@ -0,0 +1,56 @@
+\documentclass[ngerman,a4paper]{scrartcl}
+\usepackage[latin1]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{textcomp}
+\usepackage{mathptmx}
+\usepackage[scaled=.92]{helvet}
+\usepackage{courier}
+\renewcommand*{\familydefault}{phv}
+\usepackage[left=25mm,top=25mm,bottom=10mm,right=10mm]{geometry}
+\usepackage{fancyhdr}
+\lhead{Firma ABC}\chead{}\rhead{Abteilung XYZ}
+\lfoot{}\cfoot{}\rfoot{}
+\pagestyle{fancy}
+\usepackage{graphicx}
+\usepackage{color}
+\usepackage[
+ pdftex,a4paper=true,colorlinks=true,
+ pdftitle={Formular für Schlüsselausgabe},pdfsubject={Zugang},
+ pdfauthor={ich},pdfpagemode=UseNone,pdfstartview=FitH,
+ pagebackref,pdfhighlight={/N}
+]{hyperref}
+\begin{document}
+\section*{Anforderung eines Gruppenschlüssels}
+\begin{Form}
+\begin{tabular}{|rl|}
+\hline
+&\\*[-0.9em]\multicolumn{2}{|c|}{\textbf{Mitarbeiter}}\\
+&\\*[-0.9em]Vorname:&%
+\TextField[name=vorname,width=20em]{}\\
+&\\*[-0.9em]Name:&%
+\TextField[name=name,width=20em]{}\\
+&\\*[-0.9em]Abteilung:&%
+\ChoiceMenu[{}={},name=abt,width=20em,popdown=true]{}{%
+Verkauf=v,Fertigung=f,Service=s}\\
+&\\*[-0.9em]\hline
+&\\*[-0.9em]\multicolumn{2}{|c|}{\textbf{Zeitdauer}}\\
+&\\*[-0.9em]Zeitraum:&%
+\ChoiceMenu[name=zeit,width=20em,popdown=true]{}{%
+befristet=b,unbefristet=u}\\
+&\\*[-0.9em]von:&%
+\TextField[name=von,width=10em]{}\\
+&\\*[-0.9em]bis:&%
+\TextField[name=bis,width=10em]{}\\
+&\\*[-0.9em]\hline
+&\\*[-0.9em]\multicolumn{2}{|c|}{\textbf{Zu schließende Türen}}\\
+&\\*[-0.9em]Haustür:&%
+\CheckBox[name=ht,width=1.2em]{}\\
+&\\*[-0.9em]Etage 1:&%
+\CheckBox[name=e1,width=1.2em]{}\\
+&\\*[-0.9em]Etage 2:&%
+\CheckBox[name=e2,width=1.2em]{}\\
+&\\
+\hline
+\end{tabular}
+\end{Form}
+\end{document}
diff --git a/info/pdf-forms-tutorial/de/examples/ex0004.tex b/info/pdf-forms-tutorial/de/examples/ex0004.tex
new file mode 100644
index 0000000000..99963b31aa
--- /dev/null
+++ b/info/pdf-forms-tutorial/de/examples/ex0004.tex
@@ -0,0 +1,60 @@
+\documentclass[ngerman,a4paper]{scrartcl}
+\usepackage[latin1]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{textcomp}
+\usepackage{mathptmx}
+\usepackage[scaled=.92]{helvet}
+\usepackage{courier}
+\renewcommand*{\familydefault}{phv}
+\usepackage[left=25mm,top=25mm,bottom=10mm,right=10mm]{geometry}
+\usepackage{fancyhdr}
+\lhead{Firma ABC}\chead{}\rhead{Abteilung XYZ}
+\lfoot{}\cfoot{}\rfoot{}
+\pagestyle{fancy}
+\usepackage{graphicx}
+\usepackage{color}
+\usepackage[
+ pdftex,a4paper=true,colorlinks=true,
+ pdftitle={Formular für Schlüsselausgabe},pdfsubject={Zugang},
+ pdfauthor={ich},pdfpagemode=UseNone,pdfstartview=FitH,
+ pagebackref,pdfhighlight={/N}
+]{hyperref}
+\newcommand{\textforlabel}[2]{%
+\TextField[name={#1},value={#2},width=7em,%
+align=2,bordercolor={1 1 1},readonly=true]{}%
+}
+\begin{document}
+\section*{Anforderung eines Gruppenschlüssels}
+\begin{Form}
+\begin{tabular}{|rl|}
+\hline
+&\\*[-0.9em]\multicolumn{2}{|c|}{\textbf{Mitarbeiter}}\\
+&\\*[-0.9em]\textforlabel{vn}{Vorname:}&%
+\TextField[name=vorname,width=20em]{}\\
+&\\*[-0.9em]\textforlabel{nn}{Name:}&%
+\TextField[name=name,width=20em]{}\\
+&\\*[-0.9em]\textforlabel{ab}{Abteilung:}&%
+\ChoiceMenu[name=abt,width=20em,popdown=true,value=v]{}{%
+Verkauf=v,Fertigung=f,Service=s}\\
+&\\*[-0.9em]\hline
+&\\*[-0.9em]\multicolumn{2}{|c|}{\textbf{Zeitdauer}}\\
+&\\*[-0.9em]\textforlabel{z}{Zeitraum:}&%
+\ChoiceMenu[name=zeit,width=20em,popdown=true,value=u]{}{%
+unbefristet=u,befristet=b}\\
+&\\*[-0.9em]\textforlabel{v}{von:}&%
+\TextField[name=von,width=10em]{}\\
+&\\*[-0.9em]\textforlabel{b}{bis:}&%
+\TextField[name=bis,width=10em]{}\\
+&\\*[-0.9em]\hline
+&\\*[-0.9em]\multicolumn{2}{|c|}{\textbf{Zu schließende Türen}}\\
+&\\*[-0.9em]\textforlabel{th}{Haustür:}&%
+\CheckBox[name=ht,width=1.2em]{}\\
+&\\*[-0.9em]\textforlabel{t1}{Etage 1:}&%
+\CheckBox[name=e1,width=1.2em]{}\\
+&\\*[-0.9em]\textforlabel{t2}{Etage 2:}&%
+\CheckBox[name=e2,width=1.2em]{}\\
+&\\
+\hline
+\end{tabular}
+\end{Form}
+\end{document}
diff --git a/info/pdf-forms-tutorial/de/examples/ex0005.tex b/info/pdf-forms-tutorial/de/examples/ex0005.tex
new file mode 100644
index 0000000000..07ec65d509
--- /dev/null
+++ b/info/pdf-forms-tutorial/de/examples/ex0005.tex
@@ -0,0 +1,71 @@
+\documentclass[ngerman,a4paper]{scrartcl}
+\usepackage[latin1]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{textcomp}
+\usepackage{mathptmx}
+\usepackage[scaled=.92]{helvet}
+\usepackage{courier}
+\renewcommand*{\familydefault}{phv}
+\usepackage[left=25mm,top=25mm,bottom=10mm,right=10mm]{geometry}
+\usepackage{fancyhdr}
+\lhead{Firma ABC}\chead{}\rhead{Abteilung XYZ}
+\lfoot{}\cfoot{}\rfoot{}
+\pagestyle{fancy}
+\usepackage{graphicx}
+\usepackage{color}
+\usepackage[
+ pdftex,a4paper=true,colorlinks=true,
+ pdftitle={Formular für Schlüsselausgabe},pdfsubject={Zugang},
+ pdfauthor={ich},
+ pdfpagemode=UseNone,pdfstartview=FitH,
+ pagebackref,pdfhighlight={/N}
+]{hyperref}
+\newcommand{\textforlabel}[2]{%
+\TextField[name={#1},value={#2},width=7em,align=2,%
+bordercolor={1 1 1},readonly=true]{}%
+}
+\begin{document}
+\section*{Anforderung eines Gruppenschlüssels}
+\begin{Form}
+\begin{tabular}{|rl|}
+\hline
+&\\*[-0.9em]\multicolumn{2}{|c|}{\textbf{Mitarbeiter}}\\
+&\\*[-0.9em]\textforlabel{vn}{Vorname:}&%
+\TextField[name=vorname,width=20em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\textforlabel{nn}{Name:}&%
+\TextField[name=name,width=20em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\textforlabel{ab}{Abteilung:}&%
+\ChoiceMenu[name=abt,width=20em,popdown=true,value=v,%
+bordercolor={0.65 0.79 0.94}]{}{%
+Verkauf=v,Fertigung=f,Service=s}\\
+&\\*[-0.9em]\hline
+&\\*[-0.9em]\multicolumn{2}{|c|}{\textbf{Zeitdauer}}\\
+&\\*[-0.9em]\textforlabel{z}{Zeitraum:}&%
+\ChoiceMenu[name=zeit,width=20em,popdown=true,value=u,%
+bordercolor={0.65 0.79 0.94}]{}{%
+unbefristet=u,befristet=b}\\
+&\\*[-0.9em]\textforlabel{v}{von:}&%
+\TextField[name=von,width=10em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\textforlabel{b}{bis:}&%
+\TextField[name=bis,width=10em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\hline
+&\\*[-0.9em]\multicolumn{2}{|c|}{%
+\textbf{Zu schließende Türen}}\\
+&\\*[-0.9em]\textforlabel{th}{Haustür:}&%
+\CheckBox[name=ht,width=1.2em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\textforlabel{t1}{Etage 1:}&%
+\CheckBox[name=e1,width=1.2em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\textforlabel{t2}{Etage 2:}&%
+\CheckBox[name=e2,width=1.2em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\
+\hline
+\end{tabular}
+\end{Form}
+\end{document}
diff --git a/info/pdf-forms-tutorial/de/examples/ex0006.tex b/info/pdf-forms-tutorial/de/examples/ex0006.tex
new file mode 100644
index 0000000000..ff006a9e84
--- /dev/null
+++ b/info/pdf-forms-tutorial/de/examples/ex0006.tex
@@ -0,0 +1,87 @@
+\documentclass[ngerman,a4paper]{scrartcl}
+\usepackage[latin1]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{textcomp}
+\usepackage{mathptmx}
+\usepackage[scaled=.92]{helvet}
+\usepackage{courier}
+\renewcommand*{\familydefault}{phv}
+\usepackage[left=25mm,top=25mm,bottom=10mm,right=10mm]{geometry}
+\usepackage{fancyhdr}
+\lhead{Firma ABC}\chead{}\rhead{Abteilung XYZ}
+\lfoot{}\cfoot{}\rfoot{}
+\pagestyle{fancy}
+\usepackage{graphicx}
+\usepackage{color}
+\usepackage[
+ pdftex,a4paper=true,colorlinks=true,
+ pdftitle={Formular für Schlüsselausgabe},pdfsubject={Zugang},
+ pdfauthor={ich},
+ pdfpagemode=UseNone,pdfstartview=FitH,
+ pagebackref,pdfhighlight={/N}
+]{hyperref}
+\usepackage[pdftex]{insdljs}
+\begin{insDLJS}[exaaaa]{exaaaa}{JavaScript auf Document Level}
+
+// indicate that the function was not yet run
+var done = 0;
+
+// function to run when opening the document
+function myFirstJavaScriptFunction()
+{
+ if(!done) {
+ done = 1;
+ app.alert("Das Formular wurde geöffnet.");
+ }
+}
+\end{insDLJS}
+\OpenAction{/S /JavaScript /JS (myFirstJavaScriptFunction();)}
+\newcommand{\textforlabel}[2]{%
+\TextField[name={#1},value={#2},width=7em,align=2,%
+bordercolor={1 1 1},readonly=true]{}%
+}
+\begin{document}
+\section*{Anforderung eines Gruppenschlüssels}
+\begin{Form}
+\begin{tabular}{|rl|}
+\hline
+&\\*[-0.9em]\multicolumn{2}{|c|}{\textbf{Mitarbeiter}}\\
+&\\*[-0.9em]\textforlabel{vn}{Vorname:}&%
+\TextField[name=vorname,width=20em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\textforlabel{nn}{Name:}&%
+\TextField[name=name,width=20em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\textforlabel{ab}{Abteilung:}&%
+\ChoiceMenu[name=abt,width=20em,popdown=true,value=v,%
+bordercolor={0.65 0.79 0.94}]{}{%
+Verkauf=v,Fertigung=f,Service=s}\\
+&\\*[-0.9em]\hline
+&\\*[-0.9em]\multicolumn{2}{|c|}{\textbf{Zeitdauer}}\\
+&\\*[-0.9em]\textforlabel{z}{Zeitraum:}&%
+\ChoiceMenu[name=zeit,width=20em,popdown=true,value=u,%
+bordercolor={0.65 0.79 0.94}]{}{%
+unbefristet=u,befristet=b}\\
+&\\*[-0.9em]\textforlabel{v}{von:}&%
+\TextField[name=von,width=10em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\textforlabel{b}{bis:}&%
+\TextField[name=bis,width=10em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\hline
+&\\*[-0.9em]\multicolumn{2}{|c|}{\textbf{%
+Zu schließende Türen}}\\
+&\\*[-0.9em]\textforlabel{th}{Haustür:}&%
+\CheckBox[name=ht,width=1.2em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\textforlabel{t1}{Etage 1:}&%
+\CheckBox[name=e1,width=1.2em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\textforlabel{t2}{Etage 2:}&%
+\CheckBox[name=e2,width=1.2em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\
+\hline
+\end{tabular}
+\end{Form}
+\end{document}
diff --git a/info/pdf-forms-tutorial/de/examples/ex0007.tex b/info/pdf-forms-tutorial/de/examples/ex0007.tex
new file mode 100644
index 0000000000..88532ab517
--- /dev/null
+++ b/info/pdf-forms-tutorial/de/examples/ex0007.tex
@@ -0,0 +1,86 @@
+\documentclass[ngerman,a4paper]{scrartcl}
+\usepackage[T1]{fontenc}
+\usepackage{textcomp}
+\usepackage{mathptmx}
+\usepackage[scaled=.92]{helvet}
+\usepackage{courier}
+\renewcommand*{\familydefault}{phv}
+\usepackage[left=25mm,top=25mm,bottom=10mm,right=10mm]{geometry}
+\usepackage{fancyhdr}
+\lhead{Firma ABC}\chead{}\rhead{Abteilung XYZ}
+\lfoot{}\cfoot{}\rfoot{}
+\pagestyle{fancy}
+\usepackage{graphicx}
+\usepackage{color}
+\usepackage[
+ pdftex,a4paper=true,colorlinks=true,
+ pdftitle={Formular für Schlüsselausgabe},pdfsubject={Zugang},
+ pdfauthor={ich},
+ pdfpagemode=UseNone,pdfstartview=FitH,
+ pagebackref,pdfhighlight={/N}
+]{hyperref}
+\usepackage[pdftex]{insdljs}
+\begin{insDLJS}[exaaab]{exaaab}{JavaScript auf Document Level}
+
+// indicate that the function was not yet run
+var done = 0;
+
+// function to run when opening the document
+function myFirstJavaScriptFunction()
+{
+ if(!done) {
+ done = 1;
+ app.alert("Das Formular wurde geöffnet.");
+ }
+}
+\end{insDLJS}
+\OpenAction{/S /JavaScript /JS (myFirstJavaScriptFunction();)}
+\newcommand{\textforlabel}[2]{%
+\TextField[name={#1},value={#2},width=7em,align=2,%
+bordercolor={1 1 1},readonly=true]{}%
+}
+\begin{document}
+\section*{Anforderung eines Gruppenschl\"{u}ssels}
+\begin{Form}
+\begin{tabular}{|rl|}
+\hline
+&\\*[-0.9em]\multicolumn{2}{|c|}{\textbf{Mitarbeiter}}\\
+&\\*[-0.9em]\textforlabel{vn}{Vorname:}&%
+\TextField[name=vorname,width=20em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\textforlabel{nn}{Name:}&%
+\TextField[name=name,width=20em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\textforlabel{ab}{Abteilung:}&%
+\ChoiceMenu[name=abt,width=20em,popdown=true,value=v,%
+bordercolor={0.65 0.79 0.94}]{}{%
+Verkauf=v,Fertigung=f,Service=s}\\
+&\\*[-0.9em]\hline
+&\\*[-0.9em]\multicolumn{2}{|c|}{\textbf{Zeitdauer}}\\
+&\\*[-0.9em]\textforlabel{z}{Zeitraum:}&%
+\ChoiceMenu[name=zeit,width=20em,popdown=true,value=u,%
+bordercolor={0.65 0.79 0.94}]{}{%
+unbefristet=u,befristet=b}\\
+&\\*[-0.9em]\textforlabel{v}{von:}&%
+\TextField[name=von,width=10em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\textforlabel{b}{bis:}&%
+\TextField[name=bis,width=10em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\hline
+&\\*[-0.9em]\multicolumn{2}{|c|}{%
+\textbf{Zu schlie\ss{}ende T\"{u}ren}}\\
+&\\*[-0.9em]\textforlabel{th}{Haust\"{u}r:}&%
+\CheckBox[name=ht,width=1.2em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\textforlabel{t1}{Etage 1:}&%
+\CheckBox[name=e1,width=1.2em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\textforlabel{t2}{Etage 2:}&%
+\CheckBox[name=e2,width=1.2em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\
+\hline
+\end{tabular}
+\end{Form}
+\end{document}
diff --git a/info/pdf-forms-tutorial/de/examples/ex0008.tex b/info/pdf-forms-tutorial/de/examples/ex0008.tex
new file mode 100644
index 0000000000..078bb5add8
--- /dev/null
+++ b/info/pdf-forms-tutorial/de/examples/ex0008.tex
@@ -0,0 +1,103 @@
+\documentclass[ngerman,a4paper]{scrartcl}
+\usepackage[T1]{fontenc}
+\usepackage{textcomp}
+\usepackage{mathptmx}
+\usepackage[scaled=.92]{helvet}
+\usepackage{courier}
+\renewcommand*{\familydefault}{phv}
+\usepackage[left=25mm,top=25mm,bottom=10mm,right=10mm]{geometry}
+\usepackage{fancyhdr}
+\lhead{Firma ABC}\chead{}\rhead{Abteilung XYZ}
+\lfoot{}\cfoot{}\rfoot{}
+\pagestyle{fancy}
+\usepackage{graphicx}
+\usepackage{color}
+\usepackage[
+ pdftex,a4paper=true,colorlinks=true,
+ pdftitle={Formular für Schlüsselausgabe},pdfsubject={Zugang},
+ pdfauthor={ich},
+ pdfpagemode=UseNone,pdfstartview=FitH,
+ pagebackref,pdfhighlight={/N}
+]{hyperref}
+\usepackage[pdftex]{insdljs}
+\immediate\pdfobj {
+<<
+ /WP << /S /JavaScript /JS (willPrint();) >>
+ /DP << /S /JavaScript /JS (didPrint();) >>
+>>
+}
+\pdfcatalog{/AA \the\pdflastobj\space 0 R}
+\begin{insDLJS}[exaaac]{exaaac}{JavaScript auf Document Level}
+
+// indicate that the function was not yet run
+var done = 0;
+
+function willPrint()
+{
+ app.alert("Gleich wird gedruckt.");
+}
+
+function didPrint()
+{
+ app.alert("Es wurde gedruckt.");
+}
+
+// function to run when opening the document
+function myFirstJavaScriptFunction()
+{
+ if(!done) {
+ done = 1;
+ app.alert("Das Formular wurde geöffnet.");
+ }
+}
+\end{insDLJS}
+\OpenAction{/S /JavaScript /JS (myFirstJavaScriptFunction();)}
+\newcommand{\textforlabel}[2]{%
+\TextField[name={#1},value={#2},width=7em,align=2,%
+bordercolor={1 1 1},readonly=true]{}%
+}
+\begin{document}
+\section*{Anforderung eines Gruppenschl\"{u}ssels}
+\begin{Form}
+\begin{tabular}{|rl|}
+\hline
+&\\*[-0.9em]\multicolumn{2}{|c|}{\textbf{Mitarbeiter}}\\
+&\\*[-0.9em]\textforlabel{vn}{Vorname:}&%
+\TextField[name=vorname,width=20em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\textforlabel{nn}{Name:}&%
+\TextField[name=name,width=20em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\textforlabel{ab}{Abteilung:}&%
+\ChoiceMenu[name=abt,width=20em,popdown=true,value=v,%
+bordercolor={0.65 0.79 0.94}]{}{%
+Verkauf=v,Fertigung=f,Service=s}\\
+&\\*[-0.9em]\hline
+&\\*[-0.9em]\multicolumn{2}{|c|}{\textbf{Zeitdauer}}\\
+&\\*[-0.9em]\textforlabel{z}{Zeitraum:}&%
+\ChoiceMenu[name=zeit,width=20em,popdown=true,value=u,%
+bordercolor={0.65 0.79 0.94}]{}{%
+unbefristet=u,befristet=b}\\
+&\\*[-0.9em]\textforlabel{v}{von:}&%
+\TextField[name=von,width=10em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\textforlabel{b}{bis:}&%
+\TextField[name=bis,width=10em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\hline
+&\\*[-0.9em]\multicolumn{2}{|c|}{%
+\textbf{Zu schlie\ss{}ende T\"{u}ren}}\\
+&\\*[-0.9em]\textforlabel{th}{Haust\"{u}r:}&%
+\CheckBox[name=ht,width=1.2em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\textforlabel{t1}{Etage 1:}&%
+\CheckBox[name=e1,width=1.2em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\textforlabel{t2}{Etage 2:}&%
+\CheckBox[name=e2,width=1.2em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\
+\hline
+\end{tabular}
+\end{Form}
+\end{document}
diff --git a/info/pdf-forms-tutorial/de/examples/ex0009.tex b/info/pdf-forms-tutorial/de/examples/ex0009.tex
new file mode 100644
index 0000000000..4be6b064d0
--- /dev/null
+++ b/info/pdf-forms-tutorial/de/examples/ex0009.tex
@@ -0,0 +1,174 @@
+\documentclass[ngerman,a4paper]{scrartcl}
+\usepackage[T1]{fontenc}
+\usepackage{textcomp}
+\usepackage{mathptmx}
+\usepackage[scaled=.92]{helvet}
+\usepackage{courier}
+\renewcommand*{\familydefault}{phv}
+\usepackage[left=25mm,top=25mm,bottom=10mm,right=10mm]{geometry}
+\usepackage{fancyhdr}
+\lhead{Firma ABC}\chead{}\rhead{Abteilung XYZ}
+\lfoot{}\cfoot{}\rfoot{}
+\pagestyle{fancy}
+\usepackage{graphicx}
+\usepackage{color}
+\usepackage[
+ pdftex,a4paper=true,colorlinks=true,
+ pdftitle={Formular für Schlüsselausgabe},pdfsubject={Zugang},
+ pdfauthor={ich},
+ pdfpagemode=UseNone,pdfstartview=FitH,
+ pagebackref,pdfhighlight={/N}
+]{hyperref}
+\usepackage[pdftex]{insdljs}
+\immediate\pdfobj {
+<<
+ /WP << /S /JavaScript /JS (willPrint();) >>
+ /DP << /S /JavaScript /JS (didPrint();) >>
+>>
+}
+\pdfcatalog{/AA \the\pdflastobj\space 0 R}
+\begin{insDLJS}[exaaad]{exaaad}{JavaScript auf Document Level}
+
+// indicate that the function was not yet run
+var done = 0;
+
+function colorsPrinting()
+{
+ this.getField("vorname").fillColor = color.white;
+ this.getField("name").fillColor = color.white;
+ this.getField("abt").fillColor = color.white;
+ this.getField("zeit").fillColor = color.white;
+ this.getField("von").fillColor = color.white;
+ this.getField("bis").fillColor = color.white;
+ this.getField("ht").fillColor = color.white;
+ this.getField("e1").fillColor = color.white;
+ this.getField("e2").fillColor = color.white;
+
+ this.getField("vorname").strokeColor = color.black;
+ this.getField("name").strokeColor = color.black;
+ this.getField("abt").strokeColor = color.black;
+ this.getField("zeit").strokeColor = color.black;
+ this.getField("von").strokeColor = color.black;
+ this.getField("bis").strokeColor = color.black;
+ this.getField("ht").strokeColor = color.black;
+ this.getField("e1").strokeColor = color.black;
+ this.getField("e2").strokeColor = color.black;
+
+ this.getField("vorname").textFont = font.Helv;
+ this.getField("name").textFont = font.Helv;
+ this.getField("abt").textFont = font.Helv;
+ this.getField("zeit").textFont = font.Helv;
+ this.getField("von").textFont = font.Helv;
+ this.getField("bis").textFont = font.Helv;
+}
+
+function colorsScreen()
+{
+
+ var newcolor = [ "RGB", 0.65, 0.79, 0.94];
+ this.getField("vorname").fillColor = newcolor;
+ this.getField("name").fillColor = newcolor;
+ this.getField("abt").fillColor = newcolor;
+ this.getField("zeit").fillColor = newcolor;
+ this.getField("von").fillColor = newcolor;
+ this.getField("bis").fillColor = newcolor;
+ this.getField("ht").fillColor = newcolor;
+ this.getField("e1").fillColor = newcolor;
+ this.getField("e2").fillColor = newcolor;
+
+ this.getField("vorname").strokeColor = newcolor;
+ this.getField("name").strokeColor = newcolor;
+ this.getField("abt").strokeColor = newcolor;
+ this.getField("zeit").strokeColor = newcolor;
+ this.getField("von").strokeColor = newcolor;
+ this.getField("bis").strokeColor = newcolor;
+ this.getField("ht").strokeColor = newcolor;
+ this.getField("e1").strokeColor = newcolor;
+ this.getField("e2").strokeColor = newcolor;
+
+ this.getField("vorname").textFont = font.HelvB;
+ this.getField("name").textFont = font.HelvB;
+ this.getField("abt").textFont = font.HelvB;
+ this.getField("zeit").textFont = font.HelvB;
+ this.getField("von").textFont = font.HelvB;
+ this.getField("bis").textFont = font.HelvB;
+}
+
+function willPrint()
+{
+ this.delay = true;
+ colorsPrinting();
+ this.delay = false;
+}
+
+function didPrint()
+{
+ this.delay = true;
+ colorsScreen();
+ this.delay = false;
+}
+
+// function to run when opening the document
+function myFirstJavaScriptFunction()
+{
+ if(!done) {
+ done = 1;
+ this.delay = true;
+ colorsScreen();
+ this.getField("abt").currentValueIndices = 0;
+ this.getField("zeit").currentValueIndices = 0;
+ this.getField("vorname").setFocus();
+ this.delay = false;
+ }
+}
+\end{insDLJS}
+\OpenAction{/S /JavaScript /JS (myFirstJavaScriptFunction();)}
+\newcommand{\textforlabel}[2]{%
+\TextField[name={#1},value={#2},width=7em,align=2,%
+bordercolor={1 1 1},readonly=true]{}%
+}
+\begin{document}
+\section*{Anforderung eines Gruppenschl\"{u}ssels}
+\begin{Form}
+\begin{tabular}{|rl|}
+\hline
+&\\*[-0.9em]\multicolumn{2}{|c|}{\textbf{Mitarbeiter}}\\
+&\\*[-0.9em]\textforlabel{vn}{Vorname:}&%
+\TextField[name=vorname,width=20em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\textforlabel{nn}{Name:}&%
+\TextField[name=name,width=20em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\textforlabel{ab}{Abteilung:}&%
+\ChoiceMenu[name=abt,width=20em,popdown=true,value=v,%
+bordercolor={0.65 0.79 0.94}]{}{%
+Verkauf=v,Fertigung=f,Service=s}\\
+&\\*[-0.9em]\hline
+&\\*[-0.9em]\multicolumn{2}{|c|}{\textbf{Zeitdauer}}\\
+&\\*[-0.9em]\textforlabel{z}{Zeitraum:}&%
+\ChoiceMenu[name=zeit,width=20em,popdown=true,value=u,%
+bordercolor={0.65 0.79 0.94}]{}{%
+unbefristet=u,befristet=b}\\
+&\\*[-0.9em]\textforlabel{v}{von:}&%
+\TextField[name=von,width=10em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\textforlabel{b}{bis:}&%
+\TextField[name=bis,width=10em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\hline
+&\\*[-0.9em]\multicolumn{2}{|c|}{%
+\textbf{Zu schlie\ss{}ende T\"{u}ren}}\\
+&\\*[-0.9em]\textforlabel{th}{Haust\"{u}r:}&%
+\CheckBox[name=ht,width=1.2em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\textforlabel{t1}{Etage 1:}&%
+\CheckBox[name=e1,width=1.2em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\textforlabel{t2}{Etage 2:}&%
+\CheckBox[name=e2,width=1.2em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\
+\hline
+\end{tabular}
+\end{Form}
+\end{document}
diff --git a/info/pdf-forms-tutorial/de/examples/ex0010.tex b/info/pdf-forms-tutorial/de/examples/ex0010.tex
new file mode 100644
index 0000000000..9bdbfe2452
--- /dev/null
+++ b/info/pdf-forms-tutorial/de/examples/ex0010.tex
@@ -0,0 +1,193 @@
+\documentclass[ngerman,a4paper]{scrartcl}
+\usepackage[T1]{fontenc}
+\usepackage{textcomp}
+\usepackage{mathptmx}
+\usepackage[scaled=.92]{helvet}
+\usepackage{courier}
+\renewcommand*{\familydefault}{phv}
+\usepackage[left=25mm,top=25mm,bottom=10mm,right=10mm]{geometry}
+\usepackage{fancyhdr}
+\lhead{Firma ABC}\chead{}\rhead{Abteilung XYZ}
+\lfoot{}\cfoot{}\rfoot{}
+\pagestyle{fancy}
+\usepackage{graphicx}
+\usepackage{color}
+\usepackage[
+ pdftex,a4paper=true,colorlinks=true,
+ pdftitle={Formular für Schlüsselausgabe},pdfsubject={Zugang},
+ pdfauthor={ich},
+ pdfpagemode=UseNone,pdfstartview=FitH,
+ pagebackref,pdfhighlight={/N}
+]{hyperref}
+\usepackage[pdftex]{insdljs}
+\immediate\pdfobj {
+<<
+ /WP << /S /JavaScript /JS (willPrint();) >>
+ /DP << /S /JavaScript /JS (didPrint();) >>
+>>
+}
+\pdfcatalog{/AA \the\pdflastobj\space 0 R}
+\begin{insDLJS}[exaaae]{exaaae}{JavaScript auf Document Level}
+
+// indicate that the function was not yet run
+var done = 0;
+
+function colorsPrinting()
+{
+ this.getField("vorname").fillColor = color.white;
+ this.getField("name").fillColor = color.white;
+ this.getField("abt").fillColor = color.white;
+ this.getField("zeit").fillColor = color.white;
+ this.getField("von").fillColor = color.white;
+ this.getField("bis").fillColor = color.white;
+ this.getField("ht").fillColor = color.white;
+ this.getField("e1").fillColor = color.white;
+ this.getField("e2").fillColor = color.white;
+
+ this.getField("vorname").strokeColor = color.black;
+ this.getField("name").strokeColor = color.black;
+ this.getField("abt").strokeColor = color.black;
+ this.getField("zeit").strokeColor = color.black;
+ this.getField("von").strokeColor = color.black;
+ this.getField("bis").strokeColor = color.black;
+ this.getField("ht").strokeColor = color.black;
+ this.getField("e1").strokeColor = color.black;
+ this.getField("e2").strokeColor = color.black;
+
+ this.getField("vorname").textFont = font.Helv;
+ this.getField("name").textFont = font.Helv;
+ this.getField("abt").textFont = font.Helv;
+ this.getField("zeit").textFont = font.Helv;
+ this.getField("von").textFont = font.Helv;
+ this.getField("bis").textFont = font.Helv;
+ this.getField("von").textColor = color.black;
+ this.getField("bis").textColor = color.black;
+}
+
+function colorsScreen()
+{
+
+ var newcolor = [ "RGB", 0.65, 0.79, 0.94];
+ this.getField("vorname").fillColor = newcolor;
+ this.getField("name").fillColor = newcolor;
+ this.getField("abt").fillColor = newcolor;
+ this.getField("zeit").fillColor = newcolor;
+ this.getField("von").fillColor = newcolor;
+ this.getField("bis").fillColor = newcolor;
+ this.getField("ht").fillColor = newcolor;
+ this.getField("e1").fillColor = newcolor;
+ this.getField("e2").fillColor = newcolor;
+
+ this.getField("vorname").strokeColor = newcolor;
+ this.getField("name").strokeColor = newcolor;
+ this.getField("abt").strokeColor = newcolor;
+ this.getField("zeit").strokeColor = newcolor;
+ this.getField("von").strokeColor = newcolor;
+ this.getField("bis").strokeColor = newcolor;
+ this.getField("ht").strokeColor = newcolor;
+ this.getField("e1").strokeColor = newcolor;
+ this.getField("e2").strokeColor = newcolor;
+
+ this.getField("vorname").textFont = font.HelvB;
+ this.getField("name").textFont = font.HelvB;
+ this.getField("abt").textFont = font.HelvB;
+ this.getField("zeit").textFont = font.HelvB;
+ this.getField("von").textFont = font.HelvB;
+ this.getField("von").textColor = color.black;
+ this.getField("bis").textColor = color.black;
+ this.getField("bis").textFont = font.HelvB;
+}
+
+function validateTime()
+{
+ this.delay = true;
+ if((event.value == "u") || (event.value == "unbefristet")) {
+ this.getField("von").display = display.hidden;
+ this.getField("bis").display = display.hidden;
+ } else {
+ this.getField("von").display = display.visible;
+ this.getField("bis").display = display.visible;
+ this.getField("von").setFocus();
+ }
+ this.delay = false;
+}
+
+function willPrint()
+{
+ this.delay = true;
+ colorsPrinting();
+ this.delay = false;
+}
+
+function didPrint()
+{
+ this.delay = true;
+ colorsScreen();
+ this.delay = false;
+}
+
+// function to run when opening the document
+function myFirstJavaScriptFunction()
+{
+ if(!done) {
+ done = 1;
+ this.delay = true;
+ colorsScreen();
+ this.getField("abt").currentValueIndices = 0;
+ this.getField("zeit").currentValueIndices = 0;
+ this.getField("vorname").setFocus();
+ this.delay = false;
+ }
+}
+\end{insDLJS}
+\OpenAction{/S /JavaScript /JS (myFirstJavaScriptFunction();)}
+\newcommand{\textforlabel}[2]{%
+\TextField[name={#1},value={#2},width=7em,align=2,%
+bordercolor={1 1 1},readonly=true]{}%
+}
+\begin{document}
+\section*{Anforderung eines Gruppenschl\"{u}ssels}
+\begin{Form}
+\begin{tabular}{|rl|}
+\hline
+&\\*[-0.9em]\multicolumn{2}{|c|}{\textbf{Mitarbeiter}}\\
+&\\*[-0.9em]\textforlabel{vn}{Vorname:}&%
+\TextField[name=vorname,width=20em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\textforlabel{nn}{Name:}&%
+\TextField[name=name,width=20em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\textforlabel{ab}{Abteilung:}&%
+\ChoiceMenu[name=abt,width=20em,popdown=true,value=v,%
+bordercolor={0.65 0.79 0.94}]{}{%
+Verkauf=v,Fertigung=f,Service=s}\\
+&\\*[-0.9em]\hline
+&\\*[-0.9em]\multicolumn{2}{|c|}{\textbf{Zeitdauer}}\\
+&\\*[-0.9em]\textforlabel{z}{Zeitraum:}&%
+\ChoiceMenu[name=zeit,width=20em,popdown=true,value=u,%
+validate={validateTime();},%
+bordercolor={0.65 0.79 0.94}]{}{%
+unbefristet=u,befristet=b}\\
+&\\*[-0.9em]\textforlabel{v}{von:}&%
+\TextField[name=von,width=10em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\textforlabel{b}{bis:}&%
+\TextField[name=bis,width=10em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\hline
+&\\*[-0.9em]\multicolumn{2}{|c|}{%
+\textbf{Zu schlie\ss{}ende T\"{u}ren}}\\
+&\\*[-0.9em]\textforlabel{th}{Haust\"{u}r:}&%
+\CheckBox[name=ht,width=1.2em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\textforlabel{t1}{Etage 1:}&%
+\CheckBox[name=e1,width=1.2em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\textforlabel{t2}{Etage 2:}&%
+\CheckBox[name=e2,width=1.2em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\
+\hline
+\end{tabular}
+\end{Form}
+\end{document}
diff --git a/info/pdf-forms-tutorial/de/examples/ex0011.tex b/info/pdf-forms-tutorial/de/examples/ex0011.tex
new file mode 100644
index 0000000000..3ed89912e9
--- /dev/null
+++ b/info/pdf-forms-tutorial/de/examples/ex0011.tex
@@ -0,0 +1,194 @@
+\documentclass[ngerman,a4paper]{scrartcl}
+\usepackage[T1]{fontenc}
+\usepackage{textcomp}
+\usepackage{mathptmx}
+\usepackage[scaled=.92]{helvet}
+\usepackage{courier}
+\renewcommand*{\familydefault}{phv}
+\usepackage[left=25mm,top=25mm,bottom=10mm,right=10mm]{geometry}
+\usepackage{fancyhdr}
+\lhead{Firma ABC}\chead{}\rhead{Abteilung XYZ}
+\lfoot{}\cfoot{}\rfoot{}
+\pagestyle{fancy}
+\usepackage{graphicx}
+\usepackage{color}
+\usepackage[
+ pdftex,a4paper=true,colorlinks=true,
+ pdftitle={Formular für Schlüsselausgabe},pdfsubject={Zugang},
+ pdfauthor={ich},
+ pdfpagemode=UseNone,pdfstartview=FitH,
+ pagebackref,pdfhighlight={/N}
+]{hyperref}
+\usepackage[pdftex]{insdljs}
+\immediate\pdfobj {
+<<
+ /WP << /S /JavaScript /JS (willPrint();) >>
+ /DP << /S /JavaScript /JS (didPrint();) >>
+>>
+}
+\pdfcatalog{/AA \the\pdflastobj\space 0 R}
+\begin{insDLJS}[exaaae]{exaaae}{JavaScript auf Document Level}
+
+// indicate that the function was not yet run
+var done = 0;
+
+function colorsPrinting()
+{
+ this.getField("vorname").fillColor = color.white;
+ this.getField("name").fillColor = color.white;
+ this.getField("abt").fillColor = color.white;
+ this.getField("zeit").fillColor = color.white;
+ this.getField("von").fillColor = color.white;
+ this.getField("bis").fillColor = color.white;
+ this.getField("ht").fillColor = color.white;
+ this.getField("e1").fillColor = color.white;
+ this.getField("e2").fillColor = color.white;
+
+ this.getField("vorname").strokeColor = color.black;
+ this.getField("name").strokeColor = color.black;
+ this.getField("abt").strokeColor = color.black;
+ this.getField("zeit").strokeColor = color.black;
+ this.getField("von").strokeColor = color.black;
+ this.getField("bis").strokeColor = color.black;
+ this.getField("ht").strokeColor = color.black;
+ this.getField("e1").strokeColor = color.black;
+ this.getField("e2").strokeColor = color.black;
+
+ this.getField("vorname").textFont = font.Helv;
+ this.getField("name").textFont = font.Helv;
+ this.getField("abt").textFont = font.Helv;
+ this.getField("zeit").textFont = font.Helv;
+ this.getField("von").textFont = font.Helv;
+ this.getField("bis").textFont = font.Helv;
+ this.getField("von").textColor = color.black;
+ this.getField("bis").textColor = color.black;
+}
+
+function colorsScreen()
+{
+
+ var newcolor = [ "RGB", 0.65, 0.79, 0.94];
+ this.getField("vorname").fillColor = newcolor;
+ this.getField("name").fillColor = newcolor;
+ this.getField("abt").fillColor = newcolor;
+ this.getField("zeit").fillColor = newcolor;
+ this.getField("von").fillColor = newcolor;
+ this.getField("bis").fillColor = newcolor;
+ this.getField("ht").fillColor = newcolor;
+ this.getField("e1").fillColor = newcolor;
+ this.getField("e2").fillColor = newcolor;
+
+ this.getField("vorname").strokeColor = newcolor;
+ this.getField("name").strokeColor = newcolor;
+ this.getField("abt").strokeColor = newcolor;
+ this.getField("zeit").strokeColor = newcolor;
+ this.getField("von").strokeColor = newcolor;
+ this.getField("bis").strokeColor = newcolor;
+ this.getField("ht").strokeColor = newcolor;
+ this.getField("e1").strokeColor = newcolor;
+ this.getField("e2").strokeColor = newcolor;
+
+ this.getField("vorname").textFont = font.HelvB;
+ this.getField("name").textFont = font.HelvB;
+ this.getField("abt").textFont = font.HelvB;
+ this.getField("zeit").textFont = font.HelvB;
+ this.getField("von").textFont = font.HelvB;
+ this.getField("von").textColor = color.black;
+ this.getField("bis").textColor = color.black;
+ this.getField("bis").textFont = font.HelvB;
+}
+
+function validateTime()
+{
+ this.delay = true;
+ if((event.value == "u") || (event.value == "unbefristet")) {
+ this.getField("von").display = display.hidden;
+ this.getField("bis").display = display.hidden;
+ } else {
+ this.getField("von").display = display.visible;
+ this.getField("bis").display = display.visible;
+ this.getField("von").setFocus();
+ }
+ this.delay = false;
+}
+
+function willPrint()
+{
+ this.delay = true;
+ colorsPrinting();
+ this.delay = false;
+}
+
+function didPrint()
+{
+ this.delay = true;
+ colorsScreen();
+ this.delay = false;
+}
+
+// function to run when opening the document
+function myFirstJavaScriptFunction()
+{
+ if(!done) {
+ done = 1;
+ this.delay = true;
+ colorsScreen();
+ this.getField("abt").currentValueIndices = 0;
+ this.getField("abt").editable = true;
+ this.getField("zeit").currentValueIndices = 0;
+ this.getField("vorname").setFocus();
+ this.delay = false;
+ }
+}
+\end{insDLJS}
+\OpenAction{/S /JavaScript /JS (myFirstJavaScriptFunction();)}
+\newcommand{\textforlabel}[2]{%
+\TextField[name={#1},value={#2},width=7em,align=2,%
+bordercolor={1 1 1},readonly=true]{}%
+}
+\begin{document}
+\section*{Anforderung eines Gruppenschl\"{u}ssels}
+\begin{Form}
+\begin{tabular}{|rl|}
+\hline
+&\\*[-0.9em]\multicolumn{2}{|c|}{\textbf{Mitarbeiter}}\\
+&\\*[-0.9em]\textforlabel{vn}{Vorname:}&%
+\TextField[name=vorname,width=20em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\textforlabel{nn}{Name:}&%
+\TextField[name=name,width=20em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\textforlabel{ab}{Abteilung:}&%
+\ChoiceMenu[name=abt,width=20em,popdown=true,combo=true,value=v,%
+bordercolor={0.65 0.79 0.94}]{}{%
+Verkauf=v,Fertigung=f,Service=s}\\
+&\\*[-0.9em]\hline
+&\\*[-0.9em]\multicolumn{2}{|c|}{\textbf{Zeitdauer}}\\
+&\\*[-0.9em]\textforlabel{z}{Zeitraum:}&%
+\ChoiceMenu[name=zeit,width=20em,popdown=true,value=u,%
+validate={validateTime();},%
+bordercolor={0.65 0.79 0.94}]{}{%
+unbefristet=u,befristet=b}\\
+&\\*[-0.9em]\textforlabel{v}{von:}&%
+\TextField[name=von,width=10em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\textforlabel{b}{bis:}&%
+\TextField[name=bis,width=10em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\hline
+&\\*[-0.9em]\multicolumn{2}{|c|}{%
+\textbf{Zu schlie\ss{}ende T\"{u}ren}}\\
+&\\*[-0.9em]\textforlabel{th}{Haust\"{u}r:}&%
+\CheckBox[name=ht,width=1.2em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\textforlabel{t1}{Etage 1:}&%
+\CheckBox[name=e1,width=1.2em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\textforlabel{t2}{Etage 2:}&%
+\CheckBox[name=e2,width=1.2em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\
+\hline
+\end{tabular}
+\end{Form}
+\end{document}
diff --git a/info/pdf-forms-tutorial/de/examples/ex0012.tex b/info/pdf-forms-tutorial/de/examples/ex0012.tex
new file mode 100644
index 0000000000..d871e75931
--- /dev/null
+++ b/info/pdf-forms-tutorial/de/examples/ex0012.tex
@@ -0,0 +1,236 @@
+\documentclass[ngerman,a4paper]{scrartcl}
+\usepackage[T1]{fontenc}
+\usepackage{textcomp}
+\usepackage{mathptmx}
+\usepackage[scaled=.92]{helvet}
+\usepackage{courier}
+\renewcommand*{\familydefault}{phv}
+\usepackage[left=25mm,top=25mm,bottom=10mm,right=10mm]{geometry}
+\usepackage{fancyhdr}
+\lhead{Firma ABC}\chead{}\rhead{Abteilung XYZ}
+\lfoot{}\cfoot{}\rfoot{}
+\pagestyle{fancy}
+\usepackage{graphicx}
+\usepackage{color}
+\usepackage[
+ pdftex,a4paper=true,colorlinks=true,
+ pdftitle={Formular für Schlüsselausgabe},pdfsubject={Zugang},
+ pdfauthor={ich},
+ pdfpagemode=UseNone,pdfstartview=FitH,
+ pagebackref,pdfhighlight={/N}
+]{hyperref}
+\usepackage[pdftex]{insdljs}
+\immediate\pdfobj {
+<<
+ /WP << /S /JavaScript /JS (willPrint();) >>
+ /DP << /S /JavaScript /JS (didPrint();) >>
+>>
+}
+\pdfcatalog{/AA \the\pdflastobj\space 0 R}
+\begin{insDLJS}[exaaae]{exaaae}{JavaScript auf Document Level}
+
+// indicate that the function was not yet run
+var done = 0;
+
+function colorsPrinting()
+{
+ this.getField("vorname").fillColor = color.white;
+ this.getField("name").fillColor = color.white;
+ this.getField("abt").fillColor = color.white;
+ this.getField("zeit").fillColor = color.white;
+ this.getField("von").fillColor = color.white;
+ this.getField("bis").fillColor = color.white;
+ this.getField("ht").fillColor = color.white;
+ this.getField("e1").fillColor = color.white;
+ this.getField("e2").fillColor = color.white;
+
+ this.getField("vorname").strokeColor = color.black;
+ this.getField("name").strokeColor = color.black;
+ this.getField("abt").strokeColor = color.black;
+ this.getField("zeit").strokeColor = color.black;
+ this.getField("von").strokeColor = color.black;
+ this.getField("bis").strokeColor = color.black;
+ this.getField("ht").strokeColor = color.black;
+ this.getField("e1").strokeColor = color.black;
+ this.getField("e2").strokeColor = color.black;
+
+ this.getField("vorname").textFont = font.Helv;
+ this.getField("name").textFont = font.Helv;
+ this.getField("abt").textFont = font.Helv;
+ this.getField("zeit").textFont = font.Helv;
+ this.getField("von").textFont = font.Helv;
+ this.getField("bis").textFont = font.Helv;
+ this.getField("von").textColor = color.black;
+ this.getField("bis").textColor = color.black;
+}
+
+function colorsScreen()
+{
+
+ var newcolor = [ "RGB", 0.65, 0.79, 0.94];
+ this.getField("vorname").fillColor = newcolor;
+ this.getField("name").fillColor = newcolor;
+ this.getField("abt").fillColor = newcolor;
+ this.getField("zeit").fillColor = newcolor;
+ this.getField("von").fillColor = newcolor;
+ this.getField("bis").fillColor = newcolor;
+ this.getField("ht").fillColor = newcolor;
+ this.getField("e1").fillColor = newcolor;
+ this.getField("e2").fillColor = newcolor;
+
+ this.getField("vorname").strokeColor = newcolor;
+ this.getField("name").strokeColor = newcolor;
+ this.getField("abt").strokeColor = newcolor;
+ this.getField("zeit").strokeColor = newcolor;
+ this.getField("von").strokeColor = newcolor;
+ this.getField("bis").strokeColor = newcolor;
+ this.getField("ht").strokeColor = newcolor;
+ this.getField("e1").strokeColor = newcolor;
+ this.getField("e2").strokeColor = newcolor;
+
+ this.getField("vorname").textFont = font.HelvB;
+ this.getField("name").textFont = font.HelvB;
+ this.getField("abt").textFont = font.HelvB;
+ this.getField("zeit").textFont = font.HelvB;
+ this.getField("von").textFont = font.HelvB;
+ this.getField("von").textColor = color.black;
+ this.getField("bis").textColor = color.black;
+ this.getField("bis").textFont = font.HelvB;
+}
+
+function validateTime()
+{
+ this.delay = true;
+ if((event.value == "u") || (event.value == "unbefristet")) {
+ this.getField("von").display = display.hidden;
+ this.getField("bis").display = display.hidden;
+ } else {
+ this.getField("von").display = display.visible;
+ this.getField("bis").display = display.visible;
+ this.getField("von").setFocus();
+ }
+ this.delay = false;
+}
+
+function willPrint()
+{
+ this.delay = true;
+ colorsPrinting();
+ this.delay = false;
+}
+
+function didPrint()
+{
+ this.delay = true;
+ colorsScreen();
+ this.delay = false;
+}
+
+// function to run when opening the document
+function myFirstJavaScriptFunction()
+{
+ if(!done) {
+ done = 1;
+ this.delay = true;
+ colorsScreen();
+ this.getField("abt").currentValueIndices = 0;
+ this.getField("abt").editable = true;
+ this.getField("zeit").currentValueIndices = 0;
+ this.getField("vorname").setFocus();
+ this.delay = false;
+ }
+}
+\end{insDLJS}
+\OpenAction{/S /JavaScript /JS (myFirstJavaScriptFunction();)}
+\newcommand{\textforlabel}[2]{%
+\TextField[name={#1},value={#2},width=7em,align=2,%
+bordercolor={1 1 1},readonly=true]{}%
+}
+\begin{document}
+\section*{Anforderung eines Gruppenschl\"{u}ssels}
+\begin{Form}
+\begin{tabular}{|rl|}
+\hline
+&\\*[-0.9em]\multicolumn{2}{|c|}{\textbf{Mitarbeiter}}\\
+&\\*[-0.9em]\textforlabel{vn}{Vorname:}&%
+\TextField[name=vorname,width=20em,%
+bordercolor={0.65 0.79 0.94}]{}~\pdfannot width 20pt {
+ /Subtype /Text
+ /T (Vorname)
+ /C [0.65 0.79 0.94]
+ /Name /Help
+ /Contents (Bitte geben Sie Ihren Vornamen in das Textfeld ein.)
+}\(\qquad\qquad\)\\
+&\\*[-0.9em]\textforlabel{nn}{Name:}&%
+\TextField[name=name,width=20em,%
+bordercolor={0.65 0.79 0.94}]{}~\pdfannot width 20pt {
+ /Subtype /Text
+ /T (Name)
+ /C [0.65 0.79 0.94]
+ /Name /Help
+ /Contents (Bitte geben Sie Ihren Familiennamen in das Textfeld ein.)
+}\(\qquad\qquad\)\\
+&\\*[-0.9em]\textforlabel{ab}{Abteilung:}&%
+\ChoiceMenu[name=abt,width=20em,popdown=true,combo=true,value=v,%
+bordercolor={0.65 0.79 0.94}]{}{%
+Verkauf=v,Fertigung=f,Service=s}~\pdfannot width 20pt {
+ /Subtype /Text
+ /T (Abteilung)
+ /C [0.65 0.79 0.94]
+ /Name /Help
+ /Contents (Bitte wählen Sie Ihre Abteilung aus. Falls Ihre Abteilung noch nicht in der Liste enthalten isi, können Sie den Namen Ihrer Abteilung auch eingeben.)
+}\(\qquad\qquad\)\\
+&\\*[-0.9em]\hline
+&\\*[-0.9em]\multicolumn{2}{|c|}{\textbf{Zeitdauer}}\\
+&\\*[-0.9em]\textforlabel{z}{Zeitraum:}&%
+\ChoiceMenu[name=zeit,width=20em,popdown=true,value=u,%
+validate={validateTime();},%
+bordercolor={0.65 0.79 0.94}]{}{%
+unbefristet=u,befristet=b}~\pdfannot width 20pt {
+ /Subtype /Text
+ /T (Zeitraum)
+ /C [0.65 0.79 0.94]
+ /Name /Help
+ /Contents (Bitte wählen Sie aus, ob der Schlüssel befristet oder unbefristet ausgegeben werden soll. Für eine befristete Ausgabe müssen Beginn und Ende des Zeitraumes angegeben werden.)
+}\(\qquad\qquad\)\\
+&\\*[-0.9em]\textforlabel{v}{von:}&%
+\TextField[name=von,width=10em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\textforlabel{b}{bis:}&%
+\TextField[name=bis,width=10em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\hline
+&\\*[-0.9em]\multicolumn{2}{|c|}{%
+\textbf{Zu schlie\ss{}ende T\"{u}ren}}\\
+&\\*[-0.9em]\textforlabel{th}{Haust\"{u}r:}&%
+\CheckBox[name=ht,width=1.2em,%
+bordercolor={0.65 0.79 0.94}]{}~\pdfannot width 20pt {
+ /Subtype /Text
+ /T (Haustür)
+ /C [0.65 0.79 0.94]
+ /Name /Help
+ /Contents (Bitte aktivieren Sie diese Chechbox, um einen Haustürschlüssel zu erhalten.)
+}\(\qquad\qquad\)\\
+&\\*[-0.9em]\textforlabel{t1}{Etage 1:}&%
+\CheckBox[name=e1,width=1.2em,%
+bordercolor={0.65 0.79 0.94}]{}~\pdfannot width 20pt {
+ /Subtype /Text
+ /T (1. Etage)
+ /C [0.65 0.79 0.94]
+ /Name /Help
+ /Contents (Bitte aktivieren Sie diese Checkbox, um einen Schlüssel für die erste Etage zu erhalten.)
+}\(\qquad\qquad\)\\
+&\\*[-0.9em]\textforlabel{t2}{Etage 2:}&%
+\CheckBox[name=e2,width=1.2em,%
+bordercolor={0.65 0.79 0.94}]{}~\pdfannot width 20pt {
+ /Subtype /Text
+ /T (2. Etage)
+ /C [0.65 0.79 0.94]
+ /Name /Help
+ /Contents (Bitte aktivieren Sie diese Checkbox, um einen Schlüssel für die zweite Etage zu erhalten.)
+}\(\qquad\qquad\)\\
+&\\
+\hline
+\end{tabular}
+\end{Form}
+\end{document}
diff --git a/info/pdf-forms-tutorial/de/examples/ex0013.tex b/info/pdf-forms-tutorial/de/examples/ex0013.tex
new file mode 100644
index 0000000000..c8f5e9fd33
--- /dev/null
+++ b/info/pdf-forms-tutorial/de/examples/ex0013.tex
@@ -0,0 +1,204 @@
+\documentclass[ngerman,a4paper]{scrartcl}
+\usepackage[T1]{fontenc}
+\usepackage{textcomp}
+\usepackage{mathptmx}
+\usepackage[scaled=.92]{helvet}
+\usepackage{courier}
+\renewcommand*{\familydefault}{phv}
+\usepackage[left=25mm,top=25mm,bottom=10mm,right=10mm]{geometry}
+\usepackage{fancyhdr}
+\lhead{Firma ABC}\chead{}\rhead{Abteilung XYZ}
+\lfoot{}\cfoot{}\rfoot{}
+\pagestyle{fancy}
+\usepackage{graphicx}
+\usepackage{color}
+\usepackage[
+ pdftex,a4paper=true,colorlinks=true,
+ pdftitle={Formular für Schlüsselausgabe},pdfsubject={Zugang},
+ pdfauthor={ich},
+ pdfpagemode=UseNone,pdfstartview=FitH,
+ pagebackref,pdfhighlight={/N}
+]{hyperref}
+\usepackage[pdftex]{insdljs}
+\immediate\pdfobj {
+<<
+ /WP << /S /JavaScript /JS (willPrint();) >>
+ /DP << /S /JavaScript /JS (didPrint();) >>
+>>
+}
+\pdfcatalog{/AA \the\pdflastobj\space 0 R}
+\begin{insDLJS}[exaaae]{exaaae}{JavaScript auf Document Level}
+
+// indicate that the function was not yet run
+var done = 0;
+
+function colorsPrinting()
+{
+ this.getField("vorname").fillColor = color.white;
+ this.getField("name").fillColor = color.white;
+ this.getField("abt").fillColor = color.white;
+ this.getField("zeit").fillColor = color.white;
+ this.getField("von").fillColor = color.white;
+ this.getField("bis").fillColor = color.white;
+ this.getField("ht").fillColor = color.white;
+ this.getField("e1").fillColor = color.white;
+ this.getField("e2").fillColor = color.white;
+
+ this.getField("vorname").strokeColor = color.black;
+ this.getField("name").strokeColor = color.black;
+ this.getField("abt").strokeColor = color.black;
+ this.getField("zeit").strokeColor = color.black;
+ this.getField("von").strokeColor = color.black;
+ this.getField("bis").strokeColor = color.black;
+ this.getField("ht").strokeColor = color.black;
+ this.getField("e1").strokeColor = color.black;
+ this.getField("e2").strokeColor = color.black;
+
+ this.getField("vorname").textFont = font.Helv;
+ this.getField("name").textFont = font.Helv;
+ this.getField("abt").textFont = font.Helv;
+ this.getField("zeit").textFont = font.Helv;
+ this.getField("von").textFont = font.Helv;
+ this.getField("bis").textFont = font.Helv;
+ this.getField("von").textColor = color.black;
+ this.getField("bis").textColor = color.black;
+}
+
+function colorsScreen()
+{
+
+ var newcolor = [ "RGB", 0.65, 0.79, 0.94];
+ this.getField("vorname").fillColor = newcolor;
+ this.getField("name").fillColor = newcolor;
+ this.getField("abt").fillColor = newcolor;
+ this.getField("zeit").fillColor = newcolor;
+ this.getField("von").fillColor = newcolor;
+ this.getField("bis").fillColor = newcolor;
+ this.getField("ht").fillColor = newcolor;
+ this.getField("e1").fillColor = newcolor;
+ this.getField("e2").fillColor = newcolor;
+
+ this.getField("vorname").strokeColor = newcolor;
+ this.getField("name").strokeColor = newcolor;
+ this.getField("abt").strokeColor = newcolor;
+ this.getField("zeit").strokeColor = newcolor;
+ this.getField("von").strokeColor = newcolor;
+ this.getField("bis").strokeColor = newcolor;
+ this.getField("ht").strokeColor = newcolor;
+ this.getField("e1").strokeColor = newcolor;
+ this.getField("e2").strokeColor = newcolor;
+
+ this.getField("vorname").textFont = font.HelvB;
+ this.getField("name").textFont = font.HelvB;
+ this.getField("abt").textFont = font.HelvB;
+ this.getField("zeit").textFont = font.HelvB;
+ this.getField("von").textFont = font.HelvB;
+ this.getField("von").textColor = color.black;
+ this.getField("bis").textColor = color.black;
+ this.getField("bis").textFont = font.HelvB;
+}
+
+function validateTime()
+{
+ this.delay = true;
+ if((event.value == "u") || (event.value == "unbefristet")) {
+ this.getField("von").display = display.hidden;
+ this.getField("bis").display = display.hidden;
+ } else {
+ this.getField("von").display = display.visible;
+ this.getField("bis").display = display.visible;
+ this.getField("von").setFocus();
+ }
+ this.delay = false;
+}
+
+function willPrint()
+{
+ this.delay = true;
+ colorsPrinting();
+ this.delay = false;
+}
+
+function didPrint()
+{
+ this.delay = true;
+ colorsScreen();
+ this.delay = false;
+}
+
+// function to run when opening the document
+function myFirstJavaScriptFunction()
+{
+ if(!done) {
+ done = 1;
+ this.delay = true;
+ colorsScreen();
+ this.getField("abt").currentValueIndices = 0;
+ this.getField("abt").editable = true;
+ this.getField("zeit").currentValueIndices = 0;
+ this.getField("vorname").setFocus();
+
+ this.getField("vorname").userName = "Bitte geben Sie Ihren Vornamen ein.";
+ this.getField("name").userName = "Bitte geben Sie Ihren Familiennamen ein.";
+ this.getField("abt").userName = "Bitte w\u00E4hlen Sie Ihre Abteilung aus bzw. geben Sie den Abteilungsnamen ein, falls er noch nicht in der Liste enthalten ist";
+ this.getField("zeit").userName = "Bitte w\u00E4hlen Sie, ob die Schl\u00FCsselausgabe befristet oder unbefristet erfolgen soll.";
+ this.getField("von").userName = "Bitte geben Sie den Beginn des Zeitraumes an.";
+ this.getField("bis").userName = "Bitte geben Sie das Ende des Zeitraumes an.";
+ this.getField("ht").userName = "Bitte aktivieren Sie diese Checkbox, um einen Schl\u00FCssel f\u00FCr die Haust\u00FCr zu erhalten.";
+ this.getField("e1").userName = "Bitte aktivieren Sie diese Checkbox, um einen Schl\u00FCssel f\u00FCr die erste Etage zu erhalten.";
+ this.getField("e2").userName = "Bitte aktivieren Sie diese Checkbox, um einen Schl\u00FCssel f\u00FCr die zweite Etage zu erhalten.";
+ this.delay = false;
+ }
+}
+\end{insDLJS}
+\OpenAction{/S /JavaScript /JS (myFirstJavaScriptFunction();)}
+\newcommand{\textforlabel}[2]{%
+\TextField[name={#1},value={#2},width=7em,align=2,%
+bordercolor={1 1 1},readonly=true]{}%
+}
+\begin{document}
+\section*{Anforderung eines Gruppenschl\"{u}ssels}
+\begin{Form}
+\begin{tabular}{|rl|}
+\hline
+&\\*[-0.9em]\multicolumn{2}{|c|}{\textbf{Mitarbeiter}}\\
+&\\*[-0.9em]\textforlabel{vn}{Vorname:}&%
+\TextField[name=vorname,width=20em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\textforlabel{nn}{Name:}&%
+\TextField[name=name,width=20em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\textforlabel{ab}{Abteilung:}&%
+\ChoiceMenu[name=abt,width=20em,popdown=true,combo=true,value=v,%
+bordercolor={0.65 0.79 0.94}]{}{%
+Verkauf=v,Fertigung=f,Service=s}\\
+&\\*[-0.9em]\hline
+&\\*[-0.9em]\multicolumn{2}{|c|}{\textbf{Zeitdauer}}\\
+&\\*[-0.9em]\textforlabel{z}{Zeitraum:}&%
+\ChoiceMenu[name=zeit,width=20em,popdown=true,value=u,%
+validate={validateTime();},%
+bordercolor={0.65 0.79 0.94}]{}{%
+unbefristet=u,befristet=b}\\
+&\\*[-0.9em]\textforlabel{v}{von:}&%
+\TextField[name=von,width=10em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\textforlabel{b}{bis:}&%
+\TextField[name=bis,width=10em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\hline
+&\\*[-0.9em]\multicolumn{2}{|c|}{%
+\textbf{Zu schlie\ss{}ende T\"{u}ren}}\\
+&\\*[-0.9em]\textforlabel{th}{Haust\"{u}r:}&%
+\CheckBox[name=ht,width=1.2em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\textforlabel{t1}{Etage 1:}&%
+\CheckBox[name=e1,width=1.2em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\textforlabel{t2}{Etage 2:}&%
+\CheckBox[name=e2,width=1.2em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\
+\hline
+\end{tabular}
+\end{Form}
+\end{document}
diff --git a/info/pdf-forms-tutorial/de/examples/ex0101.tex b/info/pdf-forms-tutorial/de/examples/ex0101.tex
new file mode 100644
index 0000000000..52004303d4
--- /dev/null
+++ b/info/pdf-forms-tutorial/de/examples/ex0101.tex
@@ -0,0 +1,259 @@
+\documentclass[ngerman,a4paper]{scrartcl}
+\usepackage[T1]{fontenc}
+\usepackage{textcomp}
+\usepackage{mathptmx}
+\usepackage[scaled=.92]{helvet}
+\usepackage{courier}
+\renewcommand*{\familydefault}{phv}
+\usepackage[left=25mm,top=25mm,bottom=10mm,right=10mm]{geometry}
+\usepackage{fancyhdr}
+\lhead{Firma ABC}\chead{}\rhead{Abteilung XYZ}
+\lfoot{}\cfoot{}\rfoot{}
+\pagestyle{fancy}
+\usepackage{graphicx}
+\usepackage{color}
+\usepackage[
+ pdftex,a4paper=true,colorlinks=true,
+ pdftitle={Formular für Software},pdfsubject={Software},
+ pdfauthor={ich},
+ pdfpagemode=UseNone,pdfstartview=FitH,
+ pagebackref,pdfhighlight={/N}
+]{hyperref}
+\usepackage[pdftex]{insdljs}
+\immediate\pdfobj {
+<<
+ /WP << /S /JavaScript /JS (willPrint();) >>
+ /DP << /S /JavaScript /JS (didPrint();) >>
+>>
+}
+\pdfcatalog{/AA \the\pdflastobj\space 0 R}
+\begin{insDLJS}[exaaba]{exaaba}{JavaScript auf Document Level}
+
+// indicate that the function was not yet run
+var done = 0;
+
+function colorsPrinting()
+{
+ this.getField("vorname").fillColor = color.white;
+ this.getField("vorname").strokeColor = color.black;
+ this.getField("vorname").textFont = font.Helv;
+ this.getField("name").fillColor = color.white;
+ this.getField("name").strokeColor = color.black;
+ this.getField("name").textFont = font.Helv;
+ this.getField("inventory").fillColor = color.white;
+ this.getField("inventory").strokeColor = color.black;
+ this.getField("inventory").textFont = font.Helv;
+ this.getField("sw01").fillColor = color.white;
+ this.getField("sw01").strokeColor = color.black;
+ this.getField("sw01").textFont = font.Helv;
+ this.getField("sw02").fillColor = color.white;
+ this.getField("sw02").strokeColor = color.black;
+ this.getField("sw02").textFont = font.Helv;
+ this.getField("sw03").fillColor = color.white;
+ this.getField("sw03").strokeColor = color.black;
+ this.getField("sw03").textFont = font.Helv;
+ this.getField("sw04").fillColor = color.white;
+ this.getField("sw04").strokeColor = color.black;
+ this.getField("sw04").textFont = font.Helv;
+ this.getField("sw05").fillColor = color.white;
+ this.getField("sw05").strokeColor = color.black;
+ this.getField("sw05").textFont = font.Helv;
+ this.getField("sw06").fillColor = color.white;
+ this.getField("sw06").strokeColor = color.black;
+ this.getField("sw06").textFont = font.Helv;
+ this.getField("sw07").fillColor = color.white;
+ this.getField("sw07").strokeColor = color.black;
+ this.getField("sw07").textFont = font.Helv;
+ this.getField("sw08").fillColor = color.white;
+ this.getField("sw08").strokeColor = color.black;
+ this.getField("sw08").textFont = font.Helv;
+ this.getField("sw09").fillColor = color.white;
+ this.getField("sw09").strokeColor = color.black;
+ this.getField("sw09").textFont = font.Helv;
+ this.getField("sw10").fillColor = color.white;
+ this.getField("sw10").strokeColor = color.black;
+ this.getField("sw10").textFont = font.Helv;
+}
+
+function colorsScreen()
+{
+
+ var newcolor = [ "RGB", 0.65, 0.79, 0.94];
+ this.getField("vorname").fillColor = newcolor;
+ this.getField("vorname").strokeColor = newcolor;
+ this.getField("vorname").textFont = font.HelvB;
+ this.getField("name").fillColor = newcolor;
+ this.getField("name").strokeColor = newcolor;
+ this.getField("name").textFont = font.HelvB;
+ this.getField("inventory").fillColor = newcolor;
+ this.getField("inventory").strokeColor = newcolor;
+ this.getField("inventory").textFont = font.HelvB;
+ this.getField("sw01").fillColor = newcolor;
+ this.getField("sw01").strokeColor = newcolor;
+ this.getField("sw01").textFont = font.HelvB;
+ this.getField("sw02").fillColor = newcolor;
+ this.getField("sw02").strokeColor = newcolor;
+ this.getField("sw02").textFont = font.HelvB;
+ this.getField("sw03").fillColor = newcolor;
+ this.getField("sw03").strokeColor = newcolor;
+ this.getField("sw03").textFont = font.HelvB;
+ this.getField("sw04").fillColor = newcolor;
+ this.getField("sw04").strokeColor = newcolor;
+ this.getField("sw04").textFont = font.HelvB;
+ this.getField("sw05").fillColor = newcolor;
+ this.getField("sw05").strokeColor = newcolor;
+ this.getField("sw05").textFont = font.HelvB;
+ this.getField("sw06").fillColor = newcolor;
+ this.getField("sw06").strokeColor = newcolor;
+ this.getField("sw06").textFont = font.HelvB;
+ this.getField("sw07").fillColor = newcolor;
+ this.getField("sw07").strokeColor = newcolor;
+ this.getField("sw07").textFont = font.HelvB;
+ this.getField("sw08").fillColor = newcolor;
+ this.getField("sw08").strokeColor = newcolor;
+ this.getField("sw08").textFont = font.HelvB;
+ this.getField("sw09").fillColor = newcolor;
+ this.getField("sw09").strokeColor = newcolor;
+ this.getField("sw09").textFont = font.HelvB;
+ this.getField("sw10").fillColor = newcolor;
+ this.getField("sw10").strokeColor = newcolor;
+ this.getField("sw10").textFont = font.HelvB;
+}
+
+function willPrint()
+{
+ this.delay = true;
+ colorsPrinting();
+ this.delay = false;
+}
+
+function didPrint()
+{
+ this.delay = true;
+ colorsScreen();
+ this.delay = false;
+}
+
+var softwareAuswahl = [
+ [ "", ""],
+ [ "Betriebssystem", "os" ],
+ [ "Textverarbeitung", "tp" ],
+ [ "Tabellenkalkulation", "sc" ],
+ [ "Präsentationsprogramm", "pp" ],
+ [ "E-Mail-Client", "mc" ],
+ [ "Web browser", "wb" ],
+ [ "Mathematik-Software", "ms" ],
+ [ "PDF-Anzeigeprogramm", "pv" ]
+];
+
+// function to run when opening the document
+function myFirstJavaScriptFunction()
+{
+ if(!done) {
+ done = 1;
+ this.delay = true;
+ colorsScreen();
+ this.getField("sw01").setItems(softwareAuswahl);
+ this.getField("sw01").currentValueIndices = 0;
+ this.getField("sw01").editable = true;
+ this.getField("sw02").setItems(softwareAuswahl);
+ this.getField("sw02").currentValueIndices = 0;
+ this.getField("sw02").editable = true;
+ this.getField("sw03").setItems(softwareAuswahl);
+ this.getField("sw03").currentValueIndices = 0;
+ this.getField("sw03").editable = true;
+ this.getField("sw04").setItems(softwareAuswahl);
+ this.getField("sw04").currentValueIndices = 0;
+ this.getField("sw04").editable = true;
+ this.getField("sw05").setItems(softwareAuswahl);
+ this.getField("sw05").currentValueIndices = 0;
+ this.getField("sw05").editable = true;
+ this.getField("sw06").setItems(softwareAuswahl);
+ this.getField("sw06").currentValueIndices = 0;
+ this.getField("sw06").editable = true;
+ this.getField("sw07").setItems(softwareAuswahl);
+ this.getField("sw07").currentValueIndices = 0;
+ this.getField("sw07").editable = true;
+ this.getField("sw08").setItems(softwareAuswahl);
+ this.getField("sw08").currentValueIndices = 0;
+ this.getField("sw08").editable = true;
+ this.getField("sw09").setItems(softwareAuswahl);
+ this.getField("sw09").currentValueIndices = 0;
+ this.getField("sw09").editable = true;
+ this.getField("sw10").setItems(softwareAuswahl);
+ this.getField("sw10").currentValueIndices = 0;
+ this.getField("sw10").editable = true;
+ this.getField("vorname").setFocus();
+ this.delay = false;
+ }
+}
+\end{insDLJS}
+\OpenAction{/S /JavaScript /JS (myFirstJavaScriptFunction();)}
+\newcommand{\textforlabel}[2]{%
+\TextField[name={#1},value={#2},width=9em,align=2,%
+bordercolor={1 1 1},readonly=true]{}%
+}
+\begin{document}
+\section*{Anforderung von Software-Lizenzen und -installationen}
+\begin{Form}
+\begin{tabular}{|rr|}
+\hline
+\multicolumn{2}{|c|}{}\\*[-0.9em]
+\multicolumn{2}{|c|}{\textbf{Systemverantwortlicher}}\\
+&\\*[-0.9em]\textforlabel{l01}{Vorname:}&\TextField[%
+name=vorname,width=20em,bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\textforlabel{l02}{Name:}&\TextField[%
+name=name,width=20em,bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\hline
+\multicolumn{2}{|c|}{}\\*[-0.9em]
+\multicolumn{2}{|c|}{\textbf{PC}}\\
+&\\*[-0.9em]\textforlabel{l03}{Inventarnummer:}%
+&\TextField[name=inventory,width=20em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\hline
+\multicolumn{2}{|c|}{}\\*[-0.9em]
+\multicolumn{2}{|c|}{\textbf{Ben\"{o}tigte Software}}\\
+\multicolumn{2}{|c|}{}\\*[-0.9em]
+\multicolumn{2}{|r|}{\ChoiceMenu[name=sw01,width=30em,%
+popdown=true,combo=true,value={},%
+bordercolor={0.65 0.79 0.94}]{}{}}\\
+\multicolumn{2}{|c|}{}\\*[-0.9em]
+\multicolumn{2}{|r|}{\ChoiceMenu[name=sw02,width=30em,%
+popdown=true,combo=true,value={},%
+bordercolor={0.65 0.79 0.94}]{}{}}\\
+\multicolumn{2}{|c|}{}\\*[-0.9em]
+\multicolumn{2}{|r|}{\ChoiceMenu[name=sw03,width=30em,%
+popdown=true,combo=true,value={},%
+bordercolor={0.65 0.79 0.94}]{}{}}\\
+\multicolumn{2}{|c|}{}\\*[-0.9em]
+\multicolumn{2}{|r|}{\ChoiceMenu[name=sw04,width=30em,%
+popdown=true,combo=true,value={},%
+bordercolor={0.65 0.79 0.94}]{}{}}\\
+\multicolumn{2}{|c|}{}\\*[-0.9em]
+\multicolumn{2}{|r|}{\ChoiceMenu[name=sw05,width=30em,%
+popdown=true,combo=true,value={},%
+bordercolor={0.65 0.79 0.94}]{}{}}\\
+\multicolumn{2}{|c|}{}\\*[-0.9em]
+\multicolumn{2}{|r|}{\ChoiceMenu[name=sw06,width=30em,%
+popdown=true,combo=true,value={},%
+bordercolor={0.65 0.79 0.94}]{}{}}\\
+\multicolumn{2}{|c|}{}\\*[-0.9em]
+\multicolumn{2}{|r|}{\ChoiceMenu[name=sw07,width=30em,%
+popdown=true,combo=true,value={},%
+bordercolor={0.65 0.79 0.94}]{}{}}\\
+\multicolumn{2}{|c|}{}\\*[-0.9em]
+\multicolumn{2}{|r|}{\ChoiceMenu[name=sw08,width=30em,%
+popdown=true,combo=true,value={},%
+bordercolor={0.65 0.79 0.94}]{}{}}\\
+\multicolumn{2}{|c|}{}\\*[-0.9em]
+\multicolumn{2}{|r|}{\ChoiceMenu[name=sw09,width=30em,%
+popdown=true,combo=true,value={},%
+bordercolor={0.65 0.79 0.94}]{}{}}\\
+\multicolumn{2}{|c|}{}\\*[-0.9em]
+\multicolumn{2}{|r|}{\ChoiceMenu[name=sw10,width=30em,%
+popdown=true,combo=true,value={},%
+bordercolor={0.65 0.79 0.94}]{}{}}\\
+\multicolumn{2}{|c|}{~}\\*\hline
+\end{tabular}
+\end{Form}
+\end{document}
diff --git a/info/pdf-forms-tutorial/de/examples/ex0201.tex b/info/pdf-forms-tutorial/de/examples/ex0201.tex
new file mode 100644
index 0000000000..06cb9eb0fa
--- /dev/null
+++ b/info/pdf-forms-tutorial/de/examples/ex0201.tex
@@ -0,0 +1,107 @@
+\documentclass{scrartcl}
+\setcounter{secnumdepth}{0}
+\usepackage[T1]{fontenc}
+\usepackage{textcomp}
+\usepackage{mathptmx}
+\usepackage[scaled=.92]{helvet}
+\usepackage{courier}
+\setlength{\paperwidth}{5.2075in}
+\setlength{\paperheight}{3.75in}
+\renewcommand*{\familydefault}{phv}
+\usepackage[pdftex,margin=0.5in]{geometry}
+\usepackage{fancyhdr}
+\lhead{Dicke Kohle GmbH}\chead{}
+\rhead{Abteilung f\"{u}r Versprechungen}
+\lfoot{}\cfoot{}\rfoot{}
+\pagestyle{fancy}
+\usepackage{graphicx}
+\usepackage{color}
+\usepackage[pdftex,pdfpagelayout=SinglePage,%
+pdftitle={Anlageberechnung},pdfsubject={Formular}%
+]{hyperref}
+\definecolor{background}{rgb}{0.99,0.98,0.85}
+\pagecolor{background}
+\setlength{\parindent}{0.0cm}
+\usepackage[pdftex]{insdljs}
+\begin{insDLJS}[exaaca]{exaaca}{JavaScript functions}
+var done = 0;
+
+function docOpen()
+{
+ if(!done) {
+ done = 1;
+ var newcolor = [ "RGB", 0.99, 0.98, 0.85];
+ var borcolor = [ "RGB", 0.65, 0.79, 0.94]
+ this.getField("l01").fillColor = newcolor;
+ this.getField("l01").strokeColor = newcolor;
+ this.getField("l02").fillColor = newcolor;
+ this.getField("l02").strokeColor = newcolor;
+ this.getField("l03").fillColor = newcolor;
+ this.getField("l03").strokeColor = newcolor;
+ this.getField("l04").fillColor = newcolor;
+ this.getField("l04").strokeColor = newcolor;
+ this.getField("zeit").currentValueIndices = 0;
+ this.getField("zeit").fillColor = newcolor;
+ this.getField("summe").fillColor = newcolor;
+ this.getField("zins").fillColor = newcolor;
+ this.getField("ergebnis").fillColor = newcolor;
+ }
+}
+
+function doCalculation()
+{
+ var summe = 0.0 + this.getField("summe").value;
+ var zins = 0.0 + this.getField("zins").value;
+ var zeit = 0 + this.getField("zeit").value;
+ var i, faktor, wert;
+ faktor = 1.0 + 0.01 * zins;
+ for(i = 0; i < zeit; i++) {
+ summe = summe * faktor;
+ }
+ wert = Math.round(100.0 * summe);
+ wert = 0.01 * wert;
+ wert = wert.toFixed(2);
+ wert = wert.toString();
+ this.getField("ergebnis").value = wert;
+}
+\end{insDLJS}
+\OpenAction{/S /JavaScript /JS (docOpen();)}
+\newcommand{\textforlabel}[2]{%
+\TextField[name={#1},value={#2},width=9em,align=2,%
+bordercolor={0.99 0.98 0.85},%
+fillcolor={0.99 0.98 0.85},readonly=true]{}%
+}
+\begin{document}
+\begin{Form}
+\begin{tabular}{|rl|}
+\hline
+\multicolumn{2}{|c|}{}\\*[-0.8em]\multicolumn{2}{|c|}{%
+\textsc{E\,i\,n\,g\,a\,b\,e\,d\,a\,t\,e\,n}%
+}\\
+&\\*[-0.8em]\textforlabel{l01}{Anlagesumme:}&\TextField[%
+name=summe,width=10em,bordercolor={0.65 0.79 0.94}]{}%
+~\texteuro\\
+&\\*[-0.8em]\textforlabel{l02}{Zinssatz:}&\TextField[%
+name=zins,width=10em,bordercolor={0.65 0.79 0.94}]{}~\%\\
+&\\*[-0.8em]\textforlabel{l03}{Anlagezeitraum:}&%
+\ChoiceMenu[name=zeit,popdown=true,bordercolor={0.65 0.79 0.94}%
+]{}{{1}={1},{2}={2},{3}={3},{4}={4},{5}={5},%
+{6}={6},{7}={7},{8}={8},{9}={9},{10}={10}}~Jahre\\
+&\\*[-0.8em]\hline
+\multicolumn{2}{|c|}{}\\*[-0.8em]
+\multicolumn{2}{|c|}{\textsc{B\,e\,r\,e\,c\,h\,n\,u\,n\,g}}\\
+\multicolumn{2}{|c|}{}\\*[-0.8em]
+\multicolumn{2}{|c|}{\PushButton[name=start,%
+onclick={doCalculation()},bordercolor={0.65 0.79 0.94},%
+fillcolor={0.5 0.5 0.5}]{Start}}\\
+\multicolumn{2}{|c|}{}\\*[-0.8em]\hline
+\multicolumn{2}{|c|}{}\\*[-0.8em]
+\multicolumn{2}{|c|}{\textsc{A\,u\,s\,g\,a\,b\,e}}\\
+\multicolumn{2}{|c|}{}\\*[-0.8em]\textforlabel{l04}{%
+Anlageergebnis:}&\TextField[name=ergebnis,width=10em,%
+bordercolor={0 0 0},readonly=true]{}~\texteuro\\
+\multicolumn{2}{|c|}{}\\
+\hline
+\end{tabular}
+\end{Form}
+\end{document}
diff --git a/info/pdf-forms-tutorial/de/examples/ex0202.tex b/info/pdf-forms-tutorial/de/examples/ex0202.tex
new file mode 100644
index 0000000000..6c2f6898f1
--- /dev/null
+++ b/info/pdf-forms-tutorial/de/examples/ex0202.tex
@@ -0,0 +1,114 @@
+\documentclass{scrartcl}
+\setcounter{secnumdepth}{0}
+\usepackage[T1]{fontenc}
+\usepackage{textcomp}
+\usepackage{mathptmx}
+\usepackage[scaled=.92]{helvet}
+\usepackage{courier}
+\setlength{\paperwidth}{5.2075in}
+\setlength{\paperheight}{3.75in}
+\renewcommand*{\familydefault}{phv}
+\usepackage[pdftex,margin=0.5in]{geometry}
+\usepackage{fancyhdr}
+\lhead{Dicke Kohle GmbH}\chead{}
+\rhead{Abteilung f\"{u}r Versprechungen}
+\lfoot{}\cfoot{}\rfoot{}
+\pagestyle{fancy}
+\usepackage{graphicx}
+\usepackage{color}
+\usepackage[pdftex,pdfpagelayout=SinglePage,%
+pdftitle={Anlageberechnung},pdfsubject={Formular}%
+]{hyperref}
+\definecolor{background}{rgb}{0.99,0.98,0.85}
+\pagecolor{background}
+\setlength{\parindent}{0.0cm}
+\usepackage[pdftex]{insdljs}
+\begin{insDLJS}[exaacb]{exaacb}{JavaScript functions}
+var done = 0;
+
+function docOpen()
+{
+ if(!done) {
+ done = 1;
+ var newcolor = [ "RGB", 0.99, 0.98, 0.85];
+ var borcolor = [ "RGB", 0.65, 0.79, 0.94]
+ this.getField("l01").fillColor = newcolor;
+ this.getField("l01").strokeColor = newcolor;
+ this.getField("l02").fillColor = newcolor;
+ this.getField("l02").strokeColor = newcolor;
+ this.getField("l03").fillColor = newcolor;
+ this.getField("l03").strokeColor = newcolor;
+ this.getField("l04").fillColor = newcolor;
+ this.getField("l04").strokeColor = newcolor;
+ this.getField("zeit").currentValueIndices = 0;
+ this.getField("zeit").fillColor = newcolor;
+ this.getField("summe").fillColor = newcolor;
+ this.getField("zins").fillColor = newcolor;
+ this.getField("ergebnis").fillColor = newcolor;
+ }
+}
+
+function restrictDecimalDigits(s,n)
+{
+ var back = s;
+ return back;
+}
+
+function doCalculation()
+{
+ var summe = 0.0 + this.getField("summe").value;
+ var zins = 0.0 + this.getField("zins").value;
+ var zeit = 0 + this.getField("zeit").value;
+ var i, faktor, wert;
+ faktor = 1.0 + 0.01 * zins;
+ for(i = 0; i < zeit; i++) {
+ summe = summe * faktor;
+ }
+ wert = Math.round(100.0 * summe);
+ wert = wert.toFixed(0);
+ wert = 0.01 * wert;
+ wert = wert.toString();
+ wert = restrictDecimalDigits(wert, 2);
+ this.getField("ergebnis").value = wert;
+}
+\end{insDLJS}
+\OpenAction{/S /JavaScript /JS (docOpen();)}
+\newcommand{\textforlabel}[2]{%
+\TextField[name={#1},value={#2},width=9em,align=2,%
+bordercolor={0.99 0.98 0.85},%
+fillcolor={0.99 0.98 0.85},readonly=true]{}%
+}
+\begin{document}
+\begin{Form}
+\begin{tabular}{|rl|}
+\hline
+\multicolumn{2}{|c|}{}\\*[-0.8em]\multicolumn{2}{|c|}{%
+\textsc{E\,i\,n\,g\,a\,b\,e\,d\,a\,t\,e\,n}%
+}\\
+&\\*[-0.8em]\textforlabel{l01}{Anlagesumme:}&\TextField[%
+name=summe,width=10em,bordercolor={0.65 0.79 0.94}]{}%
+~\texteuro\\
+&\\*[-0.8em]\textforlabel{l02}{Zinssatz:}&\TextField[%
+name=zins,width=10em,bordercolor={0.65 0.79 0.94}]{}~\%\\
+&\\*[-0.8em]\textforlabel{l03}{Anlagezeitraum:}&%
+\ChoiceMenu[name=zeit,popdown=true,bordercolor={0.65 0.79 0.94}%
+]{}{{1}={1},{2}={2},{3}={3},{4}={4},{5}={5},%
+{6}={6},{7}={7},{8}={8},{9}={9},{10}={10}}~Jahre\\
+&\\*[-0.8em]\hline
+\multicolumn{2}{|c|}{}\\*[-0.8em]
+\multicolumn{2}{|c|}{\textsc{B\,e\,r\,e\,c\,h\,n\,u\,n\,g}}\\
+\multicolumn{2}{|c|}{}\\*[-0.8em]
+\multicolumn{2}{|c|}{\PushButton[name=start,%
+onclick={doCalculation()},bordercolor={0.65 0.79 0.94},%
+fillcolor={0.5 0.5 0.5}]{Start}}\\
+\multicolumn{2}{|c|}{}\\*[-0.8em]\hline
+\multicolumn{2}{|c|}{}\\*[-0.8em]
+\multicolumn{2}{|c|}{\textsc{A\,u\,s\,g\,a\,b\,e}}\\
+\multicolumn{2}{|c|}{}\\*[-0.8em]\textforlabel{l04}{%
+Anlageergebnis:}&\TextField[name=ergebnis,width=10em,%
+bordercolor={0 0 0}]{}~\texteuro\\
+\multicolumn{2}{|c|}{}\\
+\hline
+\end{tabular}
+\end{Form}
+\end{document}
diff --git a/info/pdf-forms-tutorial/de/examples/ex0301.tex b/info/pdf-forms-tutorial/de/examples/ex0301.tex
new file mode 100644
index 0000000000..940ab3a9b6
--- /dev/null
+++ b/info/pdf-forms-tutorial/de/examples/ex0301.tex
@@ -0,0 +1,60 @@
+\documentclass[ngerman,a4paper]{scrartcl}
+\usepackage[latin1]{inputenc}
+\usepackage{mathptmx}
+\usepackage[scaled=.92]{helvet}
+\usepackage{courier}
+\usepackage[T1]{fontenc}
+\usepackage{textcomp}
+\renewcommand*{\familydefault}{phv}
+\usepackage[left=25mm,top=25mm,bottom=10mm,right=10mm]{geometry}
+\usepackage{fancyhdr}
+\lhead{Test}\chead{}\rhead{inputenc und insdljs}
+\lfoot{}\cfoot{}\rfoot{}
+\pagestyle{fancy}
+\usepackage{graphicx}
+\usepackage{color}
+\usepackage[
+ pdftex,a4paper=true,colorlinks=true,
+ pdftitle={insdljs und inputenc},pdfsubject={Test},
+ pdfauthor={ich},
+ pdfpagemode=UseNone,pdfstartview=FitH,
+ pagebackref,pdfhighlight={/N}
+]{hyperref}
+\usepackage[pdftex]{insdljs}
+\begin{insDLJS}[exaada]{exaada}{JavaScript auf Document Level}
+// indicate that the function was not yet run
+var done = 0;
+
+// text to show when file is opened
+var theText =
+"Test mit \u00E4\u00F6\u00FC\u00C4\u00D6\u00DC\u00DF";
+
+// function to run when opening the document
+function myFirstJavaScriptFunction()
+{
+ if(!done) {
+ done = 1;
+ app.alert(theText);
+ }
+}
+\end{insDLJS}
+\OpenAction{/S /JavaScript /JS (myFirstJavaScriptFunction();)}
+\newcommand{\textforlabel}[2]{%
+\TextField[name={#1},value={#2},width=7em,align=2,%
+bordercolor={1 1 1},readonly=true]{}%
+}
+\begin{document}
+\section{Test mit insdljs und inputenc}
+Dies ist ein Test, ob eine Zusammenarbeit der Pakete insdljs
+und inputenc möglich ist.\\
+Getestet werden die deutschen Umlaute und Ligaturen
+\begin{itemize}
+\item ä (ae)
+\item ö (oe)
+\item ü (ue)
+\item Ä (Ae)
+\item Ö (Oe)
+\item Ü (Ue)
+\item ß (sz)
+\end{itemize}
+\end{document}
diff --git a/info/pdf-forms-tutorial/de/forms-src/Makefile b/info/pdf-forms-tutorial/de/forms-src/Makefile
new file mode 100644
index 0000000000..c660bdce01
--- /dev/null
+++ b/info/pdf-forms-tutorial/de/forms-src/Makefile
@@ -0,0 +1,34 @@
+all: forms.pdf
+
+SOURCES= forms.tex\
+ bib.bib\
+ fde0001.tex\
+ fde0002.tex\
+ fde0003.tex\
+ fde0004.tex\
+ fde0005.tex\
+ fde0006.tex\
+ fde0007.tex\
+ fde0008.tex\
+ fde0009.tex\
+ fde0010.tex\
+ fde0011.tex\
+ fde0012.tex\
+ fde0013.tex\
+ fde0014.tex\
+ fde0015.tex\
+ fde0016.tex\
+ fde0017.tex\
+ fde0018.tex
+
+forms.pdf: $(SOURCES)
+ -rm fdl.tex
+ ln ../../en/forms-src/fdl.tex .
+ pdflatex forms
+ bibtex forms
+ pdflatex forms
+ pdflatex forms
+
+clean:
+ -rm -fr *.bbl *.blg *.out *.djs ex00*.pdf
+
diff --git a/info/pdf-forms-tutorial/de/forms-src/bib.bib b/info/pdf-forms-tutorial/de/forms-src/bib.bib
new file mode 100644
index 0000000000..f5cc9f1914
--- /dev/null
+++ b/info/pdf-forms-tutorial/de/forms-src/bib.bib
@@ -0,0 +1,29 @@
+@Book{pdf:javascript,
+author = "Adobe Technical Support",
+title = "{A}crobat {J}ava{S}cript {O}bject {Specification} Version 5.1",
+publisher = "Adobe Systems Incorporated",
+year = "2003"
+}
+@Book{pdf:reference,
+author = "{A}dobe {S}ystems {I}ncorporated",
+title = "PDF {R}eference, third edition",
+publisher = "Adobe Systems Incorporated",
+year = "2001"
+}
+@Book{hyperref:manual,
+author = "Sebastian Rahtz and Heiko Oberdiek",
+title = "{H}ypertext marks in LaTeX: a manual for hyperref",
+year = "2004"
+}
+@Book{pdf:scripting:guide,
+author = "{A}dobe {D}eveloper {S}upport",
+title = "Acrobat JavaScript Scripting Guide",
+publisher = "Adobe Systems Incorporated",
+year = "2005"
+}
+@Book{pdf:scripting:reference,
+author = "{A}dobe {D}eveloper {S}upport",
+title = "Acrobat JavaScript Scripting Reference",
+publisher = "Adobe Systems Incorporated",
+year = "2005"
+}
diff --git a/info/pdf-forms-tutorial/de/forms-src/fde0001.tex b/info/pdf-forms-tutorial/de/forms-src/fde0001.tex
new file mode 100644
index 0000000000..83cb0e79e3
--- /dev/null
+++ b/info/pdf-forms-tutorial/de/forms-src/fde0001.tex
@@ -0,0 +1,47 @@
+\subsection{Copyright}
+Copyright (c) 2007 Dirk Krause\\*[0.5em]
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the \textsc{gnu} Free Documentation License, Version 1.2
+or any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts.\\
+A copy of the license is included in the appendix in a section
+named "`\textsc{gnu} Free Documentation License"'.
+\subsection{Zweck dieses Tutorials}
+Dieses Tutorial gibt eine Einführung, wie man mit pdf\LaTeX{}, hyperref
+und insdljs PDF-Formulare erstellen kann. Der Schwerpunkt
+liegt auf Formularen, die am Rechner ausgefüllt und anschließend ausgedruckt
+werden sollen.
+
+Folgende Voraussetzungen
+müssen erfüllt sein, damit Sie die Schritte dieses Tutorials nachvollziehen
+können:
+\begin{itemize}
+\item Sie benötigen eine \LaTeX{}-Distribution, die das Kommando
+ "`\pdflatex{}"' enthält.
+\item Das hyperref-Package muss installiert sein.
+\item Das insdljs-Package muss installiert sein. Hierbei handelt es
+ sich um einen Teil des AcroTex Education Bundles, das
+ unter http://www.acrotex.net zu finden ist.\\
+ Dieses Paket ermöglicht es, Document Level JavaScript einzufügen.
+\end{itemize}
+
+Folgende Dokumentationen sollten verfügbar sein:
+\begin{itemize}
+\item das Manual zum hyperref-Package.\\
+ \cite{hyperref:manual},
+\item die Guides, Spezifikationen und Referenzen zu
+ Acrobat JavaScript in \textsc{pdf}-Dateien\\*
+ \cite{pdf:javascript},\\*
+ \cite{pdf:scripting:guide},\\*
+ \cite{pdf:scripting:reference} und
+\item die Referenz zum \textsc{pdf}-Dateiformat\\*
+ \cite{pdf:reference}.
+\end{itemize}
+Die ersten Dokumentationen werden unbedingt benötigt, die
+\textsc{pdf}-Referenz eher seltener.
+
+In diesem Tutorial werden drei Beispiel-Formulare vorgestellt,
+das erste Beispiel wird schrittweise entwickelt. Die Endfassungen
+der Formulare befinden sich in den Dateien
+"`ex0011.tex"', "`ex0101.tex"' und "`ex0201.tex"'.
diff --git a/info/pdf-forms-tutorial/de/forms-src/fde0002.tex b/info/pdf-forms-tutorial/de/forms-src/fde0002.tex
new file mode 100644
index 0000000000..337c64fa0a
--- /dev/null
+++ b/info/pdf-forms-tutorial/de/forms-src/fde0002.tex
@@ -0,0 +1,28 @@
+\emph{Hinweis:\/} Die in diesem Abschnitt dargestellten Informationen
+wurden dem Handbuch manual.pdf der hyperref-Dokumentation
+(\cite{hyperref:manual}) entnommen.
+Dort werden die \texttt{Form}-Umgebung, die Formularfeld-Makros und deren
+Parameter wesentlich detaillierter dargestellt als hier.
+
+Das hyperref-Paket bietet Umgebungen und Makros für den Formular-Entwurf an.
+Die Formularfelder müssen in einer \texttt{Form}-Umgebung platziert werden,
+pro Datei darf eine \texttt{Form}-Umgebung verwendet werden.\\
+Folgende Makros erstellen Formularfelder:
+\begin{itemize}
+\item \texttt{\textbackslash{}TextField[}\textit{Parameter}\texttt{]}\texttt{\{}\textit{Text}\texttt{\}}\\
+erzeugt ein Textfeld.
+\item \texttt{\textbackslash{}CheckBox[}\textit{Parameter}\texttt{]}\texttt{\{}\textit{Text}\texttt{\}}\\
+erzeugt eine Checkbox.
+\item \texttt{\textbackslash{}ChoiceMenu[}\textit{Parameter}\texttt{]}\texttt{\{}\textit{Text}\texttt{\}\{}\textit{Auswahl-Optionen}\texttt{\}}\\
+erzeugt eine Auswahlliste.
+\item \texttt{\textbackslash{}PushButton[}\textit{Parameter}\texttt{]}\texttt{\{}\textit{Text}\texttt{\}}\\
+erzeugt einen Button.
+\item \texttt{\textbackslash{}Submit[}\textit{Parameter}\texttt{]}\texttt{\{}\textit{Text}\texttt{\}}\\
+erzeugt einen Submit-Button. Das Drücken eines Submit-Buttons bewirkt, dass
+die in das Formular eingegebenen Daten an die \textsc{url} gesendet werden,
+die als action-Parameter der \texttt{Form}-Umgebung angegeben wurde.
+\item \texttt{\textbackslash{}Reset[}\textit{Parameter}\texttt{]}\texttt{\{}\textit{Text}\texttt{\}}\\
+erzeugt einen Reset-Button.
+\end{itemize}
+
+
diff --git a/info/pdf-forms-tutorial/de/forms-src/fde0003.tex b/info/pdf-forms-tutorial/de/forms-src/fde0003.tex
new file mode 100644
index 0000000000..719b511695
--- /dev/null
+++ b/info/pdf-forms-tutorial/de/forms-src/fde0003.tex
@@ -0,0 +1,67 @@
+\subsubsection{Dokumentenklasse}
+Für Formulare kann die gewohnte Dokumentenklasse -- z.\,B. scrartcl oder
+article -- verwendet werden.
+\subsubsection{Schriftarten}
+Der \textsc{pdf}-Standard gibt vor, welche Schriftarten jedes
+\textsc{pdf}-Anzeigeprogramm darstellen können muss, auch wenn der entsprechende
+Font nicht in der \textsc{pdf}-Datei eingebettet ist. Diese Schriften können
+für Formularfelder auch per JavaScript eingestellt werden. Da wir die
+Schriftarten mit JavaScript-Befehlen ändern wollen, verwenden wir von
+vornherein diese Schriften. Im Wesentlichen handelt es
+sich um die Schriftfamilien Times, Helvetica und Courier.\\
+Die Packages für die Schriftfamilien als Type-1-Fonts werden mit
+\begin{lstlisting}
+\usepackage{mathptmx}
+\usepackage[scaled=.92]{helvet}
+\usepackage{courier}
+\end{lstlisting}
+geladen.\\
+Mit
+\begin{lstlisting}
+\usepackage[T1]{fontenc}
+\end{lstlisting}
+wird T1-Encoding anstelle des von \LaTeX{} standardmäßig benutzten
+OT1-Encodings benutzt.\\
+Mit
+\begin{lstlisting}
+\renewcommand*{\familydefault}{\phv}
+\end{lstlisting}
+wird die Helvetica als Standardschrift eingestellt, da serifenlose
+Schriften auf dem Bildschirm meist besser lesbar sind als Schriften
+mit Serifen.
+\subsubsection{Seitenlayout}
+Mit
+\begin{lstlisting}
+\usepackage[left=25mm,top=25mm,bottom=10mm,right=10mm]{geometry}
+\end{lstlisting}
+werden die Ränder festgelegt. Formulare werden meist abgeheftet, der linke
+Seitenrand sollte also groß genug gewählt werden. Hier wurde auch ein relativ
+großer oberer Rand gewählt, um ein Formular z.\,B. auf einem Klemmbrett
+befestigen zu können.\\
+Mit
+\begin{lstlisting}
+\usepackage{fancyhdr}
+\lhead{Firma ABC}\chead{}\rhead{Abteilung XYZ}
+\lfoot{}\cfoot{}\rfoot{}
+\pagestyle{fancy}
+\end{lstlisting}
+werden die Kopf- und Fußzeilen gestaltet.
+\subsubsection{Graphiken und Farben}
+Mit
+\begin{lstlisting}
+\usepackage{graphicx}
+\usepackage{color}
+\end{lstlisting}
+werden zwei weitere Packages eingebunden, die für die Verwendung von
+Graphiken (z.\,B. ein Logo) und Farben benötigt werden.
+\subsubsection{hyperref-Paket}
+Das hyperref-Paket wird mit
+\begin{lstlisting}
+\usepackage[
+ pdftex,a4paper=true,colorlinks=true,
+ pdftitle={Formular für Schlüsselausgabe},
+ pdfsubject={Zugang},
+ pdfauthor={ich},
+ pdfpagemode=UseNone,pdfstartview=FitH,pdfhighlight={/N}
+]{hyperref}
+\end{lstlisting}
diff --git a/info/pdf-forms-tutorial/de/forms-src/fde0004.tex b/info/pdf-forms-tutorial/de/forms-src/fde0004.tex
new file mode 100644
index 0000000000..97e964145a
--- /dev/null
+++ b/info/pdf-forms-tutorial/de/forms-src/fde0004.tex
@@ -0,0 +1,53 @@
+Für die Gestaltung der Formularelemente empfehle ich, entsprechend
+Tabelle~\vref{tab:gestaltung-von-formularelementen} vorzugehen.
+\begin{longtable}{|l|c|c|c|}
+\caption{Gestaltung von Formularelementen}
+\label{tab:gestaltung-von-formularelementen}
+\\
+\multicolumn{4}{c}{~}\\*[-0.9em]
+\hline
+&&&\\*[-0.9em]\multicolumn{1}{|c|}{}&\multicolumn{1}{c|}{\textbf{Umrandung}}&\multicolumn{1}{c|}{\textbf{Füllung}}&\multicolumn{1}{c|}{\textbf{Schrift}}\\
+\hline
+\endfirsthead
+\multicolumn{4}{|r|}{\textsl{Fortsetzung}}
+\endhead
+\multicolumn{4}{|r|}{\textsl{wird fortgesetzt}}
+\endfoot
+\hline
+\endlastfoot
+\hline
+&&&\\*[-0.9em]Bildschirm&farbig&farbig&fett\\
+\hline
+&&&\\*[-0.9em]Druck&schwarz&weiß&normal\\
+\hline
+&&&\\*[-0.9em]Bildschirm und Druck\footnote{JavaScript ist deaktiviert}&farbig&weiß&normal\\
+\end{longtable}
+Es wird davon ausgegangen, dass Formulare in größeren Mengen gedruckt
+werden. Bei ausgedruckten Formularen ist in aller Regel die enthaltene
+Information wichtig, nicht so sehr die Schönheit. Deshalb wird meist auf
+Schwarz-Weiß-Druckern gedruckt.
+
+Beim Ausfüllen am Bildschirm sollten möglichst alle Formularfelder deutlich
+farbig markiert sein, damit keines übersehen wird. Damit die Schrift gut
+lesbar ist und sich optisch deutlich vom farbig gefüllten Hintergrund abhebt,
+wird eine fette Schrift eingesetzt.
+
+Beim Ausdruck erscheint die Schrift schwarz auf weiß und muss daher nicht
+mehr fett sein. Dem Formular-Auswerter -- der das ausgedruckte Formular
+vor sich hat -- wird die Arbeit erleichtert, wenn
+die eingetragenen Daten sich deutlich von den Formularbeschriftungen
+abheben. Hierzu dient die schwarze Umrandung.
+
+Der Wechsel zwischen Bildschirmdarstellung und Druckdarstellung erfordert,
+dass JavaScript im \textsc{pdf}-Anzeigeprogramm erlaubt ist. Einige Nutzer
+verbieten dies aus Sicherheitsgründen, hier muss bei der Darstellung
+ein Kompromiss gefunden werden. Die farbige Umrandung markiert nach wie
+vor die Formularfelder, ohne farbige Füllung allerdings nicht so deutlich.
+Auch auf dem Ausdruck ist die Markierung weniger deutlich als mit JavaScript,
+da helle Farben in ein entsprechend helles Grau umgewandelt werden, wenn
+auf Schwarz-Weiß-Druckern gedruckt wird.
+
+Die Markierungsfarbe sollte für alle Formularelemente gleich gewählt werden.
+Da schwarzer Text auf farbig gefüllten Flächen erscheint, sollte eine
+möglichst helle Farbe gewählt werden. Ich persönlich verwende häufig hellblau,
+die Wahl einer Farbe ist letztendlich Geschmackssache.
diff --git a/info/pdf-forms-tutorial/de/forms-src/fde0005.tex b/info/pdf-forms-tutorial/de/forms-src/fde0005.tex
new file mode 100644
index 0000000000..1bbd86447d
--- /dev/null
+++ b/info/pdf-forms-tutorial/de/forms-src/fde0005.tex
@@ -0,0 +1,13 @@
+Es soll ein Formular entworfen werden, mit dem Schlüssel für Mitarbeiter
+angefordert werden. Das Formular soll u.\,a. folgende Informationen
+enthalten:
+\begin{itemize}
+\item Vorname und Name
+\item Abteilung
+\item Zeitdauer (unbefristet bzw. befristet von \ldots{} bis \ldots{}).
+\item die zu schließenden Türen.
+\end{itemize}
+Vorname und Name werden in Textfelder eingegeben. Die Abteilung wird aus
+einer Auswahlliste ausgewählt, die Angabe befristet/unbefristet ebenso.
+Anfangs- und Endzeitraum werden in Textfelder eingegeben. Die zu schließenden
+Türen werden mit Checkboxen ausgewählt.
diff --git a/info/pdf-forms-tutorial/de/forms-src/fde0006.tex b/info/pdf-forms-tutorial/de/forms-src/fde0006.tex
new file mode 100644
index 0000000000..a918fe1b2a
--- /dev/null
+++ b/info/pdf-forms-tutorial/de/forms-src/fde0006.tex
@@ -0,0 +1,22 @@
+Datei ex0001.tex zeigt einen ersten Versuch zur Realisierung des Formulares.
+\lstinputlisting{../examples/ex0001.tex}
+Nachdem die \textsc{pdf}-Datei ex0001 mit
+\begin{lstlisting}
+pdflatex ex0001 && pdflatex ex0001
+\end{lstlisting}
+erstellt wurde, kann sie im \textsc{pdf}-Viewer geöffnet werden. Die gewünschte
+Funktionalität ist zwar vorhanden, das Aussehen läßt -- vorsichtig formuliert --
+zu wünschen übrig.
+
+Am Quelltext kann aber bisher Folgendes nachvollzogen werden:
+\begin{itemize}
+\item Für jedes Formularelement wurde ein eindeutiger Name angegeben.
+ Dies wird später wichtig, um aus JavaScript-Funktionen heraus
+ bestimmte Elementeeigenschaften zu ändern.
+\item Für Auswahllisten (ChoiceMenu) wird als letztes Argument eine
+ Werteliste angegeben. Die Einträge der Liste sind durch Kommata
+ getrennt. Jeder Eintrag enthält links vom Gleichheitszeichen
+ den anzuzeigenden Text und rechts ein Kürzel. Dieses Kürzel
+ ist später wichtig, wenn mit JavaScript abgefragt wird, welcher
+ Eintrag aktuell ausgewählt ist.
+\end{itemize}
diff --git a/info/pdf-forms-tutorial/de/forms-src/fde0007.tex b/info/pdf-forms-tutorial/de/forms-src/fde0007.tex
new file mode 100644
index 0000000000..3699724862
--- /dev/null
+++ b/info/pdf-forms-tutorial/de/forms-src/fde0007.tex
@@ -0,0 +1,10 @@
+Um die Darstellung in Tabellenform zu bringen, wird die tabular-Umgebung
+genutzt.
+\lstinputlisting{../examples/ex0002.tex}
+Kritikpunkte:
+\begin{itemize}
+\item Zwischen den Eingabefeldern existiert kein vertikaler Zwischenraum.
+\item Auch nach einer Auswahl zeigen die Auswahllisten alle Werte an.
+ Im Normalfall soll hier nur ein Wert angezeigt werden.
+\item Auswahllisten und Textfelder haben unterschiedliche Längen.
+\end{itemize}
diff --git a/info/pdf-forms-tutorial/de/forms-src/fde0008.tex b/info/pdf-forms-tutorial/de/forms-src/fde0008.tex
new file mode 100644
index 0000000000..d6dc835c60
--- /dev/null
+++ b/info/pdf-forms-tutorial/de/forms-src/fde0008.tex
@@ -0,0 +1,21 @@
+Das Problem der vertikalen Zwischenräume wird mit
+\begin{lstlisting}
+&&\\*[-0.9em]
+\end{lstlisting}
+am Anfang jeder Zeile gelöst. Vor der letzten horizontalen Linie ist
+dies allerdings nicht möglich, hier wird eine komplette Leerzeile
+mit
+\begin{lstlisting}
+&&\\*
+\end{lstlisting}
+eingefügt.
+
+Bei den Auswahllisten wird der Parameter "`popdown=true"' gesetzt. Alle
+Elemente (mit Ausnahme der Checkboxen und der von/bis-Textfelder)
+erhalten den Parameter "`width=20em"'.
+\lstinputlisting{../examples/ex0003.tex}
+Verbleibende Kritikpunkte:
+\begin{itemize}
+\item Die Beschriftungen befinden sich auf anderer Höhe als
+ die vom Nutzer eingegebenen Texte.
+\end{itemize}
diff --git a/info/pdf-forms-tutorial/de/forms-src/fde0009.tex b/info/pdf-forms-tutorial/de/forms-src/fde0009.tex
new file mode 100644
index 0000000000..7f91cc50aa
--- /dev/null
+++ b/info/pdf-forms-tutorial/de/forms-src/fde0009.tex
@@ -0,0 +1,17 @@
+Das Problem der unterschiedlichen Höhen resultiert aus der äußeren und inneren
+Umrandung der Formularelemente. Diese Umrandungen sind bei normalem Text
+nicht vorhanden.
+
+Deshalb werden für die Beschriftungen ebenfalls Textfelder verwendet,
+diese sind allerdings nicht editierbar und haben eine weiße Umrandung.
+Diese wird mit
+\begin{lstlisting}
+bordercolor={1 1 1}
+\end{lstlisting}
+eingestellt.\\
+Mit
+\begin{lstlisting}
+align=2
+\end{lstlisting}
+wird der Text rechtsbündig eingestellt.
+\lstinputlisting{../examples/ex0004.tex}
diff --git a/info/pdf-forms-tutorial/de/forms-src/fde0010.tex b/info/pdf-forms-tutorial/de/forms-src/fde0010.tex
new file mode 100644
index 0000000000..98220eaf67
--- /dev/null
+++ b/info/pdf-forms-tutorial/de/forms-src/fde0010.tex
@@ -0,0 +1,7 @@
+Mit
+\begin{lstlisting}
+bordercolor={0.65 0.79 0.94}
+\end{lstlisting}
+wird für alle Formularelemente hellblau als Umrandungsfarbe
+eingestellt.
+\lstinputlisting{../examples/ex0005.tex}
diff --git a/info/pdf-forms-tutorial/de/forms-src/fde0011.tex b/info/pdf-forms-tutorial/de/forms-src/fde0011.tex
new file mode 100644
index 0000000000..d26d260d02
--- /dev/null
+++ b/info/pdf-forms-tutorial/de/forms-src/fde0011.tex
@@ -0,0 +1,48 @@
+Um JavaScript auf Dokument-Ebene einzufügen, wird das Package insdljs
+benutzt, dabei muss der benutzte Ausgabetreiber angegeben werden.
+\begin{lstlisting}
+\usepackage[pdftex]{insdljs}
+\end{lstlisting}
+Der einzufügende JavaScript-Code wird in eine insDLJS-Umgebung
+geschrieben. Für das optionale und das erste geforderte Argument
+wird ein \LaTeX-Identifier benötigt (am besten einen String
+aus lauter Buchstaben verwenden, \emph{keine} Zahlen). Das zweite
+geforderte Argument ist ein Kommentar.
+\begin{lstlisting}
+\begin{insDLJS}[exaaaa]{exaaaa}{JavaScript auf Document Level}
+// ... Place Java source code here ...
+\end{insDLJS}
+\end{lstlisting}
+Der Identifier wird verwendet, um einen Dateinamen zu bilden ("`exaaaa.djs"'),
+in dem der JavaScript-Code temporär gepackt abgespeichert wird.
+
+Die Funktion, die beim Öffnen des Dokumentes -- genauer gesagt beim Öffnen
+der ersten Seite -- gestartet wird, wird mit dem OpenAction-Makro angegeben.
+\begin{lstlisting}
+\OpenAction{/S /JavaScript /JS (myFirstJavaScriptFunction();)}
+\end{lstlisting}
+Wie für \textsc{pdf} üblich, steht der String in Klammern. Der String
+enthält den auszuführenden Befehl, also den Funktionsnamen mit Klammern,
+möglichen Parametern und abschließendem Semikolon.
+
+Die hier angegebene Funktion wird jedesmal aufgerufen, wenn die erste
+Seite geöffnet wird. Um die beim Öffnen des Dokumentes notwendigen
+Schritte nur einmal auszuführen, wird in einer Variable gespeichert,
+ob die Funktion bereits aufgerufen wurde.
+\lstinputlisting{../examples/ex0006.tex}
+Beim Öffnen der \textsc{pdf}-Datei ex0006.pdf erscheint eine
+Message-Box. In dieser ist das Zeichen "o falsch dargestellt.
+Ursache hierfür ist die Verwendung des Packages inputenc mit der Einstellung
+latin1. Dies wandelt Umlaute und ß in \LaTeX{}-gerechte Folgen wie
+"`\textquotedbl{}o"' um, konsequenterweise auch für JavaScript.\\
+Es gibt zwei Möglichkeiten, dieses Problem zu lösen:
+\begin{itemize}
+\item Das Paket inputenc wird nicht verwendet. Alle Umlaute\ldots im
+Text werden durch ihre jeweilige \LaTeX{}-Codierung ersetzt.\\
+Ein Beispiel hierfür wird im Listing am Ende dieses Abschnittes
+dargestellt.
+\item Im JavaScript-Code werden die Umlaute nicht direkt sondern
+als JavaScript-Unicode-Zeichen eingegeben. Dieses Verfahren wird in
+Abschnitt~\vref{sec:fde0020} dargestellt.
+\end{itemize}
+\lstinputlisting{../examples/ex0007.tex}
diff --git a/info/pdf-forms-tutorial/de/forms-src/fde0012.tex b/info/pdf-forms-tutorial/de/forms-src/fde0012.tex
new file mode 100644
index 0000000000..2472a89e00
--- /dev/null
+++ b/info/pdf-forms-tutorial/de/forms-src/fde0012.tex
@@ -0,0 +1,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}
diff --git a/info/pdf-forms-tutorial/de/forms-src/fde0013.tex b/info/pdf-forms-tutorial/de/forms-src/fde0013.tex
new file mode 100644
index 0000000000..f7ad901288
--- /dev/null
+++ b/info/pdf-forms-tutorial/de/forms-src/fde0013.tex
@@ -0,0 +1,20 @@
+Ereignisse können nicht nur vom Dokument sondern auch von einzelnen
+Formularfeldern ausgelöst werden. Im Beispiel wird der Auswahlliste
+\textit{zeit} der Parameter
+\begin{lstlisting}
+validate={validateTime();}
+\end{lstlisting}
+übergeben. Immer dann, wenn das Eingabefeld verlassen wird, wird die
+Funktion \textit{validateTime();\/} aufgerufen. Diese macht mit
+\begin{lstlisting}
+this.getField("von").display = display.visible;
+this.getField("bis").display = display.visible;
+\end{lstlisting}
+bzw.
+\begin{lstlisting}
+this.getField("von").display = display.hidden;
+this.getField("bis").display = display.hidden;
+\end{lstlisting}
+die Eingabefelder
+\textit{von\/} und \textit{bis\/} sichtbar bzw. unsichtbar.
+\lstinputlisting{../examples/ex0010.tex}
diff --git a/info/pdf-forms-tutorial/de/forms-src/fde0014.tex b/info/pdf-forms-tutorial/de/forms-src/fde0014.tex
new file mode 100644
index 0000000000..3a33dae410
--- /dev/null
+++ b/info/pdf-forms-tutorial/de/forms-src/fde0014.tex
@@ -0,0 +1,13 @@
+In der Auswahlliste \textit{abt\/} soll es nicht nur die Auswahl eines
+vorhandenen Elementes sondern auch die Eingabe von Text möglich sein.
+Zu diesem Zweck wird beim Anlegen der Liste der Parameter
+\begin{lstlisting}
+combo=true
+\end{lstlisting}
+mit angegeben. Da dieser allein nicht immer genügt, wird zusätzlich
+noch eine JavaScript-Zeile
+\begin{lstlisting}
+this.getField("abt").editable = true;
+\end{lstlisting}
+in \textit{myFirstJavaScriptFunction()\/} eingefügt.
+\lstinputlisting{../examples/ex0011.tex}
diff --git a/info/pdf-forms-tutorial/de/forms-src/fde0015.tex b/info/pdf-forms-tutorial/de/forms-src/fde0015.tex
new file mode 100644
index 0000000000..a60396f628
--- /dev/null
+++ b/info/pdf-forms-tutorial/de/forms-src/fde0015.tex
@@ -0,0 +1,9 @@
+Es soll ein Formular entworfen werden, mit dem Softwarelizenzen sowie
+die Installation der Software durch fachkundiges Personal angefordert
+werden können.
+
+Die Angaben, wer die Installation anfordert und auf welchem PC die
+Software benötigt wird, werden in Textfelder eingegeben.\\
+Für die Auswahl der Software werden mehrere Auswahllisten bereitgestellt
+mit jeweils dem gleichen Inhalt. Die Auswahllisten sollen editierbar
+sein, falls Spezialsoftware benötigt wird.
diff --git a/info/pdf-forms-tutorial/de/forms-src/fde0016.tex b/info/pdf-forms-tutorial/de/forms-src/fde0016.tex
new file mode 100644
index 0000000000..36bf03936c
--- /dev/null
+++ b/info/pdf-forms-tutorial/de/forms-src/fde0016.tex
@@ -0,0 +1,32 @@
+Die Auswahlmöglichkeiten in Auswahllisten können auch per JavaScript
+eingestellt werden.\\
+Dies ist sinnvoll, wenn mehrere Listen mit den gleichen Auswahlmöglichkeiten
+versehen werden sollen oder wenn viele Auswahlmöglichkeiten bestehen.
+In beiden Fällen wird die Übersichtlichkeit der \LaTeX{}-Quelle erhöht.
+
+Die Auswahlmöglichkeiten werden als Array angegeben. Jedes Element
+des Arrays ist seinerseits wiederum ein Array mit zwei Elementen. Das
+erste Element ist der Text, der in der Auswahlliste angezeigt werden soll.
+Das zweite Element ist eine Abkürzung, um die Auswahlmöglichkeit per
+JavaScript ansprechen zu können.\\
+Die Auswahlmöglichkeiten für ex0101 werden in einem Array
+\textit{softwareAuswahl\/} aufgeführt:
+\begin{lstlisting}
+var softwareAuswahl = [
+ [ "", ""],
+ [ "Betriebssystem", "os" ],
+ [ "Textverarbeitung", "tp" ],
+ [ "Tabellenkalkulation", "sc" ],
+ [ "Präsentationsprogramm", "pp" ],
+ [ "E-Mail-Client", "mc" ],
+ [ "Web browser", "wb" ],
+ [ "Mathematik-Software", "ms" ],
+ [ "PDF-Anzeigeprogramm", "pv" ]
+];
+\end{lstlisting}
+Über die \textit{setItems()\/}-Methode
+\begin{lstlisting}
+this.getField("sw01").setItems(softwareAuswahl);
+\end{lstlisting}
+wird das Array mit den entsprechenden Auswahllisten verknüpft.
+\lstinputlisting{../examples/ex0101.tex}
diff --git a/info/pdf-forms-tutorial/de/forms-src/fde0017.tex b/info/pdf-forms-tutorial/de/forms-src/fde0017.tex
new file mode 100644
index 0000000000..0f575f8831
--- /dev/null
+++ b/info/pdf-forms-tutorial/de/forms-src/fde0017.tex
@@ -0,0 +1,7 @@
+Das dritte Formular soll als interaktive Anwendung arbeiten, ein Klick
+auf einen Button soll eine Aktion auslösen.
+
+Im Beispiel führen wir eine Zinseszins-Berechnung durch. Als Eingabedaten
+werden eine Anlagesumme in \texteuro{}, ein effektiver Jahreszins in \%
+und ein Anlagezeitraum in Jahren angegeben. Über einen Button wird die
+Berechnung der Auszahlungssumme angestoßen, diese wird dann angezeigt.
diff --git a/info/pdf-forms-tutorial/de/forms-src/fde0018.tex b/info/pdf-forms-tutorial/de/forms-src/fde0018.tex
new file mode 100644
index 0000000000..e7498a5646
--- /dev/null
+++ b/info/pdf-forms-tutorial/de/forms-src/fde0018.tex
@@ -0,0 +1,28 @@
+Im Gegensatz zu den vorangegangenen Formularen wird das dritte Formular
+nicht gedruckt sondern ausschließlich online benutzt. Als Papierformat
+wird deshalb nicht A4 benutzt sondern \(5.2057\,\textrm{Zoll}\,\times\,3.75\,\textrm{Zoll}\) (siehe
+Zeilen 8 und 9). Mit dem geometry-Package wird ein Rand von einem
+halben Zoll an den Seiten eingestellt.
+
+Mit dem Package fancyhdr werden Kopf- und Fußzeile gestaltet, siehe
+Zeilen 12\ldots{}15. Das Formular soll -- wenn es mehrseitig ist --
+seitenweise gescrollt werden ("`pdfpagelayout=SinglePage"' in
+Zeile 18).
+
+Da kein Ausdrucken vorgesehen ist, kann ein farbiger Hintergrund
+verwendet werden.
+
+Mit dem Argument
+\begin{lstlisting}
+onclick={doCalculation()}
+\end{lstlisting}
+wird eine JavaScript-Funktion vorgegeben, die beim Betätigen des
+Buttons ausgeführt wird. Hier wird kein Semikolon an den Funktionsaufruf
+angehangen.
+
+Die Funktion \textit{doCalculation()\/} liest die Werte aus den
+Eingabefeldern aus und nimmt eine Berechnung vor. Das Ergebis
+wird gerundet, auf zwei Nachkommastellen getrimmt, in einen String
+gewandelt und in einem Textfeld ausgegeben.
+
+\lstinputlisting{../examples/ex0201.tex}
diff --git a/info/pdf-forms-tutorial/de/forms-src/fde0019.tex b/info/pdf-forms-tutorial/de/forms-src/fde0019.tex
new file mode 100644
index 0000000000..06fd0b16c0
--- /dev/null
+++ b/info/pdf-forms-tutorial/de/forms-src/fde0019.tex
@@ -0,0 +1,42 @@
+\begin{itemize}
+\item Version 0.9.5 (07.02.2008)\\*
+zeigt in einem zusätzlichen Abschnitt, wie Online-Hilfe mit
+\textsc{pdf}-Annotationen (Notizen) oder mit Tooltips realisiert
+werden kann.
+\item Version 0.9.4 (20.06.2007)\\*
+enthält einen zusätzlichen neuen Abschnitt, wie die Pakete
+insdljs und inputenc kombiniert werden können. Dabei werden Sonderzeichen,
+die von inputenc umcodiert werden, nicht mehr direkt sondern als
+JavaScript-Unicode-Zeichen eingegeben.
+\item Version 0.9.3 (15.06.2007)\\*
+enthält korrigierte Optionen für das Laden des hyperref-Packages.
+\begin{lstlisting}
+pdfpagemode=UseNone
+\end{lstlisting}
+wurde ersetzt durch
+\begin{lstlisting}
+pdfpagemode=UseNone
+\end{lstlisting}
+\item Version 0.9.2 (14.06.2007)\\*
+verwendet andere Fonts als die vorherigen Versionen. Die Präambel wurde
+von einer anderen Anleitung kopiert, die u.\,a. auch mathematische
+Sachverhalte darstellte und für diesen Zweck Mathematikfonts einband.\\
+Diese Mathematikfonts werden hier nicht benötigt.\\
+Gleichzeitig wird hier das Paket "`pdfcprot"' anstelle des vorher
+genutzten Paketes "`microtype"' für den optischen Randausgleich
+genutzt.
+\item Version 0.9.1 (13.06.2007)\\*
+enthält Korrekturen im Abschnitt "`Schriftarten"'. Fälschlicherweise
+wurde in Version 0.9.0 behauptet,
+\begin{lstlisting}
+\usepackage[T1]{fontenc}
+\end{lstlisting}
+würde für die Verwendung von Type-1-Fonts sorgen. Dies stimmt nicht,
+die Anweisung bewirkt die Verwendung des T1-Font-Encoding-Vektors, wenn
+Type-1-Fonts benutzt werden.
+\item Version 0.9.0\\*
+ist die erste auf \textsc{ctan} veröffentlichte Version.\\*
+Die englischsprachige Version wurde noch nicht korrekturgelesen,
+möglicherweise sind Verbesserungen hinsichtlich Ausdruck, Rechtschreibung
+und Grammatik erforderlich.
+\end{itemize}
diff --git a/info/pdf-forms-tutorial/de/forms-src/fde0020.tex b/info/pdf-forms-tutorial/de/forms-src/fde0020.tex
new file mode 100644
index 0000000000..9f8617974f
--- /dev/null
+++ b/info/pdf-forms-tutorial/de/forms-src/fde0020.tex
@@ -0,0 +1,45 @@
+\label{sec:fde0020}
+Das Paket inputenc sorgt dafür, dass bestimmte Zeichen -- z.\,B. deutsche
+Umlaute -- in entsprechenden \LaTeX{}-Code umgewandelt werden.
+Diese Umwandlung ist im "`normalen"' Text durchaus gewünscht, im
+JavaScript-Code jedoch nicht.
+
+Um die Umwandlung in JavaScript-Code zu verhindern, sollten die entsprechenden
+Zeichen dort nicht direkt eingegeben werden sondern als
+\textsc{ecma}-Script-Unicodezeichen. Einige ausgewählte Unicode-Codierungen
+sind in Tabelle~\vref{tab:umlauts} dargestellt.
+
+\begin{longtable}{|r|l|}\caption{JavaScript-Unicode für deutsche Umlaute}\label{tab:umlauts}\\
+\hline
+&\\*[-0.9em]\multicolumn{1}{|c|}{\textbf{Zeichen}}&\multicolumn{1}{c|}{\textbf{JavaScript-Unicode}}\\
+\hline
+\endfirsthead
+\hline
+&\\*[-0.9em]\multicolumn{2}{|r|}{\textsl{Fortsetzung}}\\
+\hline
+\endhead
+&\\*[-0.9em]\multicolumn{2}{|r|}{\textsl{wird fortgesetzt}}\\
+\hline
+\endfoot
+\hline
+\endlastfoot
+\hline
+&\\*[-0.9em]ä&\textbackslash{}u00E4\\
+\hline
+&\\*[-0.9em]ö&\textbackslash{}u00F6\\
+\hline
+&\\*[-0.9em]ü&\textbackslash{}u00FC\\
+\hline
+&\\*[-0.9em]A&\textbackslash{}u00C4\\
+\hline
+&\\*[-0.9em]Ö&\textbackslash{}u00D6\\
+\hline
+&\\*[-0.9em]Ü&\textbackslash{}u00DC\\
+\hline
+&\\*[-0.9em]ß&\textbackslash{}u00DF\\
+\end{longtable}
+\clearpage
+Hier ein Beispiel für die Verwendung von JavaScript-Unicode-Zeichen
+(Variable \textit{theText\/}):
+\lstinputlisting{../examples/ex0301.tex}
+\clearpage
diff --git a/info/pdf-forms-tutorial/de/forms-src/fde0021.tex b/info/pdf-forms-tutorial/de/forms-src/fde0021.tex
new file mode 100644
index 0000000000..c27bcdff4e
--- /dev/null
+++ b/info/pdf-forms-tutorial/de/forms-src/fde0021.tex
@@ -0,0 +1,22 @@
+Dem Nutzer, der das Formular ausfült, kann auf verschiedene Weise
+Online-Hilfe zur Verfüung gestellt werden:
+\begin{itemize}
+\item \textsc{pdf}-Annotationen (Notizen)\\
+Im Text werden Notizen durch ein Icon angezeigt. Bewegt der Nutzer die
+Maus über das Icon, wird der Notiztext als Tooltip angezeigt.
+Ein Doppelklick auf das Icon öffnet die Notiz.\\
+Vorteil dieses Verfahrens: Es ist nicht notwendig, dass im Anzeigeprogramm
+JavaScript aktiviert ist. Nachteilig ist, dass die zusäzlichen
+Icons zum einen Platz benötigen und zum anderen das Formular unübersichtlicher
+wird.
+\item Tooltips\\
+Tooltips werden angezeigt, wenn der Nutzer die Maus über ein Formularfeld
+bewegt und die Maus dort verharren läst. Tooltips sind den meisten
+Nutzern bereits aus anderen Anwendungen bekannt. Da der Tooltip-Text
+(derzeit noch?\footnote{Stand: 07.02.2008}) nicht über die
+Formularfeld-Optionen von hyperref
+gesetzt werden kann, ist JavaScript im Anzeigeprogramm erforderlich,
+um Formularfeldern Tooltip-Texte zuzuweisen.
+\end{itemize}
+Die beiden Verfahren können auch kombiniert werden.
+\clearpage
diff --git a/info/pdf-forms-tutorial/de/forms-src/fde0022.tex b/info/pdf-forms-tutorial/de/forms-src/fde0022.tex
new file mode 100644
index 0000000000..989476d03e
--- /dev/null
+++ b/info/pdf-forms-tutorial/de/forms-src/fde0022.tex
@@ -0,0 +1,24 @@
+Um nach einem Formularfeld ein Icon für Online-Hilfe anzubringen, kann
+folgender Code genutzt werden:
+\begin{lstlisting}
+~\pdfannot width 20pt {
+ /Subtype /Text
+ /Name /Help
+ /C [0.65 0.79 0.94]
+ /T (Notiz-Überschrift)
+ /Contents (Der Hilfetext der Notiz)
+}\(\qquad\)
+\end{lstlisting}
+Das Notiz-Icon "`verbraucht"' nach Ansicht von pdf\LaTeX{} keinen Platz,
+daher wird ein großer Leerraum nach der \textit{pdfannot\/}-Anweisung
+eingefügt.\\
+Vor der Notiz wird ebenfalls etwas Leerraum eingefügt, um
+Abstand zum Formularfeld zu halten.
+
+"`/Name /Help"' wählt ein Icon für die Notiz aus, in diesem Fall das
+Fragezeichen.
+Der Eintrag "`/C"' legt die Farbe für das Icon fest. Hier sollte dieselbe
+Farbe wie für die Formularfelder genutzt werden.
+
+Beispiel ex0012 demonstriert die Verwendung von \textsc{pdf}-Annotationen für
+die Hilfe.
diff --git a/info/pdf-forms-tutorial/de/forms-src/fde0023.tex b/info/pdf-forms-tutorial/de/forms-src/fde0023.tex
new file mode 100644
index 0000000000..e6e98ccc2b
--- /dev/null
+++ b/info/pdf-forms-tutorial/de/forms-src/fde0023.tex
@@ -0,0 +1,12 @@
+Tooltip-Text kann einem Formularfeld mit der JavaScript-Anweisung
+\begin{lstlisting}
+this.getField("feldname").userName = "Das ist ein Hilfetext.";
+\end{lstlisting}
+hinzugefügt werden. Diese Anweisung sollte in der Funktion stehen,
+die beim Öffnen des Dokumentes automatisch ausgeführt wird.
+
+Beispiel ex0013 zeigt, wie Tooltip-Texte gesetzt werden. Wird das
+Paket "`inputenc"' genutzt, müssen deutsche Umlaute im
+JavaScript-Code durch eine spezielle Notation ausgedrückt werden,
+siehe Abschnitt~\vref{sec:fde0020}.
+\clearpage
diff --git a/info/pdf-forms-tutorial/de/forms-src/forms.tex b/info/pdf-forms-tutorial/de/forms-src/forms.tex
new file mode 100644
index 0000000000..0ae93bc4bf
--- /dev/null
+++ b/info/pdf-forms-tutorial/de/forms-src/forms.tex
@@ -0,0 +1,104 @@
+\documentclass[ngerman,12pt,a4paper,origlongtable]{scrartcl}
+\usepackage{ngerman}
+\usepackage{ifpdf}
+\usepackage[latin1]{inputenc}
+\usepackage{mathptmx}
+\usepackage[scaled=.92]{helvet}
+\usepackage{courier}
+\usepackage[T1]{fontenc}
+\usepackage{textcomp}
+% \usepackage[intlimits]{amsmath}
+% \usepackage{amsfonts,amssymb,amscd}
+% \usepackage{trfsigns}
+\usepackage{array}
+\usepackage{enumerate}
+\usepackage{longtable}
+\usepackage{latexsym}
+\usepackage{listings}
+\lstset{numbers=left, numberstyle=\tiny, numbersep=5pt}
+\usepackage[ngerman]{varioref}
+\usepackage{makeidx}
+\usepackage{color}
+\ifpdf
+\usepackage[activate=normal]{pdfcprot}
+% \usepackage{microtype}
+\usepackage[pdftex]{graphicx}
+\usepackage{epstopdf}
+\pdfcompresslevel=9
+\usepackage[
+ pdftex,
+ a4paper=true,
+ pdftitle={PDF-Formulare mit pdflatex, hyperref und insdljs},
+ pdfsubject={PDF-Formulare},
+ pdfauthor={Dirk Krause},
+ colorlinks=true,
+ bookmarks,
+ bookmarksnumbered,
+ linkcolor=black,
+ pdfpagemode=UseNone,
+ pdfstartview={XYZ 0 835 1.25}
+]{hyperref}
+\usepackage{attachfile}
+\else
+\usepackage[dvips]{graphicx}
+\DeclareGraphicsRule{.png}{eps}{.bb}{`bmeps #1}
+\usepackage[dvips]{hyperref}
+\usepackage{attachfile}
+\fi
+% \definecolor{red}{rgb}{1,0,0}
+
+\def\theyear{2007}
+
+% \parindent0cm
+\newcommand{\pdflatex}[0]{pdf"|latex}
+\author{Dirk~Krause}
+\title{PDF-Formulare mit \pdflatex{}, hyperref und insdljs}
+\include{cover}
+\renewcommand*{\sectfont}{\bfseries}
+\makeindex
+\hyphenation{
+Ja-va-Script
+}
+
+\begin{document}
+\begin{sloppy}
+\maketitle\clearpage
+\tableofcontents\clearpage
+\section{Einführung}\input{fde0001}\clearpage
+\section{Formular-Support in hyperref}\input{fde0002}\clearpage
+\section{Vorbetrachtungen}
+\subsection{Präambel}\input{fde0003}\clearpage
+\subsection{Eigenschaften der Formularelemente}\input{fde0004}\clearpage
+\section{Das erste Formular}
+\subsection{Aufgabenstellung}\input{fde0005}
+\subsection{Erster Anlauf: ex0001}\input{fde0006}\clearpage
+\subsection{Anordnung in Tabelle: ex0002}\input{fde0007}\clearpage
+\subsection{Zwischenräume und Feldbreiten: ex0003}\input{fde0008}\clearpage
+\subsection{Gleiche Texthöhe: ex0004}\input{fde0009}\clearpage
+\subsection{Farbe: ex0005}\input{fde0010}\clearpage
+\subsection{JavaScript: ex0006}\input{fde0011}\clearpage
+\subsection{Dokument-Ereignisse: ex0008 und ex0009}\input{fde0012}\clearpage
+\subsection{Formularfeld-Ereignisse: ex0010}\input{fde0013}\clearpage
+\subsection{Editierbare Auswahlliste: ex0011}\input{fde0014}\clearpage
+\subsection{Online-Hilfe}
+\subsubsection{Übersicht}\input{fde0021}
+\subsubsection{PDF-Annotationen}\input{fde0022}
+\subsubsection{Tooltips}\input{fde0023}
+\section{Ein weiteres Formular}
+\subsection{Aufgabenstellung}\input{fde0015}
+\subsection{Auswahllisten mit JavaScript initialisieren: ex0101}\input{fde0016}\clearpage
+\section{Formular Nummer drei: Interaktive Anwendung}
+\subsection{Aufgabenstellung}\input{fde0017}
+\subsection{Reaktion auf Button: ex0201}\input{fde0018}\clearpage
+\section{Formular Nummer vier: inputenc und insdljs}\input{fde0020}\clearpage
+\clearpage
+\appendix
+\section{Historie}\input{fde0019}\clearpage
+\input{fdl.tex}\clearpage
+\bibliographystyle{alpha}
+\bibliography{bib}
+\clearpage
+\printindex
+\end{sloppy}
+\end{document}
+
diff --git a/info/pdf-forms-tutorial/de/forms.pdf b/info/pdf-forms-tutorial/de/forms.pdf
new file mode 100644
index 0000000000..e779e7c5e7
--- /dev/null
+++ b/info/pdf-forms-tutorial/de/forms.pdf
Binary files differ