PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : hyperref: Zugriff auf Eingabe bei \TextField



msthab
20-04-2017, 09:06
Hallo,

mit \TextField kann ich mit dem hyperref-Paket im pdf-File Daten vom Leser eingeben lassen.
Wie kann ich auf diese Daten wieder zugreifen? Das Dokument soll an einer anderen Stelle den eingegebenen Text wieder anzeigen. Es müsste wahrscheinlich irgendwie mit Javascript gehen, aber ich weiss leider nicht wie.

Vielen Dank für alle Hinweise!

Manfred


\documentclass[10pt,ngerman,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{hyperref}
\usepackage{xcolor}
\setlength{\parskip}{\smallskipamount}
\setlength{\parindent}{0pt}

\begin{document}
\TextField[name=Vorname, width=5cm, bordercolor={red}]{Geben Sie Ihren Vornamen ein:}

Ihr Vorname lautet: \itshape(hier soll der eingegebene Vorname automatisch erscheinen)

\end{document}

rais
23-04-2017, 22:07
mit \TextField kann ich mit dem hyperref-Paket im pdf-File Daten vom Leser eingeben lassen.
Wie kann ich auf diese Daten wieder zugreifen? Das Dokument soll an einer anderen Stelle den eingegebenen Text wieder anzeigen. Es müsste wahrscheinlich irgendwie mit Javascript gehen, aber ich weiss leider nicht wie.

schau mal hier: Dokumente einfach interaktiv (ftp://ftp.fernuni-hagen.de/pub/pdf/urz-broschueren/unplugged/upl007.pdf)

BTW: Dein \TextField ist außerhalb einer Form-Umgebung falsch angewandt, AFAICS.

VG

msthab
25-04-2017, 10:07
Vielen Dank für den Hinweis.

In JavaScript kann ich offenbar mit

this.getField.value(’name’)

auf den eingegebenen Inhalt zugreifen. Aber wie implementiere ich diesen Befehl in LaTex so, dass der Inhalt wieder automatisch im pdf-File angezeigt wird?

rais
29-04-2017, 10:38
LaTeX hat seine Arbeit längst getan (sonst hättest Du noch kein pdf), aus LaTeX-Sicht könntest Du bestenfalls Platz für die Ausgabe reservieren, vllt in Form einer weiteren \TextField-Anweisung.


Der Rest ist reines Javascript...

also wirst Du Dich wohl etwas mit Javascript beschäftigen dürfen, damit kenne ich mich nicht gut genug aus.

VG

msthab
03-05-2017, 12:53
Ich habe eine ganz einfache Lösung gefunden, ganz ohne JavaScript.
Einfach ein zweites \TextField mit dem gleichen Namen einfügen. Siehe Code



\documentclass[10pt,ngerman,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{hyperref}
\usepackage{xcolor}
\setlength{\parskip}{\smallskipamount}
\setlength{\parindent}{0pt}

\begin{document}

\begin {Form}
\TextField[name=Vorname, width=5cm, bordercolor={red}]{Geben Sie Ihren Vornamen ein:}
\\
\\
\TextField[name=Vorname, width=5cm, bordercolor={blue}]{Ihr Name lautet:}
\end {Form}
\end{document}