<title>2.10. 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: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s09.html" title="2.9. E-Mail-Versand aus kivitendo heraus"><link rel="next" href="ch02s11.html" title="2.11. 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.10. Drucken mit kivitendo</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s09.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s11.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.10. Drucken mit kivitendo"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Drucken-mit-kivitendo"></a>2.10. 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 sind das die Pakete:</p><p>
- <code class="literal">texlive-latex-base texlive-latex-extra
- texlive-fonts-recommended</code>
- </p><p>Diese hinteren beiden enthalten Bibliotheken und Schriftarten die
- von den Standardvorlagen verwendet werden.</p><p>TODO: rpm Pakete.</p><p>In den allermeisten Installationen sollte drucken jetzt schon
- funktionieren. Sollte ein Fehler auftreten wirft TeX sehr lange
- Fehlerbeschreibungen, der eigentliche Fehler ist immer die erste Zeite
- die mit einem Ausrufezeichen anfängt. Häufig auftretende Fehler sind zum
- Beispiel:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>! LaTeX Error: File `eurosym.sty' not found. Die entsprechende
- LaTeX-Bibliothek wurde nicht gefunden. Das tritt vor allem bei
- Vorlagen aus der Community auf. Installieren Sie die entsprechenden
- Pakete.</p></li><li class="listitem"><p>! Package inputenc Error: Unicode char \u8:æ¡\9c not set up for
- use with LaTeX. Dieser Fehler tritt auf, wenn sie versuchen mit
- einer Standardinstallation exotische utf8 Zeichen zu drucken.
- TeXLive unterstützt von Haus nur romanische Schriften und muss mit
- diversen Tricks dazu gebracht werden andere Zeichen zu akzeptieren.
- Adere TeX Systeme wie XeTeX schaffen hier Abhilfe.</p></li></ul></div><p>Wird garkein Fehler angezeigt sondern nur der Name des Templates,
- heißt das normalerweise, dass das LaTeX Binary nicht gefunden wurde.
- Prüfen Sie den Namen in der Konfiguration (Standard:
- <code class="literal">pdflatex</code>), und stellen Sie sicher, dass pdflatex
- (oder das von Ihnen verwendete System) vom Webserver ausgeführt werden
- darf.</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s09.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s11.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.9. E-Mail-Versand aus kivitendo heraus </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.11. OpenDocument-Vorlagen</td></tr></table></div></body></html>
\ No newline at end of file
+ Debianoiden Betriebssystemen installiert man die Pakete mit:</p><p>
+ </p><pre class="programlisting">aptitude install \
+ texlive-base-bin \
+texlive-latex-recommended \
+texlive-fonts-recommended \
+texlive-latex-extra \
+texlive-lang-german \
+texlive-generic-extra
+ </pre><p>
+ </p><p>TODO: rpm Pakete.</p><p>kivitendo bringt 3 alternative Vorlagensätze mit:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">Standard</li><li class="listitem">f-tex</li><li class="listitem">RB</li></ul></div><div class="sect2" title="2.10.1. Vorlagenverzeichnis anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Vorlagenverzeichnis-anlegen"></a>2.10.1. Vorlagenverzeichnis anlegen</h3></div></div></div><p>Bei einem neuen Benutzer/Mandanten lässt sich einer dieser Vorlagensätze
+ als Basis für die zu druckenden Dokumente auswählen:</p><p>
+ </p><pre class="programlisting">unter:
+Administration -> Benutzerverwaltung -> [ein Benutzer]
+ Erzeuge Vorlagen, Name: [Name für das neue Vorlagenverzeichnis]
+ Vorlagen auswählen: [Default, f-tex oder RB]
+ -> Speichern
+ </pre><p>
+ </p><p>der gleiche Vorlagensatz kann, wenn er mal angelegt ist, bei mehreren Benutzern verwendet werden.</p><p>Die Abhängigkeiten kann man prüfen mit:</p><p>
+ </p><pre class="programlisting">/scripts/installation_check.pl -l</pre><p>
+ </p></div><div class="sect2" title="2.10.2. Default"><div class="titlepage"><div><div><h3 class="title"><a name="Standard"></a>2.10.2. Default</h3></div></div></div><p>Der standard Vorlagensatz von Kivitendo. Wie unter
+ <a class="ulink" href="http://demo.kivitendo.org" target="_top">http://demo.kivitendo.org</a> zu sehen.</p></div><div class="sect2" title="2.10.3. f-tex"><div class="titlepage"><div><div><h3 class="title"><a name="f-tex"></a>2.10.3. f-tex</h3></div></div></div><p>Ein Vorlagensatz, der in Wenigen Minuten alle Dokumente zur stellt.</p><div class="sect3" title="2.10.3.1. f-tex Feature Übersicht"><div class="titlepage"><div><div><h4 class="title"><a name="f-tex-Feature-%C3%9Cbersicht"></a>2.10.3.1. f-tex Feature Übersicht</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">Keine Retundanz. Es wird ein und die selbe Latex-Vorlage für alle
+ briefartigen Dokumente verwendet. Also Angebot, Rechnung,
+ Performarechnung, Lieferschein, aber eben nicht für Paketaufkleber
+ etc.. </li><li class="listitem">Leichte Anpassung an das Firmen Layout durch verwendung eines Hintergrund-PDF
+ dieses kann leicht mit dem eigenen Lieblingsprogramm erstellt werden
+ (Openoffice, Inkscape, Gimp, Adobe*)
+ </li><li class="listitem">Hintergrundpdf um schaltbar auf "nur erste Seite" (default) oder "alle Seiten"
+ (option "bgPdfFirstPageOnly" in Datei letter.lco)
+ </li><li class="listitem">Hintergrundpdf für Ausdruck auf bereits bedrucktem Briefpapier Abschaltbar,
+ es wird dann nur bei per email versendeten Dokumenten eingebunden.
+ (Option "bgPdfEmailOnly" in Datei letter.lco)
+ </li><li class="listitem">Nutzung der Layout-Funktionen von Latex für Seitenumbruch,
+ wiederholung von Kopfzeilen, Zwischensummen etc. (danke an Kai-Martin für
+ die Vorarbeit)
+ </li><li class="listitem">Anzeige des Empfängerlandes im Adressfeld nur, wenn es vom Land des
+ eigenen Unternehmens abweicht (also die Rechnung das Land verlässt).
+ </li><li class="listitem">Multisprachfähig leicht um weitere Sprachen zu erweitern, alle
+ Übersetzungen in der Datei translatinos.tex.
+ </li><li class="listitem">Auflistung von Bruttopreisen für Endverbraucher.
+ </li></ul></div></div><div class="sect3" title="2.10.3.2. f-tex Die Installation"><div class="titlepage"><div><div><h4 class="title"><a name="f-tex-installation"></a>2.10.3.2. f-tex Die Installation</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">Vorlagenverzeichnis mit Option f-tex anlegen, siehe:
+ <a class="xref" href="ch02s10.html#Vorlagenverzeichnis-anlegen" title="2.10.1. Vorlagenverzeichnis anlegen">Vorlagenverzeichnis anlegen</a>
+ Das Vorlagensystem funktioniert jetzt schon, hat allerdings noch einen
+ Beispiel Briefkopf
+ </li><li class="listitem">
+ Erstelle eine pdf-Hintergrund Datei und verlinke sie nach
+ <pre class="programlisting">./letter_head.pdf</pre></li><li class="listitem">
+ Editiere den Bereich "settings" in der datei letter.lco
+ </li></ul></div><p>oder etwas Detaillierter:</p><p>
+ Es wird eine Datei sample.lco erstellt und diese nach letter.lco verlinkt.
+ Eigentlich ist dies die Datei die für die Firmenspezifischen Anpassungen
+ gedacht ist. Da die Einstiegshürde in LaTeX nicht ganz niedrig ist, wird in
+ dieser Datei auf ein Hintergrundpdf verwiesen. Ich empfehle über dieses pdf
+ die persönlichen Layoutanpassungen vorzunehmen und sample.lco unverändert zu
+ lassen. Die die Anpassung über eine *.lco Datei die letztlich auf letter.lco
+ verlinkt ist ist aber auch möglich.
+ </p><p>
+ Es wird eine Datei sample_head.pdf mit ausgeliefert, diese wird nach
+ letter_head.pdf verlinkt. Damit gibt es schon mal eine Funktionsfähige
+ Vorlage. Schau Dir nach Abschluss der Installation die Datei sample_haed.pdf
+ an und erstelle ein entsprechendes pdf passend zum Briefkopf Deiner Firma,
+ diese dann im Template Verzeichniss ablegen und statt sample_head.pdf nach
+ letter_head.pdf verlinken.
+ </p><p>
+ letzlich muss ./letter_head.pdf auf das passende Hintergrundpdf verweisen,
+ welches gewünschten Briefkopf enthält. Bei Updates oder nach erneutem
+ </p><p>
+ Es wird eine Datei mydata.tex.example ausgeliefert die nach mytdata.tex
+ verlinkt ist. Bei verwendetem Hintergrundpdf wird nur der Eintrag für das
+ Land verwendet die Datei muss also nicht angefasst werden. Die Anderen Werte
+ sind für das Modul lp (Label Print in erp - zur Zeit nicht im
+ öffentlichen Zweig).
+ </p><p>
+ Alle Anpassungen zum Briefkopf, Fusszeilen, Firmenlogos, etc.
+ sollten über die Hintergrund pdf datei oder die *.lco Datei erfolgen.
+ </p></div><div class="sect3" title="2.10.3.3. f-tex Funktionsübersicht"><div class="titlepage"><div><div><h4 class="title"><a name="f-tex-Funktions%C3%BCbersicht"></a>2.10.3.3. f-tex Funktionsübersicht</h4></div></div></div><p>
+ Das Konzept von kivitendo sieht vor, für jedes Dokument
+ (Auftragsbestätigung, Lieferschein, Rechnung, etc.) eine
+ Latex-Vorlage vorzuhalten, dies ist sehr Wartungsunfreundlich. Auch
+ das Einlesen einer einheitlichen Quelle für den Briefkopf bringt nur
+ bedingte Vorteile, da hier leicht die Pflege der Artikel-Tabellen aus
+ dem Ruder läuft. Bei dem vorliegenden Ansatz wird für alle
+ Briefartigen Dokumente mit Artikel-Tabellen eine einheitliche
+ Latexvorlage verwendet, welche über Codeweichen die Besonderheiten
+ der jeweiligen Dokumente Berücksichtigt
+ </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">Tabellen mit oder ohne Preis
+ </li><li class="listitem">Sprache der Tabellenüberschriften etc.
+ </li><li class="listitem">Anpassung der Bezugs-Zeile (z.B. Rechnungsnummer versus
+ Angebotsnummer)
+ </li><li class="listitem">Darstellung von Brutto oder Netto-Preisen in der Auflistung
+ (Endverbraucher versus Gewerblicher Kunde)
+ </li></ul></div><p>Nachteil:</p><p>
+ Latex hat ohnehin eine sehr steile Lehrnkurve. Die Datei letter.tex
+ ist sehr komplex und verstärkt damit diesen Effekt noch einmal erheblich.
+ Wer Latex-Erfahrung hat, oder geübt ist Scriptsparachen nachzuvollziehen kann
+ natürlich auch innerhalb der Tabellendarstellung gut persönliche Anpassungen
+ vornehmen. Aber man kann sich hier bei Veränderungen sehr schnell häftig in
+ den Fuss schiessen.
+ </p><p>Wer nicht so tief in die Materie einsteigen will oder leicht zu
+ frustrieren ist, sollte sein Hintergrund PDF auf Basis der mitglieferten
+ Datei sample_head.pdf erstellen, und sich an der Form der dargestellten Tabellen
+ wie sie ausgeliefert werden, erfreuen.
+ </p><p>Kleiner Tipp:
+ Nicht zu viel auf einmal wollen, lieber kleine kontinuierliche
+ Schritte gehen.
+ </p><p>Bruttopreise für Endvorbraucher</p><p>Der auszuweisende Bruttopreis wird innerhalb der LaTeX
+ Umgebung berechnet. es gibt zwar ein Feld um bei Aufträgen "alle Preise
+ Brutto" auszuwählen, aber:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
+ hierfür müssen die Preise auch in Brutto in der Datenbank stehen
+ (ja - das lässt sich über die Preisgruppen und die Zuordung einer Default-Preisgruppe
+ handhaben)
+ </li><li class="listitem">
+ man darf beim Anlegen des Vorgangs nicht vergessen Dieses Häkchen zu setzen.
+ (das ist in der Praxis wenn man sowohl Endverbraucher- wie Gewerbekunden beliefert
+ der eigentliche Knackpunkt)
+ </li></ul></div><p>
+ Es gibt mit f-tex eine weitere Alternative. Die Information ob Brutto oder
+ Nettorechnung wird mit den Zahlarten verknüpft. Zahlarten bei denen
+ Rechnungen, Angebote, etc, in Brutto ausgegeben werden sollen enden mit "_E"
+ (für Endverbraucher) Falls identische Zahlarten für Gewerbekunden und
+ Endverbraucher vorhanden sind legt man diese einfach doppelt an (einmal mit
+ der Namensendung "_E"). Gewinn:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
+ die Entscheidung ob Netopreise ausgewiesen werden ist nicht mehr fix
+ mit einer Preisliste Verbunden.
+ </li><li class="listitem">
+ die Default-Zahlart kann im Kundendatensatz hinterlegt werden und man
+ muss nicht mehr daran denken "alle Preise Netto" auszuwählen.
+ </li><li class="listitem">
+ Die Entscheidung ob Netto/Oder Bruttopreise ausgewiesen werden kann direkt
+ beim Drucken reviediert werden, ohne dass sich der Auftragswert ändert.
+ </li></ul></div><p>Lieferadressen</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
+ in Lieferscheinen kommen shipto* -Variablen im Adressfeld zum Einsatz
+ </li><li class="listitem">
+ wenn die shipto*variable leer ist wird die entsprechende
+ Adressvariable eingesetzt. Wenn Also die Lieferadresse in Strasse,
+ Hausnummer und Ort abweicht, müssen auch nur diese Felder in der
+ Lieferadresse ausgefüllt werden. Für den Firmenname wird der Wert der
+ Hauptadresse angezeigt.
+ </li></ul></div></div></div><div class="sect2" title="2.10.4. RB"><div class="titlepage"><div><div><h3 class="title"><a name="RB"></a>2.10.4. RB</h3></div></div></div><p>Vollständiger Dokumentensatz mit alternativen Design</p></div><div class="sect2" title="2.10.5. Allgemeine Hinweise zu LaTeX Vorlagen"><div class="titlepage"><div><div><h3 class="title"><a name="Allgemeine Hinweise zu LaTeX"></a>2.10.5. Allgemeine Hinweise zu LaTeX Vorlagen</h3></div></div></div><p>In den allermeisten Installationen sollte drucken jetzt schon
+ funktionieren. Sollte ein Fehler auftreten wirft TeX sehr lange
+ Fehlerbeschreibungen, der eigentliche Fehler ist immer die erste Zeite
+ die mit einem Ausrufezeichen anfängt. Häufig auftretende Fehler sind zum
+ Beispiel:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>! LaTeX Error: File `eurosym.sty' not found. Die entsprechende
+ LaTeX-Bibliothek wurde nicht gefunden. Das tritt vor allem bei
+ Vorlagen aus der Community auf. Installieren Sie die entsprechenden
+ Pakete.</p></li><li class="listitem"><p>! Package inputenc Error: Unicode char \u8:æ¡\9c not set up for
+ use with LaTeX. Dieser Fehler tritt auf, wenn sie versuchen mit
+ einer Standardinstallation exotische utf8 Zeichen zu drucken.
+ TeXLive unterstützt von Haus nur romanische Schriften und muss mit
+ diversen Tricks dazu gebracht werden andere Zeichen zu akzeptieren.
+ Adere TeX Systeme wie XeTeX schaffen hier Abhilfe.</p></li></ul></div><p>Wird garkein Fehler angezeigt sondern nur der Name des Templates,
+ heißt das normalerweise, dass das LaTeX Binary nicht gefunden wurde.
+ Prüfen Sie den Namen in der Konfiguration (Standard:
+ <code class="literal">pdflatex</code>), und stellen Sie sicher, dass pdflatex
+ (oder das von Ihnen verwendete System) vom Webserver ausgeführt werden
+ darf.</p><p>Wenn sich das Problem nicht auf Grund der ausgabe im Webbrowser verifizieren lässt:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> editiere [kivitendo-home]/config/kivitendo.conf und ändere "keep_tmp_files" auf 1</p><p>
+ </p><pre class="programlisting">keep_temp_files = 1;</pre><p>
+ </p></li><li class="listitem"><p>bei fastcgi oder mod_perl den Webserver neu Starten</p></li><li class="listitem"><p>Nochmal einen Druckversuch im Webfrontend auslösen</p></li><li class="listitem"><p>wechsele in das users Verzeichnis von kivitendo</p><p>
+ </p><pre class="programlisting">cd [kivitendo-home]/users</pre><p>
+ </p></li><li class="listitem"><p>LaTeX Suchpfad anpassen:</p><p>
+ </p><pre class="programlisting">export TEXINPUTS=".:[kivitendo-home]/templates/[aktuelles_template_verzeichniss]:"</pre><p>
+ </p></li><li class="listitem"><p>Finde herraus welche Datei kivitendo beim letzten Durchlauf erstellt hat</p><p>
+ </p><pre class="programlisting">ls -lahtr ./1*.tex</pre><p>
+ </p><p>Es sollte die letzte Datei ganz unten sein</p></li><li class="listitem"><p>für besseren Hinweis auf Fehler texdatei nochmals übersetzen</p><p>
+ </p><pre class="programlisting">pdflatex ./1*.tex</pre><p>
+ </p><p>in der *.tex datei nach dem Fehler suchen.</p></li></ul></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s09.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s11.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.9. E-Mail-Versand aus kivitendo heraus </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.11. OpenDocument-Vorlagen</td></tr></table></div></body></html>
\ No newline at end of file