TYPO3 Plugin:

fluid_fpdf

Fluid-FPDF für TYPO3

Diese Erweiterung bietet Ihnen einen kompletten Satz ViewHelpers für den Umgang mit FPDF unter Verwendung von Fluid. Sie können die Funktion ViewHelpers einfach in eigenen Extensions durch die Definition des fpdf-Namensraums. Zusätzlich können Sie das eingebaute Plugin verwenden, um vordefinierte PDF-Dateien anzuzeigen. Dieses Plugin bietet Ihnen automatisch alle verfügbaren PDFs.

Merkmale:

  • Fluid-ViewHelper für alle FPDF-Funktionen
  • Einsetzbar in eigenen Erweiterungen
  • Definieren Sie PDFs mit Hilfe von Fluid-Vorlagen vor und stellen Sie sie Ihren Seiteneditoren zur Verfügung

ViewHelpers


fpdf:addFont

Importiert eine TrueType-, OpenType- oder Type1-Schriftart und stellt sie zur Verfügung. Es ist notwendig, zuerst eine Font-Definitionsdatei mit dem MakeFont Utility zu erstellen. Die Definitionsdatei (und die Schriftartendatei selbst beim Einbetten) muss im Schriftartenverzeichnis vorhanden sein. Wenn es nicht gefunden wird, der Fehler "Could not include font definition file" wird ausgegeben.

Parameter

Name Typ Standard Beschreibung
familie zeichenkette Schriftfamilie. Der Name kann beliebig gewählt werden. Wenn es sich um einen Standardfamiliennamen handelt, überschreibt er die entsprechende Schriftart.
stil zeichenkette Schriftart. (N: normal, B: fett, I: kursiv)
dateiname zeichenkette Die Schriftartendefinitionsdatei. Standardmäßig setzt sich der Name aus Familie und Stil zusammen, in Kleinbuchstaben ohne Leerzeichen.

Rückgabe

lücke

Verwendung:

<fpdf:setFont family="Arial" style="B" size="10.5" />

fpdf:pdf

Erstellt eine neue PDF-Datei.

Parameter

Name Typ Standard Beschreibung
dateiname zeichenkette FluidFpdf.pdf Der Name der Datei
ziel zeichenkette I Zielort, an den das Dokument gesendet werden soll. Es kann einen der folgenden Werte annehmen: I, D, F, S
orientierung zeichenkette P Standard-Seitenausrichtung.
einheit zeichenkette mm Benutzereinheit.
größe zeichenkette A4 Die Größe, die für Seiten verwendet wird.
titel zeichenkette Fluid-Fpdf Definiert den Titel des Dokuments.
subjekt zeichenkette Fluid-Fpdf Definiert den Betreff des Dokuments.
autor zeichenkette Fluid-Fpdf FDefiniert den Autor des Dokuments.
schlüsselwörter zeichenkette TYPO3 Fluid FPDF typo3@coding.ms Ordnet dem Dokument Schlüsselwörter zu, in der Regel in der Form'Schlüsselwort1 Schlüsselwort2 ....'.
fontPath zeichenkette EXT:fluid_fpdf/Ressourcen/Private/Fonts Definiert den Schriftartenpfad für die eingebundenen Schriften (z.B.: EXT:fluid_fpdf/Resources/Private/Fonts) oder einen TYPO3-Pfad wie /fileadmin/fonts/fonts/
bildpfad zeichenkette EXT:fluid_fpdf/Ressourcen/Privat/Bilder Definiert den Bildpfad für die eingebundenen Bilder (z.B.: EXT:fluid_fpdf/Ressourcen/Private/Bilder) oder einen TYPO3-Pfad wie /fileadmin/fonts/
charakterMap reihe Definiert eine Zeichenkette für die Zuordnung von Zeichen. Um z.B. ?-Zeichen mit Zeichen bei ASCII-Nr. 162 abzubilden, verwenden Sie {162: '?'}

Rückgabe

lücke

Verwendung:

<fpdf:pdf>>
    <fpdf:addPage orientation="P" size="A4">
        // Ihr PDF-Inhalt.....
    </fpdf:addPage>
</fpdf:pdf>>

fpdf:setFontFont

Legt die Schriftart fest, mit der Zeichenketten gedruckt werden.

Parameter

Name Typ Standard Beschreibung
familie zeichenkette Arial Familienschriftart.
stil zeichenkette N Schriftart. (N: normal, B: fett, I: kursiv, U: unterstrichen)
größe zeichenkette 12 Schriftgröße in Punkten.

Rückgabe

lücke

Verwendung:

<fpdf:setFont family="Arial" style="B" size="10.5" />

fpdf:setSourceFile

Legen Sie die Quelldatei für PDF-Seitenvorlagen fest.

Parameter

