it-swarm.com.de

So implementieren Sie benutzerdefinierte Schriftarten in TCPDF

In TCPDF gibt es nur wenige Schriftarten, aus denen Sie PDF-Dateien erstellen können. Ich möchte Tahoma als PDF-Schriftart festlegen. Wie kann ich Tahoma in TCPDF aufnehmen?

39

Die neueste TCPDF-Version konvertiert Schriftarten mithilfe der addTTFfont () -Methode automatisch in das TCPDF-Format. Zum Beispiel:

// convert TTF font to TCPDF format and store it on the fonts folder
$fontname = TCPDF_FONTS::addTTFfont('/path-to-font/FreeSerifItalic.ttf', 'TrueTypeUnicode', '', 96);

// use the font
$pdf->SetFont($fontname, '', 14, '', false);

Weitere Informationen und Beispiele finden Sie auf der Dokumentationsseite TCPDF Fonts .

HINWEIS: Nachdem die Schriftart konvertiert wurde, benötigt TCPDF die TTF-Datei oder den obigen Aufruf von addTTFfont() nicht mehr!

62
Nicola Asuni

Ich habe ein sehr gutes Werkzeug online entdeckt ... Das einzige, was Sie tun müssen, ist, Ihre .ttf-Datei hochzuladen und dann die Dateien herunterzuladen und in den Ordner/fonts zu kopieren.

http://www.xml-convert.com/de/convert-tff-font-to-afm-pfa-fpdf-tcpdf

23
Yannis

Die addTTFfont-Methode ist für die TCPDF-Hauptklasse nicht verfügbar.

// convert TTF font to TCPDF format and store it on the fonts folder
$fontname = TCPDF_FONTS::addTTFfont('pathto/arial.ttf', 'TrueTypeUnicode', '', 96);

// use the font
$pdf->SetFont($fontname, '', 14, '', false);

Hoffe das hilft!

8
psuhas

Ich weiß nichts über tcpdf oder php, aber ich habe folgendes gefunden:

http://www.tcpdf.org/examples/example_033.phps

Anscheinend verwenden Sie nur den Namen der Schriftart, nicht den Dateinamen.


Schlag eins!

Okay, wie wäre es mit dieser Seite . Um eine Schriftart für TCPDF vorzubereiten, müssen Sie die Datei über ein Befehlszeilendienstprogramm und ein PHP Skript ausführen.

$ ttf2ufm -a -F myfont.ttf

Und dann:
$ php -q makefont.php myfont.ttf myfont.ufm
oder
MakeFont(string $fontfile, string $fmfile [, boolean $embedded [, $enc="cp1252" [, $patch=array()]]])

ttf2ufm wird mit TCPDF im Verzeichnis TCPDF/fonts verteilt.

3
Mark Storer

in den folgenden Zeilen werden 3 Dateien im Ordner für Schriftarten erstellt 1.rotisserifi56.php 2.rotisserifi56.ctg 3.rotisserifi56.rar

    use this to generate the required php and other files
$fontname = $this->pdf->addTTFfont('D:/wamp/www/projectname/sites/all/modules/civicrm/packages/tcpdf/fonts/Rotis Serif Italic 56.ttf', 'TrueTypeUnicode', '', 32);

    // use the font
    $this->pdf->SetFont($fontname, '', 14, '', false);

Jetzt,

verwenden Sie die Schriftarten wie folgt:

 $this->pdf->AddFont('rotisserifi56', '', 'rotisserifi56.php');
$this->pdf->SetFont('rotisserifi56');

- hoffe das hilft jemandem :)

3
Developer

Erstellen Sie zunächst .php, .afm, .z aus http://www.xml-convert.com/de/convert-tff-font-to-afm-pfa-fpdf-tcpdf und verschieben Sie alle drei in dieselbe Verzeichnis mit der .ttf-Datei . dann Use This: 

$pdf->AddFont(path-to/universe.ttf','',path-to/universe.php');
$pdf->SetFont(path-to/universe.ttf','',10);
2
Bharat Parmar

Das neueste TCPDF unterstützt benutzerdefinierte Schriftarten.

Die Dokumentation zur Verwendung benutzerdefinierter Schriftarten mit TCPDF kann here gelesen werden.

2

Ich fand die addTTFfont-Methode etwas pingelig (ok, wahrscheinlich nicht sehr bemüht) und das oben genannte Online-Tool funktioniert für FPDF, aber es fehlt die Datei ctg.z, die TCPDF benötigt.

Dieses - http://fonts.snm-portal.com/ - generiert die 3 erforderlichen Dateien (.php, .z und .ctg.z) für TCPDF. Konvertieren Sie die TTF-Datei, laden Sie die drei Dateien in Ihren Zeichensatzordner hoch und Sie können loslegen.

2
Craig

die beste Art und Weise, die ich ausprobiert habe und zu 100% gearbeitet habe Legen Sie Ihre TTF-Schrift in den Schriftartenordner und verwenden Sie dann diese Konstante K_PATH_FONTS + FONT NAME

   $font1 = $this->pdf->addTTFfont(K_PATH_FONTS . 'arial.ttf', 'TrueTypeUnicode', '', 8);
   $this->pdf->SetFont($font1, '', 15, '', false);
1
user1080247

Wenn es nicht möglich war, die Schriftart GothamRounded Standard zu konvertieren, suchte ich nach einem anderen Tool und nur dieses http://fonts.snm-portal.com/ arbeitete für mich.

0
revoke

Die Verwendung von addTTFfont () hat keinen Sinn, wenn Sie nicht über die .ttf-Datei verfügen.

Und der springende Punkt ist: Wenn es KEINE TTF-Datei gibt, wie kann jemand die Funktion addTTFfont () verwenden?

Beispielsweise gibt es keine cid0cs-Datei im Verzeichnis font/(TCPDF 6.0.20), nur cid0cs.php, die NICHT eine Schriftartdatei ist.

0
Ellery Leung

Ich hatte dieses Problem trotz der richtigen Dateien. Ich musste die Dateinamen in Kleinbuchstaben ändern

0
Arindam

In der neuesten Version von tcpdf ..__ konnte ich addTTFFont () nicht finden, jedoch konnte ich eine benutzerdefinierte TTF-Datei selbst hinzufügen. Im tcpdf-Ordner befindet sich ein Ordner mit dem Namen tools, der eine PHP -Datei mit dem Namen tcpdf_addfont.php enthält.

Ich habe es mit meinem Home-Verzeichnis verknüpft (Sie können diesen Schritt auslassen) und es so ausführen: Shell ./addfont.php -b -t TrueTypeUnicode -f 32 -i myfont.ttf

Das ist es, es wird etwas Ähnliches ausgegeben: `` `

Konvertieren von Schriftarten für TCPDF: *** Ausgabeverzeichnis auf /Users/pascalraszyk/XXX/XXX/pdf/vendor/tecnick.com/tcpdf/fonts/.__ eingestellt. +++ OK: /Users/pascalraszyk/XXX/XXX/pdf/myfont.ttf als myfont .__ hinzugefügt. Vorgang erfolgreich abgeschlossen! `` `

Hinweis: Es gibt weitere Beispiele für verschiedene Schriftarten im tools-Ordner . Ich habe Composer zum Auschecken von tcpdf verwendet. 

Solange Sie Ihre Schriftdefinitionsdateien im tcpdf/fonts-Ordner ablegen, sollten Sie sich auf den Weg machen! 

Ich habe HTML2PDF verwendet, das tcpdf unter der Haube verwendet und es wirkt wie ein Zauber. 

0
Pascal Raszyk