Befehl | Beschreibung |
Schriftart von nachfolgenden Elementen | |
|Font Fontname |Font Fontname Size |Font Fontname Size Typ |Font Fontname Size Typ C |Font Fontname Size Typ R | Legt die Schriftart, -größe und -typ fest Beispiel (Arial 10pt fett): |Font Arial 10 B Parameter:
Weitere Schriftarten können wir sehr gerne für Sie einbinden, hierfür benötigen wir die Ergebnisse dieser Webseite (fpdf.org setzen wir für die Generierung der PDFs ein): http://www.fpdf.org/makefont/ Die Ergebnisse dieser Seite können auch unter "Admin/Basiskonfig/Dateien" im Unterverzeichnis "font" angelegt werden: SCHRIFTNAME.php, SCHRIFTNAME.z (in .php-Datei muss der Dateiname der .z-Datei ggf. angepasst werden!) Stilversionen b,bi,i ergänzend so: SCHRIFTNAMEb.php, SCHRIFTNAMEb.z SCHRIFTNAMEi.php, SCHRIFTNAMEi.z SCHRIFTNAMEbi.php, SCHRIFTNAMEbi.z |
|Color rot grün blau |Color grauwert | Setzt die Schriftfarbe/Linienfarbe alle Werte 0..255 Beispiel blau = |Color 0 0 255 |
Positionierung von nachfolgenden Elementen | |
|Pos x |Pos x y |Pos x -y |Pos x y xRechterRand |Pos x +dy xRechterRand |Pos x y -xRechterRand |Pos x ^ |Pos x ^+20 |Pos x ^-10 |Pos x * 190 | Setzt die Position für den nachfolgenden Text. Alle Angaben in Millimeter. x negativ: Angabe von rechts. y negativ: Angabe von unten (für die Anwendung im Footer; ansonsten sicherstellen dass |Bottom weit genug unten gesetzt ist!). ^ ist die y-Position des letzten |Pos-Befehls. +dy ist eine Diffenenzangabe zum letzten |Pos-Befehl * ist die aktuelle y-Position |
|Bottom mm | Setzt den Rand von unten (in Millimeter). Standard ist 30 mm. Befehl sollte am Anfang der Seite stehen. |
|Paper x y | Legt die Größe des Papiers in Millimeter fest. Beispiel A4 quer: |Paper 297 210 Die Position des Befehls ist unerheblich. |
|NewPage | Erzwingt eine neue Seite |
|LineHeight wert | LineHeight wert werttabelle werttabellezeile1 Gibt den Zeilenabstand an. Gilt auch für Tabellen. Standard ist 1. 10% größerer Abstand: 1.1 Ein optionaler 2. Parameter gibt den Abstand innerhalb einer Tabellenzelle an Ein optionaler 3. Parameter gibt den Abstand innerhalb einer Tabellenzelle an der nur für die 1. Zeile gilt Negative Werte gelten vom rechten/unteren Rand aus berechnet. |
Bildelemente | |
|Image dateiname |Image unterverz/dateiname |Image dateiname x |Image dateiname x y |Image dateiname x * |Image dateiname hHÖHE |Image dateiname h##w## | Bindet das Bild ein. Bei Angabe eines x-Wertes wird das Bild auf diese Größe verkleinert. Bei Angabe eines y-Wertes bzw. * (=automatische Berechnung) wird der Cursor auf die Zeile nach dem Bild gesetzt. Bei Angabe eines Höhe-Wertes (h30 für 30 mm) wird das Bild in dieser Höhe dargestellt und die Breite entsprechend berechnet. Folgende Zeilen zentrieren Bild (feste Höhe!) und Text: |Pos 20 100 100 |Font Arial 12 - C |Image datei.jpg h20 20 |Bildunterschrift h##w## als Breite legt die Maximal-Breite und Höhe fest (Verhältnisgemäße Verkleinerung) |
|QrCode breite text | Wird ersetzt durch ein QR-Code-Bild für den Scan per Smartphone-App. Die Breite gibt die Größe in mm an. "text" kann beliebige Platzhalter wie {#URL#}, {#vcard#} o.ä. enthalten. \n definiert einen Zeilumbruch im QR-Code.|QrCode 30 <EPCQR> Erstellt auf Rechnungen einen QR-Code für Bezahlungs-Apps (Girocode) |
|Barcode breite höhe inhalt | Wird ersetzt durch einen Barcode, standardmäßig C128. Abweichender Typ ist möglich: |BarcodeC39 80 30 1234567890 Verfügbare Typen: C39, C39+, C39E, C39E+, C39, S25, S25+, I25, I25+, C128, C128A, C128B, C128C, EAN2, EAN5, EAN8, EAN13, UPCA, UPCE, MSI, MSI+, POSTNET, PLANET, RMS4CC, KIX, IMB, CODABAR, CODE11, PHARMA, PHARMA2T |
Geometrische Elemente | |
|Line x1 y1 x2 y2 | Zeichnet eine Linie (alle Angaben in Millimeter) Bei y1 und/oder y2 kann per # die aktuelle Position verwendet werden. |
|Rect x y breite hoehe |Rect x y breite hoehe F |Rect x y breite hoehe X |Rect ^ ^ breite hoehe | Zeichnet ein Rechteck (alle Angaben in Millimeter). "F" gibt an, dass der Innenraum mit der "FillColor" (bitte vor dem Rect-Befehl angeben) gefüllt wird. "DF" ist Rahmen+Füllung. "X" ist ein Kreuz in der Mitte (um leicht angehakte Checkboxen zu zeichnen). Ein 6. Paramater (ggf. "-" als 5. Parameter angeben) gibt die Strichstärke an (0.2 ist der Standard). ^ verwendet die aktuelle Position als x- bzw. y-Wert. |
|Circle x y radius |Circle x y radius F | Zeichnet einen Kreis (alle Angaben in Millimeter). "F" gibt an, dass der Innenraum mit der "FillColor" (bitte vor dem Rect-Befehl angeben) gefüllt wird. "DF" ist Rahmen+Füllung. |
|FillColor rot grün blau |FillColor grauwert | Setzt die Füllfarbe für |Rect (bitte vor dem Rect-Befehl angeben) |
|BorderColor rot grün blau |BorderColor grauwert | Setzt die Randfarbe für |Rect |
Tabellen | |
|Positionen | Zeigt an dieser Stelle die Rechnungspositionen an (mögliche Parameter: size=9 sizesmall=7 pos=nein betragsumme=FONTNAME betragsummestyle=B betragsummelast=FONTNAME summe=rechts colorhead=#c8c8c8 colorfoot=#c8c8c8 gitter=H1H2BF1F2F3V1V2V3 header=LR height=6 heightsmall=4 space=1 spacesmall=1 headerheight=2 colorfont=#ff0000 bold=ja) |
|PositionenStart | Optional vor |Positionen: Liste von Tabellen-Kopfzeilen, |-getrennt, ggf. jeweils mit text:breite Standard: Pos.|Anzahl|Beschreibung|Einzelpreis|Gesamtpreis |
|PositionenFields | Optional vor |Positionen: Liste von Tabellen-Felder,|-getrennt Standard: pos|anzahl|text|betrag|summe Mögliche Felder: pos, anzahl, text, betrag, betragnetto, summenetto, betragohnerabatt, betragnettoohnerabatt, rabatt, summe, mwst, artikelcode, key_ARTIKELEXTRAFELD |
|TableParameter zebra header noborder noborderH noborderV colorborder=#00FF00 color2=#FF0000 |TableStart Beschreibung | Ist | Soll |Table Vorname | {#vorname#} | ... |TableEnd | Erstellt eine freie Tabelle mit den angegebenen Spalten und Zeilen. Beim Header können auch die Spaltenbreiten (Verhältnisangaben) gesetzt werden: Beschreibung:1 | Ist:1 | Soll:2 Ohne Angabe orientiert sich die Spaltenbreite am Inhalt. Im Header kann mit dem Prefix ##L:, ##R: bzw. ##C eine links- bzw. rechtsbündige bzw. zentrierte Ausrichtung, damit dann auch aller Zeilen, erreicht werden. Parameter: - zebra: Zeilen werden abwechselnd weiß und grau hinterlegt - header: Die Kopfzeile wird ausgegeben - noborder: Es wird kein Rand - noborderH: Es wird kein horizontaler Rand ausgegeben - noborderV: Es wird kein vertikaler Rand ausgegeben - colorborder=#00FF00: legt die Randfarbe fest - color=#FF0000: Farbe des Textes - color2=#FF0000: Farbe des Textes der x. Spalte (color1=.. color2=.. ) Bei |Table kann ein Zelleninhalt fett gedruckt werden, wenn der Inhalt mit ##BOLD: beginnt. |
Bedingte Bereiche | |
|IF {#..#} ... |ElseIf ... ... |Else ... |EndIf | Optionaler Abschnitt, der gezeigt wird, wenn die Variable {#..#} nicht leer ist. Die If-Else-Endif-Befehle sind kaskadierbar. Ausdrücke mit || und && (oder/und) kombinierbar. auch möglich: |IF {#Rolle[ROLLENNAME].anrede#}=Herr Beispiel: |IF {#mitglied:key_kundennummer#} Ihre Kundennummer: {#mitglied:key_kundennummer#} |Endif |IF heuteoderzukunft:{#VERANSTALTUNG:DATUM:-12T#} |IF heuteodervergangenheit:... |IF rolle=Mitglied |IF gruppe=Arbeitsgruppe1 ... |
Sonstiges | |
|Body | Legt fest, dass an dieser Stelle der echte Inhalt beginnt |
|NoBody | Legt fest, dass kein Inhalt ausgegeben wird (z.B. bei Urkunden, in denen nur der Name usw. stehen soll) |
|Liste |Liste farbeKopf farbeZeile | Wird ersetzt durch die Listen- bzw. Kalenderdaten |
|Etikett breite hoehe | Platziert alle nachfolgenden Zeilen öfters auf ein Etikett. "breite" hat folgendes Format: linkerRand+anzahlEtikettenHorizontal*breiteEinEtikett+lueckeZwischenEtiketten "hoehe" hat folgendes Format: obererRand+anzahlEtikettenVertikal*hoeheEinEtikett+lueckeZwischenEtiketten Alle Angaben in mm.Beispiel: |Etikett 5+2*105 5+7*41 |
text.. |t## text... | Tabulator-Sprung. Nur innerhalb von Text, nicht am Anfang (1 Leerzeichen am Anfang der Zeile genügt. Beispiel: Spalte1 |t20 Spalte2 |t40 Spalte3 |
|Upsidedown text.. | Druckt den angegebenen Text "auf dem Kopfe stehend", z.B. für umzuknickende Tisch-Namensschilder.Bei "|Font .. .. .. R" startet der Text RECHTS an "|Pos 1. Parameter" und bricht an "|Pos 3. Parameter" um. Beispiel: |Pos 80 10 5 |UpsideDown xxxx |
|BottomUp text.. | Druckt den angegebenen Text "senkrecht nach oben" |
|# text.. | Kommentar, der nicht ausgedruckt wird |
|Include rechnungetc3.txt | Bindet eine andere Vorlage ein |
Schleifen | |
|Loop OPTIONEN {#OPTIONEN:feldname#} |EndLoop | Schleife, die für jede Anmeldeoption durchlaufen wird. Beispiel siehe PDF-Vorlage "Antwortfax". |
|Loop VERANSTALTUNGEN {#VERANSTALTUNG:feldname#} |EndLoop | Schleife über alle Rahmenprogramm-Programmpunkte bzw. Serientermine. |
|Loop VERANSTALTUNGSVORSCHAU {#VERANSTALTUNG:feldname#} |EndLoop | Schleife über alle zukünftigen Veranstaltungen (ab dem kommenden Tag). Auch per z.B. "VERANSTALTUNGSVORSCHAU:5" auf 5 limitierbar. |
|Loop TEILNEHMER {#TEILNEHMER:nr#} {#TEILNEHMER:vorname#} {#TEILNEHMER:nachname#} {#TEILNEHMER:anmeldung:key_XXX#} |EndLoop | Schleife über die angemeldeten Teilnehmer der Veranstaltung (sortiert inkl. Begleiter; nur in Veranstaltungsvorlagen): titel, vorname, nachname, firma, strasse, land, plz, ort, telefon, email, alter, key_... TEILNEHMERALLE (alle Teilnehmer, auch abgemeldete usw.) TEILNEHMERANWESEND (nur angemeldete + anwesende Teilnehmer) TEILNEHMERETC (nur nicht-angemeldete oder nicht-anwesende Teilnehmer) TEILNEHMER sort=id |
|Loop TEILNAHMESERIENVERANSTALTUNGEN {#VERANSTALTUNG:feldname#} |EndLoop | Teilnahmebescheinigung: Schleife über alle angemeldeten Serientermine |
|Loop PROGRAMMPUNKTE {#DATUM#}, {#ZEIT#}, {#ORT#}, ..., {#TEILNEHMER#}, {#programmpunkt:wochentag#}, {#anmeldung:...#}, {#datum:wochentag#}, {#programmpunkt:datum.lang#}, {#if:key_dresscode#} (Dresscode: {#key_dresscode#}){#/if#} |EndLoop | Schleife über alle Programmpunkte der Rahmenveranstaltung |
|Loop ANGEMELDETEPROGRAMMPUNKTE {#TITEL#}, {#DATUM#}, {#ZEIT#}, {#ORT#}, {#KOSTEN#}, {#programmpunkt:wochentag#} {#anmeldung:...#} {#EXTRAFELDER#} |EndLoop | Schleife über alle Programmpunkte der Rahmenveranstaltung, zu denen der Teilnehmer angemeldet ist. Auch auf Eintrittskarte möglich.ANGEMELDETEPROGRAMMPUNKTE_EINEZEILE gibt alles in einer Zeile aus. |
|Loop MITGLIEDER {#vorname#} {#nachname#} |EndLoop | Schleife, die für alle Mitglieder durchlaufen wird. Platzhalter: Alle Mitgliedsdatenfelder. Bedingung möglich: {#IF:titel#}{#titel#} {#/IF#}. Berechnete Felder {#strasse#} {#plz#} {#ort#} {#land#} {#telefon#} {#fax#} {#mobil#} {#email#} {#homepage#} möglich. Optional: .. sort:mitgliedsnummer (o.a. Felder, Standard: nachname,vorname) |
|Loop MARKIERTEMITGLIEDER {#vorname#} {#nachname#} |EndLoop | Schleife, die für alle markierten Mitglieder in der Mitgliedersuche durchlaufen wird. Platzhalter: Alle Mitgliedsdatenfelder. Bedingung möglich: {#IF:titel#}{#titel#} {#/IF#}. Berechnete Felder {#strasse#} {#plz#} {#ort#} {#land#} {#telefon#} {#fax#} {#mobil#} {#email#} {#homepage#} möglich. Optional: .. sort:mitgliedsnummer (o.a. Felder, Standard: nachname,vorname) |
|Loop FAMILIENMITGLIEDER {#vorname#} {#nachname#} |EndLoop | Schleife über alle Familienmitglieder des Mitglieds. Platzhalter: Alle Mitgliedsdatenfelder. Bedingung möglich: {#IF:titel#}{#titel#} {#/IF#}. Berechnete Felder {#strasse#} {#plz#} {#ort#} {#land#} {#telefon#} {#fax#} {#mobil#} {#email#} {#homepage#} möglich. Optional: .. sort:mitgliedsnummer (o.a. Felder, Standard: nachname,vorname) |
|Loop ANSPRECHPARTNER {#vorname#} {#nachname#} |EndLoop | Schleife über alle Ansprechpartner des Firmen-Mitglieds. Platzhalter: Alle Mitgliedsdatenfelder. Bedingung möglich: {#IF:titel#}{#titel#} {#/IF#}. Berechnete Felder {#strasse#} {#plz#} {#ort#} {#land#} {#telefon#} {#fax#} {#mobil#} {#email#} {#homepage#} möglich. Optional: .. sort:mitgliedsnummer (o.a. Felder, Standard: nachname,vorname) ANSPRECHPARTNER_EINEZEILE erzeugt eine einzeilige Ausgabe. |
|Loop TOP {#TOP:position#} {#TOP:titel#} {#TOP:beschreibung#} {#TOP:protokoll#} {#TOP:abstimmung#} {#TOP:aufgabe#} {#TOP:anhaenge#} |EndLoop | Schleife über die Tagesordnungspunkte |
|Loop rolle:rollenname {#vorname#} {#nachname#} |EndLoop | Schleife, die für jeden Rollenteilnehmer durchlaufen wird. Platzhalter: Alle Mitgliedsdatenfelder. Bedingung möglich: {#IF:titel#}{#titel#} {#/IF#}. Berechnete Felder {#strasse#} {#plz#} {#ort#} {#land#} {#telefon#} {#fax#} {#mobil#} {#email#} {#homepage#} möglich. Optional: .. sort:mitgliedsnummer (o.a. Felder, Standard: nachname,vorname) |
|Loop rollefamilie:rollenname {#vorname#} {#nachname#} |EndLoop | Schleife, die für jedes Familienmitglied (für die das aktuelle Mitglied der Beitragszahler ist) durchlaufen wird. Platzhalter: Alle Mitgliedsdatenfelder. Bedingung möglich: {#IF:titel#}{#titel#} {#/IF#}. Berechnete Felder {#strasse#} {#plz#} {#ort#} {#land#} {#telefon#} {#fax#} {#mobil#} {#email#} {#homepage#} möglich. |
|Loop gruppe:gruppenname {#vorname#} {#nachname#} |EndLoop | Schleife, die für jeden Gruppenteilnehmer durchlaufen wird. Platzhalter: Alle Mitgliedsdatenfelder. Bedingung möglich: {#IF:titel#}{#titel#} {#/IF#}. Berechnete Felder {#strasse#} {#plz#} {#ort#} {#land#} {#telefon#} {#fax#} {#mobil#} {#email#} {#homepage#} möglich. Optional: .. sort:mitgliedsnummer (o.a. Felder, Standard: nachname,vorname) |
|Loop rolle:rollenname,gruppe:gruppenname,... | auch in Kombination möglich... |
|Loop RECHNUNGEN {#datum#}, {#rechnungsnummer#}, {#betrag#} |EndLoop | Schleife über alle markierten Rechnungen |
|Loop RECHNUNGEN_OFFEN:2020 {#datum#}, {#rechnungsnummer#}, {#betrag#} |EndLoop | Schleife über alle offenen Rechnungen aus dem Jahr 2020; auch Datum tt.mm.jjjj möglich, es gilt dann ab diesem Datum. auch RECHNUNGEN_UNVERSCHICKT und auch ohne Jahresangabe (dann alle Jahre) möglich. auch RECHNUNGEN_BEZAHLT möglich. |
|Loop LISTE:LISTENAME {#liste:feldname#} {#liste:mitgliedsfeld.nachname#} {#liste:listenverweisfeld.feldinzielliste#} |EndLoop | Schleife über alle Datensätze einer Liste |
|Loop DATA {#data1#} {#data2#} |EndLoop | Schleife über alle Datensätze einer Aufzählung (z.B. bei PDF Versammlungsprotokoll) |