2015-04-27 40 views
6

Chciałbym dodać niestandardową czcionkę do pdf generuję przy użyciu TCPDF. Być może czegoś mi brakuje, ale wydaje mi się, że the docs jest nieaktualny. Odwołują się one do funkcji addTTFfont(), ale myślę, że została ona wycofana i już nie istnieje w najnowszej wersji TCPDF.Jak dodać niestandardowe czcionki w TCPDF?

czytałem, że trzeba przekonwertować plik ttf i umieścić go w czcionek folderu więc wpadłem:

php/tcpdf/tools/tcpdf_addfont.php -i php/font/rumpelstiltskin-webfont.ttf 

i generowane te pliki, które są teraz w folderze fonts:

rumpelstiltskinwebfont.ctg.z 
rumpelstiltskinwebfont.z 
rumpelstiltskinwebfont.php 

Potem próbowałem dodać czcionki:

$pdf->addFont('rumpelstiltskin'); 
$pdf->SetFont('rumpelstiltskin', '', 14, '', false); 

ale dostaję błąd:

TCPDF ERROR: Could not include font definition file: rumpelstiltskin 
+0

Być może musisz nadać funkcji addFont pełną ścieżkę do plików. Wygląda na to, że nie znajduje pliku. – Loopo

+0

@Loopo To nie była pełna ścieżka, której potrzebowałeś, ale byłeś blisko. Używałem nazwy czcionki i chciałem nazwy pliku. Dzięki za komentarz, pomogło mi to rozgryźć. –

+0

Myślę, że można przejść w ten sposób: http: // stackoverflow.com/questions/5263588/how-to-implementation-custom-fonts-in-tcpdf – Ulugov

Odpowiedz

9

Wymyśliłem mój problem, byłem już prawie na miejscu.

Oto krok po kroku:

najpierw przekonwertować czcionkę za pomocą czcionki narzędzia tcpdf_addfont.php w folderze tools TCPDF:

php/tcpdf/tools/tcpdf_addfont.php -i php/font/rumpelstiltskin-webfont.ttf 

To wygeneruje wymagane pliki i umieścić je w Folder czcionek TCPDF. Sprawdź folder czcionek i skopiuj nazwę czcionki, w moim przypadku była to rumpelstiltskinwebfont.

W kodzie ustawić czcionkę za pomocą nazwy pliku czcionki i napisać wiersz tekstu:

$pdf->SetFont('rumpelstiltskinwebfont', '', 14, '', false); 
$pdf->Write(0, 'Fill text', '', 0, '', true, 0, false, false, 0); 

to wszystko. Mam nadzieję, że to pomaga komuś. :)

+1

rozwiązało mój problem;) – Hafez

0

Otrzymałem tę odpowiedź w another question i rozwiązano dla mnie. Wystarczy użyć pierwszego parametru, ścieżki pliku czcionki. Praca z czcionkami TTF i OTF.

Generuje ciąg nazwa korzystać z $pdf->SetFont($fontname, '', $font_size);

Nadzieję, że to pomaga.


Najnowsza wersja TCPDF automatycznie konwertować czcionki w formacie TCPDF stosując metodę addTTFfont(). Na przykład:

// 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); 

dalszych informacji i przykładów, należy sprawdzić TCPDF Fonts documentation page.

UWAGA: Po przekonwertowaniu czcionki protokół TCPDF nie wymaga już pliku TTF lub powyższego połączenia do addTTFfont()!