diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /info/pdf-forms-tutorial/de |
Initial commit
Diffstat (limited to 'info/pdf-forms-tutorial/de')
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 Binary files differnew file mode 100644 index 0000000000..e779e7c5e7 --- /dev/null +++ b/info/pdf-forms-tutorial/de/forms.pdf |