Raketenwissenschaftler: Der einfache Weg mit den besten Ergebnissen: PDF erzeugen mit PHP und LaTeX

Beitrag lesen

WARUM Du eigentlich HTML in PDFs umwandeln willst.

(Ich hab schon ein paar Mal erwähnt, dass ICH das mit LaTeX machen würde, Vorlagen z.B. aus Libreoffice als tex exportieren und dann manuell anpassen ...)

Hier mal die Vorlage (template) mit Platzhaltern: (vorlage.tex)

\documentclass{article}
\usepackage{geometry}
\geometry{a4paper, top=15mm, left=25mm, right=25mm, bottom=30mm,
headsep=10mm, footskip=12mm}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{amsmath}
\usepackage{amssymb,amsfonts,textcomp}
\usepackage{array}
\usepackage{supertabular}
\usepackage{hhline}
\usepackage{ulem}
\makeatletter
\newcommand\arraybslash{\let\\\@arraycr}
\makeatother
\setlength\tabcolsep{1mm}
\renewcommand\arraystretch{1.3}
\renewcommand{\familydefault}{\sfdefault}
\usepackage{helvet}
\thispagestyle{empty}
\title{Rechnung D.RNUMMER vom D.DATUM}
\begin{document}
\large{}
\begin{tabbing}
\hspace{11cm}
D.ABSENDER.VORNAME D.ABSENDER.NACHNAME\\
\hspace{11cm}
D.ABSENDER.STRASSE\\
\hspace{11cm}
D.ABSENDER.PLZ D.ABSENDER.ORT\\\\
\bigskip
\hspace{11cm}
Steuernummer D.ABSENDER.STEUERNUMMER\\
\hspace{11cm}
(FA D.ABSENDER.ORT)\\
\hspace{11cm}
Rechnungsnummer D.RNUMMER\\
\hspace{11cm}
D.ABSENDER.ORT, am D.DATUM
\end{tabbing}
\small{\uline{D.ABSENDER.VORNAME D.ABSENDER.NACHNAME, D.ABSENDER.STRASSE, D.ABSENDER.PLZ D.ABSENDER.ORT}}
\large{}
\bigskip\\
D.ADDR.FIRMA\\
D.ADDR.PERSON\bigskip\\
D.ADDR.STRASSE\\
D.ADDR.PLZ D.ADDR.ORT\bigskip\\
\bigskip\\
\textbf{Rechnung für Dienstleistungen}
\bigskip\\
%\begin{center}
\tablehead{}
\begin{supertabular}{|m{9cm}m{2.5cm}|m{2.5cm}|}
\hline
\multicolumn{1}{|m{10.597cm}|}{\textbf{Leistung}} &
\textbf{Termin} &
\textbf{Betrag}\\
\hline
\multicolumn{1}{|m{10.597cm}|}{
\bigskip
D.LEISTUNG.1\newline
D.LEISTUNG.2\newline
D.LEISTUNG.3\newline
D.LEISTUNG.4
~
} &
\bigskip
D.T.1\newline
D.T.2\newline
D.T.3
&
\raggedleft\arraybslash D.NETTO\\
\hline
\multicolumn{2}{|m{8cm}|}{\textbf{Summe:}} &
\raggedleft\arraybslash \textbf{D.NETTO}\\
\hline
\multicolumn{2}{|m{8cm}|}{\textbf{Umsatzsteuer:} (D.USTSATZ\%)} &
\raggedleft\arraybslash D.UST\\
\hline
\multicolumn{2}{|m{8cm}|}{\textbf{Gesamt:}} &
\raggedleft\arraybslash \textbf{D.BRUTTO}\\\hline
\end{supertabular}
%\end{center}
\bigskip\\
Ich bitte um Überweisung des Betrages von D.BRUTTO~unter Angabe der Rechnungsnummer D.RNUMMER auf mein Konto:
\bigskip
\begin{center}
\tablehead{}
\begin{supertabular}{m{2.259cm}m{0.2cm}m{10.908cm}}
\raggedleft Konto-Nr.:&~&D.KONTONR\\
\raggedleft Inhaber:&~&D.ABSENDER.VORNAME D.ABSENDER.NACHNAME\\
\raggedleft BLZ:&~&D.BANKLEITZAHL (D.BANK.NAME)\\
\raggedleft IBAN:&~&D.BANK.IBAN\\
\raggedleft BIC:&~&D.BANK.BIC\\
\end{supertabular}
\end{center}
\bigskip
\bigskip
Mit freundlichen Grüßen
\bigskip\\
D.ABSENDER.VORNAME D.ABSENDER.NACHNAME\\
D.ABSENDER.ORT, am D.DATUM
\end{document}

Das hatte ich aus libreoffice exportiert (Speichern unter …) und dann ein wenig „gestrippt“.

Darin wird einfach alles, was der hash $date an keys so hergibt, mit dessen Wert ersetzt und dann wird das Ergebnis durch pdflatex "gejagt", welches ein wunderbares, durchsuchbares und speichersparendes PDF erzeugt. Nichts davon ist „Raketenwissenschaft“.

Aber: „He! Wer will es denn einfach und mit tollen Ergebnissen, wenn es auch kompliziert und schlecht geht?“