Formulare ausfüllen mit LaTeX
Anbei mal ein Beispiel, wie man mit LaTeX Papierformulare ausfüllen kann, Grundlage war ein eingescanntes Avery Zweckform-Formular vom Typ Überweisungsformular 2816, formular.pdf, über das entsprechende Textfelder gelegt sind. Das geänderte Spacing ist eigentlich nicht nötig, ich wollte aber genau in die einzelnen Buchstabenfelder reindrucken.
\documentclass[fontsize=14pt,ngerman]{scrartcl} \usepackage[latin1]{inputenc} \usepackage[T1]{fontenc} \usepackage[]{graphicx} \newcommand{\mybank}{MBS Potsdam} \newcommand{\myblz}{15070000} \newcommand{\myaccount}{1234567890} \newcommand{\sender}{Uwe Ziegenhagen} \newcommand{\receiver}{Stammtisch} \newcommand{\receiverbank}{KSK Köln} \newcommand{\receiverblz}{14080000} \newcommand{\receiveraccount}{3234567891} \newcommand{\amount}{123,45----} \newcommand{\reference}{Beitrag 2010} \newcommand{\morereference}{Uwe Ziegenhagen,Köln} % to position textblocks on the page \usepackage[absolute,overlay]{textpos} \setlength{\TPHorizModule}{1mm} \setlength{\TPVertModule}{1mm} \usepackage[]{microtype} %use textls{<Text>} to control space between characters % override definition of pagesize \usepackage[screen,paperheight=29.7cm, paperwidth=21cm, left=0mm,right=0mm, top=0mm,bottom=0mm]{geometry} % \usepackage{eso-pic} % to include the scanned form in the background % useful for positioning the boxes \usepackage[num]{isodate} % Date i dd.mm.yyyy Format \newcommand{\mtscale}{250} % scaling factor for the \textls command \newcommand{\boxfactor}{1.3} % Scalefactor for the text % put everything in one command \newcommand{\putformtext}[1]{\scalebox{\boxfactor}{\texttt{\textls[\mtscale]{#1}}}} % \begin{document} % next line requires scanned form \AddToShipoutPicture*{\put(0,0){\includegraphics{formular}}} \begin{textblock*}{50mm}(1mm,9mm) \putformtext{\mybank} \end{textblock*} \begin{textblock*}{50mm}(65mm,9mm) \putformtext{\myblz} \end{textblock*} \begin{textblock*}{50mm}(2.5mm,22mm) \putformtext{\receiver} \end{textblock*} \begin{textblock*}{50mm}(2.5mm,31mm) \putformtext{\receiveraccount} \end{textblock*} \begin{textblock*}{50mm}(98mm,31mm) \putformtext{\receiverblz} \end{textblock*} \begin{textblock*}{50mm}(2.5mm,39mm) \putformtext{\receiverbank} \end{textblock*} \begin{textblock*}{50mm}(78mm,48mm) \putformtext{\amount} \end{textblock*} \begin{textblock*}{50mm}(2.5mm,56mm) \putformtext{\reference} \end{textblock*} \begin{textblock*}{50mm}(2.5mm,65mm) \putformtext{\morereference} \end{textblock*} \begin{textblock*}{50mm}(2.5mm,73mm) \putformtext{\sender} \end{textblock*} \begin{textblock*}{50mm}(2.5mm,82mm) \putformtext{\myaccount} \end{textblock*} \begin{textblock*}{50mm}(58mm,97mm) \texttt{\today} \end{textblock*} %%%%%%%%%%%%%%%%%%%%%%% Zweiter Teil \begin{textblock*}{50mm}(1mm,114mm) \putformtext{\mybank} \end{textblock*} \begin{textblock*}{50mm}(65mm,114mm) \putformtext{\myblz} \end{textblock*} \begin{textblock*}{50mm}(2.5mm,128mm) \putformtext{\receiver} \end{textblock*} \begin{textblock*}{50mm}(2.5mm,137mm) \putformtext{\receiveraccount} \end{textblock*} \begin{textblock*}{50mm}(98mm,137mm) \putformtext{\receiverblz} \end{textblock*} \begin{textblock*}{50mm}(2.5mm,145mm) \putformtext{\receiverbank} \end{textblock*} \begin{textblock*}{50mm}(78mm,153mm) \putformtext{\amount} \end{textblock*} \begin{textblock*}{50mm}(2.5mm,163mm) \putformtext{\reference} \end{textblock*} \begin{textblock*}{50mm}(2.5mm,170mm) \putformtext{\morereference} \end{textblock*} \begin{textblock*}{50mm}(2.5mm,179mm) \putformtext{\sender} \end{textblock*} \begin{textblock*}{50mm}(2.5mm,188mm) \putformtext{\myaccount} \end{textblock*} \end{document} |