In folgendem Beispiel soll der Button eine neue Zeile für einen weiteren employee hinzufügen. Bei jedem Klick soll also ein neues TextField hinzugefügt werden. Schön wäre es, wenn die name-Eigenschaft hochgezählt werden kann. Ist das möglich? Öffne in Overleaf
\documentclass{scrartcl} \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage{hyperref} \usepackage{eforms} \begin{document} \begin{Form} \PushButton{Neue Zeile}\newline \TextField[name=employee1]{} \hfill \newline \sigField{Chef}{5cm}{3cm} \end{Form} \end{document} gefragt 09 Aug '17, 11:08 ErnstZ
Ergebnis 5 von 8
show 3 more comments
|
Das geht AFAIK nur per JavaScript, weil natürlich der Klick auf den Button nicht nachträglich die LaTeX-Datei verändern kann, bzw. das auch nichts nützen würde, weil eine Änderung der LaTeX-Datei noch lange keine Änderung der (geöffneten) PDF-Datei bewirken würde. Das ist so nach dem Prinzip: Wie kann ich erreichen, dass beim Öffnen der Hintertür meines Hauses automatisch ein weiterer Raum angefügt wird. Beim Hausbau kann man das nur berücksichtigen, wenn man eine Maschine vorsieht, die Räume erzeugen kann. Das ist bei PDF JavaScript (und dann trotzdem vom Viewer abhängig).
Danke für die Aufklärung, klingt auch einleuchtend. Verstehe ich es richtig, dass eine nachträgliche Veränderung mittels JavaScript dann nicht von jedem Viewer akzeptiert wird? Wie spricht man denn per JavaScript so ein Dokument an? Gibt es noch andere Möglichkeiten (bspw. lua)?
Man bettet JavaScript in das PDF-Dokument ein. Es gibt von Adobe die JavaScript for Acrobat API Reference. Aber nicht jeder PDF-Viewer unterstützt die komplette API. Ich habe das selbst auch noch nie gemacht. Vielleicht gibt es auf StackOverflow oder StackExchange mehr Infos dazu.
OK, das schaue ich mir an. Danke dir für die Hinweise. Weiß jemand, ob sowas mit luacode bspw. Geht? Muss dazu sagen dass ich noch nie etwas mit luacode gemacht habe, also vielleicht ist die Frage auch obsolet.
Es gibt AFAIK keinen PDF-Viewer, der einen Lua-Interpreter enthält. Wenn wäre es ein Exot.
PDF ist ein ziemlich statisches Format. Ich glaube nicht, dass man da dynamisch Layoutelemente hinzufügen kann. Was vermutlich gehen würde, wäre eine maximale Anzahl von Felder zu erstellen, sie standardmäßig unsichtbar machen und auf Knopfdruck einblenden. Prinzipiell würde ich eher ein Webformular empfehlen. Das HTML DOM ist viel mächtiger als das von PDF und mit jQuery kann man alles ziemlich einfach machen.
@Henri, gute Anregung. Bei Web-Formularen kann man aber vermutlich keine Signationsfelder definieren. Aber ein Ansatz wäre hier vielleicht, erst ein Web-Formular zu nehmen, und daraus dann ein signierfähiges PDF zu erzeugen. Danke euch, muss ich mal durchdenken.
@ErnstZ Natürlich gibt es sowas auch fürs Web: https://www.google.com/search?q=HTML+Signature+Pad