Projekt

Allgemein

Profil

Herunterladen (28,1 KB) Statistiken
| Zweig: | Markierung: | Revision:
<
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>2.14. Drucken mit kivitendo</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo 3.8.0: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s13.html" title="2.13. E-Mail"><link rel="next" href="ch02s15.html" title="2.15. OpenDocument-Vorlagen"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.14. Drucken mit kivitendo</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s13.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s15.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.14. Drucken mit kivitendo"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Drucken-mit-kivitendo"></a>2.14. Drucken mit kivitendo</h2></div></div></div><p>Das Drucksystem von kivitendo benutzt von Haus aus LaTeX-Vorlagen.
Um drucken zu können, braucht der Server ein geeignetes LaTeX System. Am
einfachsten ist dazu eine <code class="literal">texlive</code> Installation. Unter
debianoiden Betriebssystemen installiert man die Pakete mit:</p><p>
</p><pre class="programlisting">apt install texlive-base-bin texlive-latex-recommended texlive-fonts-recommended \
texlive-latex-extra texlive-lang-german ghostscript</pre><p>
</p><p>Für Fedora benötigen Sie die folgenden Pakete:</p><p>
</p><pre class="programlisting">dnf install texlive-collection-latex texlive-collection-latexextra \
texlive-collection-latexrecommended texlive-collection-langgerman \
texlive-collection-langenglish</pre><p>
</p><p>Für openSUSE benötigen Sie die folgenden Pakete:</p><p>
</p><pre class="programlisting">zypper install texlive-collection-latex texlive-collection-latexextra \
texlive-collection-latexrecommended texlive-collection-langgerman \
texlive-collection-langenglish</pre><p>
</p><div class="note" title="Anmerkung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Anmerkung]" src="system/docbook-xsl/images/note.png"></td><th align="left">Anmerkung</th></tr><tr><td align="left" valign="top"><p>kivitendo erwartet eine aktuelle TeX Live Umgebung, um PDF/A zu erzeugen. Aktuelle Distributionen von 2020 erfüllen diese. Überprüfbar ist dies mit dem Aufruf des installation_check.pl mit Parameter -l:</p><p>
</p><pre class="programlisting">scripts/installations_check.pl -l</pre><p>
</p></td></tr></table></div><p>kivitendo bringt drei alternative Vorlagensätze mit:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>RB</p></li><li class="listitem"><p>marei</p></li><li class="listitem"><p>rev-odt</p></li></ul></div><p>Der ehemalige Druckvorlagensatz "f-tex" wurde mit der Version
3.5.6 entfernt, da er nicht mehr gepflegt wird.</p><div class="sect2" title="2.14.1. Vorlagenverzeichnis anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Vorlagenverzeichnis-anlegen"></a>2.14.1. Vorlagenverzeichnis anlegen</h3></div></div></div><p>Es lässt sich ein initialer Vorlagensatz erstellen. Die
LaTeX-System-Abhängigkeiten hierfür kann man prüfen mit:</p><pre class="programlisting">./scripts/installation_check.pl -lv</pre><p>Der Angemeldete Benutzer muss in einer Gruppe sein, die über das
Recht "Konfiguration -&gt; Mandantenverwaltung" verfügt. Siehe auch
<a class="xref" href="ch02s11.html#Gruppen-anlegen" title="2.11.4. Gruppen anlegen">Abschnitt&nbsp;2.11.4, „Gruppen anlegen“</a>.</p><p>Im Userbereich lässt sich unter: "<span class="guimenu">System</span>
-&gt; <span class="guisubmenu">Mandantenverwaltung</span> -&gt;
<span class="guimenuitem">Verschiedenes</span>" die Option "Neue
Druckvorlagen aus Vorlagensatz erstellen" auswählen.</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
<code class="option">Vorlagen auswählen</code>: Wählen Sie hier den
Vorlagensatz aus, der kopiert werden soll
(<code class="filename">RB</code>, <code class="filename">marei</code> oder
<code class="filename">odt-rev</code>.)</p></li><li class="listitem"><p>
<code class="option">Neuer Name</code>: Der Verzeichnisname für den
neuen Vorlagensatz. Dieser kann im Rahmen der üblichen Bedingungen
für Verzeichnisnamen frei gewählt werden.</p></li></ol></div><p>Nach dem Speichern wird das Vorlagenverzeichnis angelegt und ist
für den aktuellen Mandanten ausgewählt. Der gleiche Vorlagensatz kann,
wenn er mal angelegt ist, bei mehreren Mandanten verwendet werden.
Eventuell müssen Anpassungen (Logo, Erscheinungsbild, etc) noch
vorgenommen werden. Den Ordner findet man im Dateisystem unter
<code class="filename">./templates/[Neuer Name]</code>
</p></div><div class="sect2" title="2.14.2. Der Druckvorlagensatz marei"><div class="titlepage"><div><div><h3 class="title"><a name="Aufbau des marei Vorlagensatzes"></a>2.14.2. Der Druckvorlagensatz marei</h3></div></div></div><div class="note" title="Anmerkung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Anmerkung]" src="system/docbook-xsl/images/note.png"></td><th align="left"><a name="marei.document.link"></a>Anmerkung</th></tr><tr><td align="left" valign="top"><p>Die aktuelle Dokumentation inkl. dem Foliensatz vom kivi-Treffen im August 2023 befindet sich hier:
<a class="ulink" href="https://peitex.de/materialien/2023-08-04_kivitendo/" target="_top"> https://peitex.de/materialien/2023-08-04_kivitendo/</a>
</p></td></tr></table></div><div class="sect3" title="2.14.2.1. Quickstart – Wo kann was angepasst werden?"><div class="titlepage"><div><div><h4 class="title"><a name="Quickstart %E2%80%93 Wo kann was angepasst werden?"></a>2.14.2.1. Quickstart – Wo kann was angepasst werden?</h4></div></div></div><div class="note" title="Anmerkung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Anmerkung]" src="system/docbook-xsl/images/note.png"></td><th align="left"><a name="do-not-edit-marei"></a>Anmerkung</th></tr><tr><td align="left" valign="top"><p>In keinem Fall sollten Dateien mit der Endung <code class="filename">*.cls</code> oder <code class="filename">*.sty</code> geändert werden. Durch Änderungen an diesen Dateien verhindert man Updates auf neuer Versionen.
Zwar kopiert kivitendo die Datei und bearbeitet diese beim Update nicht. Allerdings sind sämtliche Änderungen über die Konfigurationsdateien möglich und erhöhen die Wartbarkeit.</p></td></tr></table></div><div class="itemizedlist"><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>Pfad zu Angaben über Mandant*innen (default: firma)</p></li><li class="listitem"><p>Logo/Briefpapier, falls für alle Mandant*innen in gleicher Struktur. Sonst in der <code class="filename">ident.tex</code>.</p></li><li class="listitem"><p>Layout der Kopf/Fußzeile</p></li><li class="listitem"><p>innerhalb dieser Datei werden auch die folgenden Dateien geladen:</p></li><li class="listitem"><p>
<code class="filename">firma/ident.tex</code> Mandant*innenspezifische Konfiguration, Adressdaten</p></li><li class="listitem"><p>
<code class="filename">firma/$währungskürzel_account.tex</code>
</p></li></ul></div><ul class="itemizedlist" type="disc"><li class="listitem"><p>
<code class="filename">insettings.tex</code> :</p></li><li class="listitem"><p>Sprache/Übersetzungen.\\Es muss mindestens eine Sprache angelegt werden! </p><pre class="programlisting">
\item[deutsch.tex] Textschnipsel für Deutsch\\
Dafür eine Sprache mit Vorlagenkürzel DE anlegen
\item[english.tex] Textschnipsel für Englisch\\
Dafür eine Sprache mit Vorlagenkürzel EN anlegen
</pre><p>
</p></li></ul></div><p>Alle dokumententypspezifischen Einstellungen müssen in der jeweiligen Template-Datei modifiziert werden.</p></div><div class="sect3" title="2.14.2.2. Aufbau"><div class="titlepage"><div><div><h4 class="title"><a name="Aufbau"></a>2.14.2.2. Aufbau</h4></div></div></div><p>Die Grundstruktur besteht je Dokumententyp aus einer Basisdatei und verschiedenen Setup-Dateien.</p><p>Die Basis wurde so überarbeitet, dass Dokumente nun generell auf
der Dokumentenklasse <code class="filename">scrartcl.cls</code> basieren und
das Paket <code class="filename">kiviletter.sty</code> benutzen.</p><p>Mandant*innenspezifische Konfiguration findet sich in der Datei <code class="filename">insettings.tex</code> und
dem Ordner eines spezifischen Mandant*innen (default=*firma/*).</p></div><div class="sect3" title="2.14.2.3. Mandant*innen / Firma"><div class="titlepage"><div><div><h4 class="title"><a name="Mandant*innen / Firma"></a>2.14.2.3. Mandant*innen / Firma</h4></div></div></div><p>Um gleiche Vorlagen für verschiedene Firmen verwenden zu können, wird je
nach dem Wert der Kivitendo-Variablen \kivivar{kivicompany} ein
Firmenverzeichnis ausgewählt (siehe <code class="filename">insettings.tex</code>), in dem Briefkopf,
Identitäten und Währungs-/Kontoeinstellungen hinterlegt sind.
\kivivar{kivicompany} enthält den Namen des verwendeten Mandant*innendaten.
Ist kein Firmenname eingetragen, so wird das
generische Unterverzeichnis *firma* verwendet.</p></div><div class="sect3" title="2.14.2.4. Identitäten"><div class="titlepage"><div><div><h4 class="title"><a name="Identit%C3%A4ten"></a>2.14.2.4. Identitäten</h4></div></div></div><p>In jedem Firmen-Unterverzeichnis soll eine Datei <code class="filename">ident.tex</code>
vorhanden sein, die mit |\newcommand| Werte für |\telefon|, |\fax|,
|\firma|, |\strasse|, |\ort|, |\ustid|, |\email| und |\homepage| definiert.</p></div><div class="sect3" title="2.14.2.5. Währungen/Konten"><div class="titlepage"><div><div><h4 class="title"><a name="W%C3%A4hrungen/Konten"></a>2.14.2.5. Währungen/Konten</h4></div></div></div><p>Für jede Währung (siehe <code class="filename">insettings.tex</code>) soll eine Datei vorhanden
sein, die das Währungssymbol (|\currency|) und folgende Angaben für
ein Konto in dieser Währung enthält |\kontonummer|, |\bank|,
|\bankleitzahl|, |\bic| und |\iban|.
So kann in den Dokumenten je nach Währung ein anderes Konto
angegeben werden.
Nach demselben Schema können auch weitere, alternative Bankverbindungen
angelegt werden, die dann in <code class="filename">insettings.tex</code> als Variable in der Fußzeile eingefügt werden.</p><p>Als Fallback (falls kivitendo keine Währung an das Druckvorlagen-System übergibt)
ist Euro eingestellt. Dies lässt sich in der <code class="filename">insettings.tex</code> über das optionale Argument
von |\setupCurrencyConfig| anpassen, z.B.</p><pre class="programlisting">
\setupCurrencyConfig[chf]{\identpath}{\lxcurrency}</pre><p>für Schweizer Franken als Standardwährung.</p></div><div class="sect3" title="2.14.2.6. Briefbogen/Logos"><div class="titlepage"><div><div><h4 class="title"><a name="Briefbogen/Logos"></a>2.14.2.6. Briefbogen/Logos</h4></div></div></div><p>Eine Hintergrundgrafik oder ein Logo kann in Abhängigkeit vom
Medium (z.B. nur beim Verschicken mit E-Mail) eingebunden
werden.</p><p>Desweiteren sind (auskommentierte) Beispiele enthalten für eine
Grafik als Briefkopf, nur ein Logo, oder ein komplettes A4-PDF
als Briefpapier.</p><p>Absolute Positionierung innerhalb des Brief-Layouts ist über die entsprechende Dokumentation des scrlayer-Paketes möglich.
Da die Voreinstellungen bereits einige Sonderfälle automatisch berücksichtigen ist mit den Anpassungen Vorsicht geboten.
Sämtliche Einstellungen sollten jedoch außerhalb der *.sty-Dateien vorgenommen werden.
Anpassungen der <code class="filename">insettings.tex</code> betreffen hierbei alle Mandant*innen. Spezifischere Einstellungen sind über die zugehörige Konfigurationsdatei (<code class="filename">ident.tex</code>) möglich.
In diesem Fall kann zum Ende der insettings eine weitere Konfigurationsdatei über die Verwendung von |\identpath| geladen werden. Ein Beispiel ist in der <code class="filename">insettings.tex</code> enthalten.</p></div><div class="sect3" title="2.14.2.7. Fußzeile"><div class="titlepage"><div><div><h4 class="title"><a name="Fu%C3%9Fzeile"></a>2.14.2.7. Fußzeile</h4></div></div></div><p>Die Tabelle im Fuß verwendet die Angaben aus <code class="filename">firma/ident.tex</code> und
*firma/<code class="filename">\_account.tex</code>. Ihre Struktur wird in der <code class="filename">insettings.tex</code> definiert.
Sie kann anschließend auch Mandant*innenspezifisch überschrieben werden.</p></div><div class="sect3" title="2.14.2.8. Seitenstil/Basislayout"><div class="titlepage"><div><div><h4 class="title"><a name="Seitenstil/Basislayout"></a>2.14.2.8. Seitenstil/Basislayout</h4></div></div></div><p>Das Seitenlayout wird über \pck{scrlayer-scrpage} bestimmt. Die ausführliche Dokumentation findet sich in \cite{scrguide}.
Es existieren in der Datei <code class="filename">insettings.tex</code> einige Hinweise zu den Anpassungen. Die Basiskonfiguration ist ebenfalls dort eingetragen.</p><p>Neben den in Abschnitt \ref{sec:options} beschriebenen Optionen zum Abschalten der Fußzeile kann
der Inhalt der Fußzeile über die \pck{scrlayer-scrpage} Makros, wie</p><pre class="programlisting">
\cfoot[|\meta{Inhalt auf der ersten Briefseite}|]{|\meta{Inhalt auf folgenden Briefseiten}|} </pre><p>geändert werden.</p><p>Die Kopfzeile unterscheidet sich von Dokumententyp zu Dokumententyp leicht, da diese über Datenbankvariablen befüllt wird.
Hierfür wird das Makro |\ourhead| in der <code class="filename">insettings.tex</code> definiert.</p><pre class="programlisting">
\DescribeMacro{\ourhead}\marg{Bezeichner}\marg{Eintrag}\marg{Titel}\marg{Nummer}\marg{Datum} </pre><p>Diese Definition kann ebenfalls über die <code class="filename">insettings.tex</code> angepasst oder auch nachträglich überschrieben werden:</p><pre class="programlisting">
\newcommand{\ourhead}[5] {%
\chead{%
\makebox[\textwidth]{%
\Ifstr{#1}{}{}{#1: #2 \hspace{0.7cm}}%
#3%
\Ifstr{#4}{}{}{~\nr: #4}%
\Ifstr{#5}{}{}{\vom ~ #5}%
\hspace{0.7cm} - \seite ~ \thepage/\letterlastpage ~-%
}%
}%
}
</pre><p>In der Standard-Einstellung sieht eine Kopfzeile mit obigen Aufruf dann folgendermaßen aus:</p><pre class="programlisting">
\newcommand{\ourhead}[5] {%
\makebox[\textwidth]{%
\Ifstr{#1}{}{}{#1: #2 \hspace{0.7cm}}%
#3%
\Ifstr{#4}{}{}{~\nr: #4}%
\Ifstr{#5}{}{}{\vom ~ #5}%
\hspace{0.7cm} - \seite ~ \thepage/\letterlastpage ~-%
}%
}

\begingroup
\def\letterlastpage{50}

\ourhead{arg1}{arg2}{arg3}{arg4}{arg5}

\smallskip
Erzeugt mit dem Aufruf
\ourhead{arg1}{arg2}{arg3}{arg4}{arg5}
\endgroup </pre></div><div class="sect3" title="2.14.2.9. Absenderergänzung"><div class="titlepage"><div><div><h4 class="title"><a name="Absendererg%C3%A4nzung"></a>2.14.2.9. Absenderergänzung</h4></div></div></div><p>Die Absenderergänzung wird über die Variable |location| in der |kiviletter.sty| folgendermaßen belegt:</p><pre class="programlisting">
\setkomavar{location}{
\Ifkomavarempty{transaction}{}{{