Ich versuchs einfach mal.

Hier "Wie erstelle ich ein gutes ausfüllbares PDF-Formular?" hat @Ijon schon gezeigt, daß man mitunter in der Datei hypperref.sty schauen muß, um den entsprechenden Befehl rauszusuchen (im Handbuch steht wohl nicht alles). Ich finde aber leider nicht, wo die Schriftart der Formularfelder, scheints sffamily (siehe Bild), festgelegt wird.

Ich würde hier gerne Schreibmaschinenschrift verwenden, anspielend auf die Machart, früher Vordrucke mit der Schreibmaschine auszufüllen.

alt text

Open in writeLaTeX
\documentclass[a4paper]{scrartcl}
\usepackage{xcolor}
\usepackage{hyperref}
\begin{document}
\begin{Form}

\TextField[name=Name,width=5cm,  bordercolor={blue}, borderstyle=U]{Name:}

\end{Form}
\end{document}

Verwandschaft: Wie passe ich den Stil von Formularfeldern an, insbesondere das Setzen des Labels unter das Feld und Rahmen bei Textfeldern?

gefragt 31 Jul '14, 19:33

cis's gravatar image

cis
9.5k95459491
Akzeptiert-Rate: 29%

bearbeitet 04 Aug '14, 16:55

cgnieder's gravatar image

cgnieder
22.1k253463

Wieso tut das egtl. nicht?