Name Typ Standard Beschreibung
datei zeichenkette EXT:fluid_fpdf/Ressourcen/Private/Pdf/TYPO3_2012-logo_sRGB_color.pdf Dateiname mit abs-Pfad der Quelle

Rückgabe

int - Anzahl der gefundenen Seiten in der Quelldatei

Verwendung:

<fpdf:setSourceFile file="EXT:fluid_fpdf/Ressourcen/Private/Pdf/Normbriefbogen_DIN5008.pdf" />

fpdf:useTemplate

Druckt eine PDF-Vorlage in eine Seite

Parameter

Name Typ Standard Beschreibung
seiteNein int 0 Die Seitenzahl
x int 0 Die x-Position
y int 0 Die y-Position
w int 0 Die neue Breite der Vorlage
h int 0 Die neue Höhe der Vorlage
adjustPageSize anpassen boolesch falsch Wenn auf true gesetzt, wird die aktuelle Seite in der Größe an die Abmessungen der Vorlage angepasst

Rückgabe

lücke

Verwendung:

<fpdf:useTemplate pageNo="1" x="0" y="0" w="0" h="0" adjustPageSize="0" />

Häufig gestellte Fragen (FAQ)

So legen Sie ein HintergrundpDF fest

Verwenden Sie dazu z.B. die fpdf:useTemplate-ViewHelper:

<fpdf:pdf>>
    <fpdf:addPage orientation="P" size="A4">
        <fpdf:setSourceFile file="EXT:fluid_fpdf/Ressourcen/Private/Pdf/Normbriefbogen_DIN5008.pdf" />
        <fpdf:useTemplate pageNo="1" x="0" y="0" /> 
        <f:Kommentar>
            // Ihr PDF-Inhalt.....
        </f:Kommentar>
    </fpdf:addPage>
</fpdf:pdf>>

Wie Sie Ihre eigenen Schriften in PDF verwenden können

Um eigene Schriften in Fluid-FPDF zu verwenden, müssen Sie die Schriften in ein spezielles Format konvertieren.

Die FPDF-Website unterstützt ein kleines Konvertierungstool: http://www.fpdf.org/makefont/

Wählen Sie einfach Ihre TTF-Datei aus und wählen Sie die gewünschte Kodierung (z.B. ISO-8859-15). Das Ergebnis sind zwei Dateien - eine Datei php-File und eine z-File.

Sie möchten beispielsweise den Ubunut-Font konvertieren, der in Google-Webfonts verfügbar ist. Du brauchst das regelmäßige und fette schriftart. Nach dem Download erhalten Sie die folgenden Dateien:

  • Ubuntu-Regular.ttf
  • Ubuntu-Bold.ttf

Nach der Konvertierung haben Sie diese Dateien:

  • Ubuntu-Regular.php
  • Ubuntu-Regular.z
  • Ubuntu-Bold.php
  • Ubuntu-Bold.z

Folgen Sie den nächsten Schritten, um die Schriftart zu verwenden:

  1. Laden Sie diese beiden Dateien in Ihre TYPO3-Installation hoch
  2. Definiere den neuen Schriftpfad in fpdf:pdf
  3. Hinzufügen von Schriften mit dem fpdf:addFont
  4. Stellen Sie die gewünschte Schriftart ein
  5. Schreiben Sie Ihren Text
<fpdf:pdf fontPath="EXT:theme_bootstrap4/Ressourcen/Private/Fonts">
    <!-- Füge benötigte Schriften hinzu -->
    <fpdf:addFont family="Ubuntu" style="N" filename="Ubuntu-Regular.php" />
    <fpdf:addFont family="Ubuntu" style="B" filename="Ubuntu-Bold.php" />
    <fpdf:addPage orientation="P" size="A4">
        <!-- Schriftart einstellen -->
        <fpdf:setFont family="Ubuntu" style="N" size="12" />
        <!-- Schreibe deinen Text -->
        <fpdf:multiCell width="100" height="5" text="Hello world" />
        <f:Kommentar>
            // Ihr PDF-Inhalt.....
        </f:Kommentar>
    </fpdf:addPage>
</fpdf:pdf>>

Hinweis:

Sie benötigen Unterstützung bei der Konvertierung Ihrer Schriftart? Nehmen Sie Kontakt mit uns auf: typo3@coding.ms

Ein Zeichen meiner Schriftart wird im PDF nicht gut dargestellt (z.B. das ?-Zeichen) - was tun?

Erstellen Sie zunächst einen Character Dump der Zeichenkette, um festzustellen, welche Zeichen verwendet werden:

<fpdf:debug.stringCharacterDump string="1.20 ?" />

Das Ergebnis sollte so aussehen:

1 : 49
. : 46
2 : 50
0 : 48
 : 32
? : 63
 : 0

