summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2008-02-09 01:25:55 +0000
committerKarl Berry <karl@freefriends.org>2008-02-09 01:25:55 +0000
commit130d4c2f9b595beb3168a0402660ce3eca0c25b8 (patch)
treeadafd864920bd0b2f1c842bb94b607d2b3073fb3
parent2fda7765c6aed9264c9393b15b6d380919d320c8 (diff)
pdf-forms-tutorial-en (7feb08)
git-svn-id: svn://tug.org/texlive/trunk@6570 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-doc/doc/english/pdf-forms-tutorial-en/examples/Makefile4
-rw-r--r--Master/texmf-doc/doc/english/pdf-forms-tutorial-en/examples/ex0012.tex236
-rw-r--r--Master/texmf-doc/doc/english/pdf-forms-tutorial-en/examples/ex0013.tex203
-rw-r--r--Master/texmf-doc/doc/english/pdf-forms-tutorial-en/forms-src/fde0019.tex5
-rw-r--r--Master/texmf-doc/doc/english/pdf-forms-tutorial-en/forms-src/fde0021.tex15
-rw-r--r--Master/texmf-doc/doc/english/pdf-forms-tutorial-en/forms-src/fde0022.tex22
-rw-r--r--Master/texmf-doc/doc/english/pdf-forms-tutorial-en/forms-src/fde0023.tex13
-rw-r--r--Master/texmf-doc/doc/english/pdf-forms-tutorial-en/forms-src/forms.tex6
-rw-r--r--Master/texmf-doc/doc/english/pdf-forms-tutorial-en/forms.pdfbin448303 -> 472567 bytes
9 files changed, 500 insertions, 4 deletions
diff --git a/Master/texmf-doc/doc/english/pdf-forms-tutorial-en/examples/Makefile b/Master/texmf-doc/doc/english/pdf-forms-tutorial-en/examples/Makefile
index 982a6755f02..4cddc10f89d 100644
--- a/Master/texmf-doc/doc/english/pdf-forms-tutorial-en/examples/Makefile
+++ b/Master/texmf-doc/doc/english/pdf-forms-tutorial-en/examples/Makefile
@@ -1,7 +1,7 @@
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
+ALLFORMS3= ex0201.pdf ex0301.pdf ex0012.pdf ex0013.pdf
ALLFORMS= $(ALLFORMS1) $(ALLFORMS2) $(ALLFORMS3)
all: allforms
@@ -18,4 +18,4 @@ allforms: $(ALLFORMS)
pdflatex $*
clean:
- -rm -fr *.bbl *.blg *.out *.djs ex00*.pdf ex00*.aux ex00*.log
+ -rm -fr *.bbl *.blg *.out *.djs ex0*.pdf ex0*.aux ex0*.log
diff --git a/Master/texmf-doc/doc/english/pdf-forms-tutorial-en/examples/ex0012.tex b/Master/texmf-doc/doc/english/pdf-forms-tutorial-en/examples/ex0012.tex
new file mode 100644
index 00000000000..b910505e063
--- /dev/null
+++ b/Master/texmf-doc/doc/english/pdf-forms-tutorial-en/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{ABC, Inc.}\chead{}\rhead{XYZ Dept.}
+\lfoot{}\cfoot{}\rfoot{}
+\pagestyle{fancy}
+\usepackage{graphicx}
+\usepackage{color}
+\usepackage[
+ pdftex,a4paper=true,colorlinks=true,
+ pdftitle={Key form},pdfsubject={Key},
+ 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}{Document Level JavaScript}
+
+// 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("from").fillColor = color.white;
+ this.getField("until").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("from").strokeColor = color.black;
+ this.getField("until").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("from").textFont = font.Helv;
+ this.getField("until").textFont = font.Helv;
+ this.getField("from").textColor = color.black;
+ this.getField("until").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("from").fillColor = newcolor;
+ this.getField("until").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("from").strokeColor = newcolor;
+ this.getField("until").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("from").textFont = font.HelvB;
+ this.getField("from").textColor = color.black;
+ this.getField("until").textColor = color.black;
+ this.getField("until").textFont = font.HelvB;
+}
+
+function validateTime()
+{
+ this.delay = true;
+ if((event.value == "u") || (event.value == "unlimited")) {
+ this.getField("from").display = display.hidden;
+ this.getField("until").display = display.hidden;
+ } else {
+ this.getField("from").display = display.visible;
+ this.getField("until").display = display.visible;
+ this.getField("from").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*{Request for a key}
+\begin{Form}
+\begin{tabular}{|rl|}
+\hline
+&\\*[-0.9em]\multicolumn{2}{|c|}{\textbf{Employee}}\\
+&\\*[-0.9em]\textforlabel{vn}{First name:}&%
+\TextField[name=vorname,width=20em,%
+bordercolor={0.65 0.79 0.94}]{}~\pdfannot width 20pt {
+ /Subtype /Text
+ /T (First name)
+ /C [0.65 0.79 0.94]
+ /Name /Help
+ /Contents (Please enter your surname here.)
+}\(\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 (Please enter your name here.)
+}\(\qquad\)\\
+&\\*[-0.9em]\textforlabel{ab}{Department:}&%
+\ChoiceMenu[name=abt,width=20em,popdown=true,combo=true,value=v,%
+bordercolor={0.65 0.79 0.94}]{}{%
+Sales=v,Production=f,Service=s}~\pdfannot width 20pt {
+ /Subtype /Text
+ /T (Department)
+ /C [0.65 0.79 0.94]
+ /Name /Help
+ /Contents (Please choose your department. If your department is not yet listed, please enter the department name.)
+}\(\qquad\)\\
+&\\*[-0.9em]\hline
+&\\*[-0.9em]\multicolumn{2}{|c|}{\textbf{Time}}\\
+&\\*[-0.9em]\textforlabel{z}{Time:}&%
+\ChoiceMenu[name=zeit,width=20em,popdown=true,value=u,%
+validate={validateTime();},%
+bordercolor={0.65 0.79 0.94}]{}{%
+unlimited=u,limited=b}~\pdfannot width 20pt {
+ /Subtype /Text
+ /T (Time)
+ /C [0.65 0.79 0.94]
+ /Name /Help
+ /Contents (Please choose to obtain the key for a limited or unlimited time. If you choose "limited" you have to specify start and end date too.)
+}\(\qquad\)\\
+&\\*[-0.9em]\textforlabel{v}{from:}&%
+\TextField[name=from,width=10em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\textforlabel{b}{until:}&%
+\TextField[name=until,width=10em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\hline
+&\\*[-0.9em]\multicolumn{2}{|c|}{%
+\textbf{Doors}}\\
+&\\*[-0.9em]\textforlabel{th}{Front door:}&%
+\CheckBox[name=ht,width=1.2em,%
+bordercolor={0.65 0.79 0.94}]{}~\pdfannot width 20pt {
+ /Subtype /Text
+ /T (Front door)
+ /C [0.65 0.79 0.94]
+ /Name /Help
+ /Contents (Please activate this checkbox to obtain a key opening the front door.)
+}\(\qquad\)\\
+&\\*[-0.9em]\textforlabel{t1}{Ground floor:}&%
+\CheckBox[name=e1,width=1.2em,%
+bordercolor={0.65 0.79 0.94}]{}~\pdfannot width 20pt {
+ /Subtype /Text
+ /T (Ground floor)
+ /C [0.65 0.79 0.94]
+ /Name /Help
+ /Contents (Please activate this checkbox to obtain a key opening the ground floor.)
+}\(\qquad\)\\
+&\\*[-0.9em]\textforlabel{t2}{First floor:}&%
+\CheckBox[name=e2,width=1.2em,%
+bordercolor={0.65 0.79 0.94}]{}~\pdfannot width 20pt {
+ /Subtype /Text
+ /T (First floor)
+ /C [0.65 0.79 0.94]
+ /Name /Help
+ /Contents (Please activate this checkbox to obtain a key opening the first floor.)
+}\(\qquad\)\\
+&\\
+\hline
+\end{tabular}
+\end{Form}
+\end{document}
diff --git a/Master/texmf-doc/doc/english/pdf-forms-tutorial-en/examples/ex0013.tex b/Master/texmf-doc/doc/english/pdf-forms-tutorial-en/examples/ex0013.tex
new file mode 100644
index 00000000000..aeb163b081a
--- /dev/null
+++ b/Master/texmf-doc/doc/english/pdf-forms-tutorial-en/examples/ex0013.tex
@@ -0,0 +1,203 @@
+\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{ABC, Inc.}\chead{}\rhead{XYZ Dept.}
+\lfoot{}\cfoot{}\rfoot{}
+\pagestyle{fancy}
+\usepackage{graphicx}
+\usepackage{color}
+\usepackage[
+ pdftex,a4paper=true,colorlinks=true,
+ pdftitle={Key form},pdfsubject={Key},
+ 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}{Document Level JavaScript}
+
+// 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("from").fillColor = color.white;
+ this.getField("until").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("from").strokeColor = color.black;
+ this.getField("until").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("from").textFont = font.Helv;
+ this.getField("until").textFont = font.Helv;
+ this.getField("from").textColor = color.black;
+ this.getField("until").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("from").fillColor = newcolor;
+ this.getField("until").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("from").strokeColor = newcolor;
+ this.getField("until").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("from").textFont = font.HelvB;
+ this.getField("from").textColor = color.black;
+ this.getField("until").textColor = color.black;
+ this.getField("until").textFont = font.HelvB;
+}
+
+function validateTime()
+{
+ this.delay = true;
+ if((event.value == "u") || (event.value == "unlimited")) {
+ this.getField("from").display = display.hidden;
+ this.getField("until").display = display.hidden;
+ } else {
+ this.getField("from").display = display.visible;
+ this.getField("until").display = display.visible;
+ this.getField("from").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 = "Please enter your surname here.";
+ this.getField("name").userName = "Please enter your name here.";
+ this.getField("abt").userName = "Please select your department. If your department is not yet listed, enter the department name manually.";
+ this.getField("zeit").userName = "Please chose whether to obtain the key for a limited or unlimited time.";
+ this.getField("from").userName = "Please enter the start date here.";
+ this.getField("until").userName = "Please enter the end date here.";
+ this.getField("ht").userName = "Please activate this checkbox to obtain a key opening the front door.";
+ this.getField("e1").userName = "Please activate this checkbox to obtain a key opening the ground floor.";
+ this.getField("e2").userName = "Please activate this checkbox to obtain a key opening the first floor.";
+ 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*{Request for a key}
+\begin{Form}
+\begin{tabular}{|rl|}
+\hline
+&\\*[-0.9em]\multicolumn{2}{|c|}{\textbf{Employee}}\\
+&\\*[-0.9em]\textforlabel{vn}{First name:}&%
+\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}{Department:}&%
+\ChoiceMenu[name=abt,width=20em,popdown=true,combo=true,value=v,%
+bordercolor={0.65 0.79 0.94}]{}{%
+Sales=v,Production=f,Service=s}\\
+&\\*[-0.9em]\hline
+&\\*[-0.9em]\multicolumn{2}{|c|}{\textbf{Time}}\\
+&\\*[-0.9em]\textforlabel{z}{Time:}&%
+\ChoiceMenu[name=zeit,width=20em,popdown=true,value=u,%
+validate={validateTime();},%
+bordercolor={0.65 0.79 0.94}]{}{%
+unlimited=u,limited=b}\\
+&\\*[-0.9em]\textforlabel{v}{from:}&%
+\TextField[name=from,width=10em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\textforlabel{b}{until:}&%
+\TextField[name=until,width=10em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\hline
+&\\*[-0.9em]\multicolumn{2}{|c|}{%
+\textbf{Doors}}\\
+&\\*[-0.9em]\textforlabel{th}{Front door:}&%
+\CheckBox[name=ht,width=1.2em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\textforlabel{t1}{Ground floor:}&%
+\CheckBox[name=e1,width=1.2em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\*[-0.9em]\textforlabel{t2}{First floor:}&%
+\CheckBox[name=e2,width=1.2em,%
+bordercolor={0.65 0.79 0.94}]{}\\
+&\\
+\hline
+\end{tabular}
+\end{Form}
+\end{document}
diff --git a/Master/texmf-doc/doc/english/pdf-forms-tutorial-en/forms-src/fde0019.tex b/Master/texmf-doc/doc/english/pdf-forms-tutorial-en/forms-src/fde0019.tex
index 0c4ed21f953..814c27b2fd6 100644
--- a/Master/texmf-doc/doc/english/pdf-forms-tutorial-en/forms-src/fde0019.tex
+++ b/Master/texmf-doc/doc/english/pdf-forms-tutorial-en/forms-src/fde0019.tex
@@ -1,4 +1,7 @@
\begin{itemize}
+\item Version 0.9.5 (2008-02-08)\\*
+shows how to add help using \textsc{pdf} annotations or
+tooltip texts.
\item Version 0.9.4 (2007-06-20)\\*
contains a new section how to use the insdljs and inputenc
packages together. German umlauts must not be written directly to strings
@@ -7,7 +10,7 @@ be used instead.
\item Version 0.9.3 (2007-06-15)\\*
contains corrected options for the hyperref package.
\begin{lstlisting}
-pdfpagemode=None
+pdfpagemode=UseNone
\end{lstlisting}
was replaced by
\begin{lstlisting}
diff --git a/Master/texmf-doc/doc/english/pdf-forms-tutorial-en/forms-src/fde0021.tex b/Master/texmf-doc/doc/english/pdf-forms-tutorial-en/forms-src/fde0021.tex
new file mode 100644
index 00000000000..980122fd32e
--- /dev/null
+++ b/Master/texmf-doc/doc/english/pdf-forms-tutorial-en/forms-src/fde0021.tex
@@ -0,0 +1,15 @@
+Online help can be provided on different ways:
+\begin{itemize}
+\item \textsc{pdf} annotations\\
+Annotations are represented using icons. If the user moves the mouse
+over an annotation icon, the annotation text is shown in a tooltip. If the
+user double-clicks the annotation, the note is shown on the screen.\\
+Advantage: Annotations do not need JavaScript.\\
+Disadvantage: Place is needed for the icons.
+\item tooltips\\
+Tooltip text is shown if the user moves the mouse over a form field.
+Most users know the concept of tooltips from other applications.\\
+Tooltip text can not (yet?\footnote{2008-02-07}) be set using
+hyperrefs form field options, so we use JavaScript instructions
+to set up tooltips.
+\end{itemize}
diff --git a/Master/texmf-doc/doc/english/pdf-forms-tutorial-en/forms-src/fde0022.tex b/Master/texmf-doc/doc/english/pdf-forms-tutorial-en/forms-src/fde0022.tex
new file mode 100644
index 00000000000..b8318bf1ee9
--- /dev/null
+++ b/Master/texmf-doc/doc/english/pdf-forms-tutorial-en/forms-src/fde0022.tex
@@ -0,0 +1,22 @@
+To create a help annotation use
+\begin{lstlisting}
+~\pdfannot width 20pt {
+ /Subtype /Text
+ /Name /Help
+ /C [0.65 0.79 0.94]
+ /T (Help text title)
+ /Contents (The help text to show.)
+}\(\qquad\)
+\end{lstlisting}
+No room is reserved by pdf\LaTeX{} for the icon, so we add some
+space (qquad). To have some room between the form field and the help
+icon we use a non-breaking space.
+
+The ``/Name /Help'' entry chooses the annotation icon
+(question mark).\\
+The ``/C'' entry sets the icon color, I recommend to use the same color
+as used in the form fields.
+
+Example ex0012 shows how to use \textsc{pdf} annotations to provide
+help.
+\clearpage
diff --git a/Master/texmf-doc/doc/english/pdf-forms-tutorial-en/forms-src/fde0023.tex b/Master/texmf-doc/doc/english/pdf-forms-tutorial-en/forms-src/fde0023.tex
new file mode 100644
index 00000000000..8367a452a2e
--- /dev/null
+++ b/Master/texmf-doc/doc/english/pdf-forms-tutorial-en/forms-src/fde0023.tex
@@ -0,0 +1,13 @@
+Use
+\begin{lstlisting}
+this.getField("fieldname").userName = "Help text here";
+\end{lstlisting}
+to set up tooltip texts. The instruction should be run in the
+function executed automatically when the document is opened.
+
+Example ex0013 shows how to set up tooltip texts.
+
+If you use the ``inputenc'' package you have to use special
+notations in JavaScript code to express foreign characters
+(i.\,e. german umlauts), see~\vref{sec:fde0020}.
+\clearpage
diff --git a/Master/texmf-doc/doc/english/pdf-forms-tutorial-en/forms-src/forms.tex b/Master/texmf-doc/doc/english/pdf-forms-tutorial-en/forms-src/forms.tex
index f550839f542..fce94e7a786 100644
--- a/Master/texmf-doc/doc/english/pdf-forms-tutorial-en/forms-src/forms.tex
+++ b/Master/texmf-doc/doc/english/pdf-forms-tutorial-en/forms-src/forms.tex
@@ -35,7 +35,7 @@
bookmarksnumbered,
linkcolor=black,
pdfpagemode=UseNone,
- pdfstartview=FitH
+ pdfstartview={XYZ 0 835 1.25}
]{hyperref}
\usepackage{attachfile}
\else
@@ -79,6 +79,10 @@ Ja-va-Script
\subsection{Document events: ex0008 and ex0009}\input{fde0012}\clearpage
\subsection{Form element events: ex0010}\input{fde0013}\clearpage
\subsection{Editable choice list: ex0011}\input{fde0014}\clearpage
+\subsection{Adding help}
+\subsubsection{Overview}\input{fde0021}
+\subsubsection{PDF annotations}\input{fde0022}
+\subsubsection{Tooltips}\input{fde0023}
\section{Another form}
\subsection{Goal}\input{fde0015}
\subsection{Initializing a choice list using JavaScript: ex0101}\input{fde0016}\clearpage
diff --git a/Master/texmf-doc/doc/english/pdf-forms-tutorial-en/forms.pdf b/Master/texmf-doc/doc/english/pdf-forms-tutorial-en/forms.pdf
index 3ba06a7008e..cb4d8dccddb 100644
--- a/Master/texmf-doc/doc/english/pdf-forms-tutorial-en/forms.pdf
+++ b/Master/texmf-doc/doc/english/pdf-forms-tutorial-en/forms.pdf
Binary files differ