\renewcommand*{\LayoutTextField}[2]{% label, field

#1 \texttt{#2}}%

(01 Aug '14, 18:14) cis

@cis: AFAIK wird für die Texteingaben der im PDF-Browser dafür eingestellte Font verwendet. Anderenfalls müsste der Font ja komplett eingebunden sein (was Font-Lizenzen übrigens häufig gar nicht erlauben). Bei mir werden jedenfalls auf unterschiedlichen System unterschiedliche Fonts verwendet. Vermutlich kann man per JavaScript entsprechende Einstellungen vornehmen. AFAIR hat hyperref auch eine Formular-Option für Stiländerungen per JavaScript, oder irre ich mich? Es gibt auf jeden Fall eine Option für die Schriftgröße.

(01 Aug '14, 18:37) gast3

Ja die Optionen für Schriftgröße und auch Schriftfarbe habe ich gesehen. Theoretisch sollte es so gehen: http://tex.stackexchange.com/questions/36630/hyperref-how-to-format-text-in-a-forms-text-field Aber egal, was ich statt 'Verdana' da hinschreibe - es ändert sich nichts :(

(01 Aug '14, 18:50) cis

@cis: Du benötigst einen JavaScript-fähigen PDF-Browser und musst einen Font eingeben, der bei Dir (bzw. beim Empfänger des PDFs) installiert ist und vom PDF-Browser auch gefunden wird bzw. als verwendbar akzeptiert wird. Einstellungen, die auf Gegebenheiten beim Empfänger angewiesen sind, sind immer ein wenig ein Glücksspiel. Das Problem hatten wir früher schon mit DVI-Dateien (in denen man bekanntlich keine Fonts einbinden kann).

(01 Aug '14, 19:50) gast3

Dann ist die Aufgabe egtl. eh ziemlich sinnlos, weil man nicht weiß, was der Empfänger als Viewer verwendet. Andererseits dürften 90% der Leute AdobeAcrobarReader verwenden; darauf müßte eine Lösung zugeschnitten sein.

(01 Aug '14, 19:57) cis

@cis Wieviele Leute einen AdobeReader verwenden, kann ich nicht abschätzen. In meinem Bekanntenkreis sind es immer weniger, weil Adobe Linux nicht mehr unterstützt und unter Windows nicht nur bei der Einbindung in LaTeX-Editoren immer wieder Probleme auftauchen, die es mit anderen nicht gibt. Leider ist AdobeReader auch nicht gleich AdobeReader, sondern die Version ist von erheblicher Bedeutung. AFAIK sind auch bei neueren Versionen teilweise andere Fonts dabei. Das macht die Suche nach immer verfügbaren Fonts selbst unter der Voraussetzung Adobe Reader nicht ganz einfach.

(01 Aug '14, 20:10) gast3
Ergebnis 5 von 6 show 1 more comments

Hab es hinbekommen:

alt text (Ausgabedatei)

Open in writeLaTeX
\documentclass[parskip=half, a5paper, landscape]{scrartcl}
\usepackage{selinput}
\SelectInputMappings{adieresis={ä}, germandbls={ß}}
\usepackage[ngerman]{babel}

\usepackage[margin=0.5cm, left=1cm]{geometry}
\usepackage{xcolor}
\usepackage{tikz}
     \usetikzlibrary{positioning}
\usepackage{hyperref}

\pagestyle{empty}

\addtokomafont{subsection}{\rule{\textwidth}{1pt}\newline}

% =======================================
% Textfelder festlegen:

% Texfeld-Optionen
\renewcommand{\DefaultOptionsofText}{print, bordercolor={white}, backgroundcolor=lightgray, borderwidth=1pt}

%Textfeld-Layout
\def\Titel{foo}
%
\newlength{\TitelBreite}
%\settowidth{\TitelBreite}{\Titel}
\renewcommand{\LayoutTextField}[2]{% 
\settowidth{\TitelBreite}{\Titel}
%
\begin{tikzpicture}
    \node[anchor=west] (TextFieldNode) at (0cm,2ex) {#2};
    \draw[thick] ([yshift=-0.6ex]TextFieldNode.north west) -- (TextFieldNode.south west) -- ([xshift=-0.6ex]TextFieldNode.south east);
    \node[anchor=west,font=\footnotesize\sffamily] at (0cm,-1.75ex) {#1};
\node[left = \TitelBreite+2.5ex of TextFieldNode, anchor=west,font=\bfseries, align=left]  {\Titel};
\end{tikzpicture}
}%

% Textfeld-Name und Schreibmaschinenschrift festlegen:
% \textfield{<label-name>}{<title-name>}{<width>}{<further-options>}{<title>}
\newcommand{\textfield}[5]{
\edef\Titel{#5}
\TextField[name = #1, width=#3, height=1em,  charsize =12pt,
format = { var f = this.getField('#1');
               f.textFont = 'Courier';
               }, #4
% value = WORT,
]
{#2}
}
% =======================================
\newcommand*{\GESCHLECHT}{%
\begin{tikzpicture}[overlay]
\node[label={below:m}, draw, thick, circle, inner sep=1.5pt, xshift=2em] (M) {$\!\!\!\!$\ChoiceMenu[radio, radiosymbol=6, width=2.5mm, height=2.5mm, bordercolor={white},  default=m, name=Geschlecht]{}{=maenl}};

\node[label={below:w}, draw, thick, circle, inner sep=1.5pt, right = 2ex of M]  {$\!\!\!\!$\ChoiceMenu[radio, radiosymbol=6, width=2.25mm, , height=2.5mm, bordercolor={white},  name=Geschlecht]{}{=weibl}};

\node[font=\footnotesize, below = 2ex of M, xshift=3ex] {Geschlecht};
\end{tikzpicture}
}%
% =======================================

%\renewcommand*{\familydefault}{\sfdefault}
\begin{document}
\begin{Form}[action=mailto:forms@stackexchange.invalid?subject={The submitted form},method=post]

%\subsection*{Formular}
%\textfield{NACHNAME}{Nachname}{0.4\textwidth}{}{Name:}
%\textfield{VORNAME}{Vorname}{0.4\textwidth}{}{}

\begin{tabular}{|lcr|}\hline
\textbf{Ausfüllbogen} & & \\[1ex] \hline
& & \\
\textbf{Name:} & & \\
\textfield{VORNAME}{Vorname}{6cm}{value=Muster}{}
&
& \textfield{NACHNAME}{Nachname}{6cm}{value=Marta}{} \\
& & \\
\GESCHLECHT %\ChoiceMenu[radio, radiosymbol=6, width=0.5cm, name=Geschlecht]{\textbf{Geschlecht:}}{männlich=m,weiblich=w}
&
&\ChoiceMenu[combo, name=Land]{Land:}%
{Deutschland,{\"O}sterreich,Schweiz} \\
& & \\
& & \\
\textbf{Adresse:} & & \\
\textfield{STRASSE}{Straße}{6cm}{}{}
& \textfield{PLZ}{PLZ}{2cm}{}{}
& \textfield{ORT}{Ort}{6cm}{}{} \\
& & \\
\textfield{GEBURT}{Geburtsdatum}{3cm}{}{} & & \\
& & \\
\CheckBox[width=0.5cm, name=Geld]{Münzen gezählt?}
& \CheckBox[width=0.5cm, name=Katze]{Katze gefüttert?}
& \CheckBox[width=0.5cm, name=Pflanze]{Pflanzen gegossen?} \\
& & \\ \hline
\end{tabular} \\[1ex]
\PushButton[name=calc,onclick={app.alert("Hier bitte N I C H T draufklicken!")}]%
{Hier bitte nicht draufklicken}
\CheckBox[name=Katze]{\textbf{Checkbox funktioniert hier ohne width}}\\[0.75ex]
%
\edef\Titel{Notizen:}
\TextField[multiline, name=Notizen,width=0.9\textwidth, height=2cm,borderstyle=D,value={}, backgroundcolor={0.95
0.95 0.95}]{}
\Reset{Reset} \quad \Submit{Submit} 
\quad  \Acrobatmenu{Print}{Print}  
\quad \Acrobatmenu{SaveAs}{\fcolorbox{black}{yellow}{Dokument speichern}} 
\quad \Acrobatmenu{Quit}{Quit}
\quad \href{http://texwelt.de/wissen/fragen/7768/wie-erstelle-ich-ein-gutes-ausfullbares-pdf-formular}{Info}

\end{Form}
\end{document}
Permanenter link

beantwortet 03 Aug '14, 20:51

cis's gravatar image

cis
9.5k95459491
Akzeptiert-Rate: 29%

bearbeitet 03 Aug '14, 20:52

@Stefan / @Clemens / @esdd: Wenn ich mal ein graphisch ausgefallenes Formular zum Nachbasteln hätte, wäre das was für Tikz.de - hier ist halt der tikz-Anteil gering.

(04 Aug '14, 03:43) cis
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×62
×17
×5

gestellte Frage: 31 Jul '14, 19:33

Frage wurde gesehen: 12,899 Mal

zuletzt geändert: 04 Aug '14, 16:55