Nun wissen Sie, dass Ihr ?-Zeichen durch das Zeichen mit der ASCII-Nummer 63 gesetzt wird.

Im nächsten Schritt führen Sie einen Font-Dump mit der gewünschten Schriftart durch:

<fpdf:debug.fontDump />

In unserem Beispiel wird das Zeichen auf der Nummer 63 mit ? angezeigt - das ist nicht das, was wir erwarten. Werfen Sie einen genaueren Blick auf Ihre font-Dump und suchen Sie nach dem Zeichen ?-Zeichen. Wir haben es auf der ASCII-Nr. 162 gefunden.

FAQ

Wie schreibt man eine PDF-Vorlage, die das PDF als Zeichenkette zurückgibt?

Dies ist nützlich, wenn Sie das erstellte PDF an eine Mail oder etwas anderes anhängen möchten.

<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers"
      xmlns:fpdf="http://typo3.org/ns/CodingMs/FluidFpdf/ViewHelpers"
      data-namespace-typo3-fluid="true"><f:spaceless>
<f:format.raw>
    <fpdf:pdf destination="S">
        <fpdf:addPage orientation="P" size="A4">
            <fpdf:setFont family="Arial" style="B" size="10" />
            <fpdf:text x="10" y="10" text="Hello Pdf-World" />
            <fpdf:setXY x="40" y="40" />
            <fpdf:cell width="40" height="10" text="Hallo Welt!" />
        </fpdf:addPage>
    </fpdf:pdf>>
</f:format.raw>
</f:spaceless></html></html>

Wichtig ist, dass es keine Leerzeichen gibt und der PDF-Code nicht übersprungen wird!

Beitrag

Jeder Beitrag ist willkommen! Praktische Dokumentation, Tutorials, Blog-Posts, Bug-Berichte, Bug-Fixierung!

Unterstützung

Benötigen Sie schnelle Hilfe mit dieser Extension? Unser Team von erfahrenen TYPO3-Entwicklern löst Probleme unkompliziert und zum Stundensatz.

Verteilung:FLUID_FPDF ist auf

0.55 % aller TYPO3 installiert.

  • 1 % aller TYPO3 9.5.x Installationen installiert
  • 1.24 % aller TYPO3 8.7.x Installationen installiert
  • 0.26 % aller TYPO3 7.6.x Installationen installiert
  • 0.13 % aller TYPO3 6.2.x Installationen installiert
  • 0.06 % aller TYPO3 6.1.x Installationen installiert
  • 0.43 % aller TYPO3 4.7.x Installationen installiert
  • 0.79 % aller TYPO3 4.5.x Installationen installiert
  • 0.78 % aller TYPO3 4.4.x Installationen installiert
  • 1.86 % aller TYPO3 4.3.x Installationen installiert
  • 0.67 % aller TYPO3 4.2.x Installationen installiert
  • 1.53 % aller TYPO3 4.1.x Installationen installiert

FLUID_FPDF Version:Verteilung nach installierten Versionen

  • 3.85 % FLUID_FPDF v.1.13.0
  • 82.69 % FLUID_FPDF v.1.12.0
  • 11.54 % FLUID_FPDF v.1.11.1
  • 1.92 % FLUID_FPDF v.1.9.0

PHP Version:FLUID_FPDF wird benutzt mit

  • 2.78 % PHP/7.0
  • 9.72 % PHP/5.6
  • 16.67 % PHP/5.5
  • 12.5 % PHP/5.4
  • 34.72 % PHP/5.3
  • 22.22 % PHP/5.2
  • 1.39 % PHP/4.4

Gosign-Responsive Index: TYPO3 Installationen nutzen FLUID_FPDF zu

  • 14 % wenn der Gosign-Responsive-Index zwischen 80 % und 100 % ist
  • 22 % wenn der Gosign-Responsive-Index zwischen 60 % und 80 % ist
  • 13 % wenn der Gosign-Responsive-Index zwischen 40 % und 60 % ist
  • 51 % wenn der Gosign-Responsive-Index zwischen 20 % und 40 % ist
  • 0 % wenn der Gosign-Responsive-Index zwischen 0 % und 20 % ist

Pagespeed: TYPO3 Installationen nutzen FLUID_FPDF zu

  • 22 % wenn der Pagespeed zwischen 80 % und 100 % ist
  • 37 % wenn der Pagespeed zwischen 60 % und 80 % ist
  • 11 % wenn der Pagespeed zwischen 40 % und 60 % ist
  • 25 % wenn der Pagespeed zwischen 20 % und 40 % ist
  • 10 % wenn der Pagespeed zwischen 0 % und 20 % ist


Stichprobe n=37953 von Gosign gecrawlte TYPO3-Seiten mit den Top-Level-Domains <.de/.ch/.at>