web-dev-qa-db-ja.com

TCPDFでカスタムフォントを実装する方法

TCPDFでは、pdfファイルを作成するために選択できるフォントはわずかです。 Tahomaをpdfフォントとして設定したい。 TCPDFにTahomaを含めるにはどうすればよいですか?

41

最新のTCPDFバージョンは、addTTFfont()メソッドを使用してフォントを自動的にTCPDF形式に変換します。例えば:

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

詳細と例については、 TCPDF Fonts documentation page を確認してください。

注:フォントが変換されると、TCPDFはTTFファイルまたは上記のaddTTFfont()!の呼び出しを必要としなくなります。

66
Nicola Asuni

オンラインで非常に優れたツールを発見しました。必要なことは、.ttfファイルをアップロードしてからファイルをダウンロードし、/ fontsフォルダーにコピーすることだけです。

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

23
Yannis

AddTTFfontメソッドはTCPDFメインクラスでは使用できないため、次の方法でうまくいきました。

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

お役に立てれば!

8
psuhas

私はtcpdfやphpについて何も知りませんが、これを見つけました:

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

どうやら、ファイル名ではなく、フォントの名前だけを使用しているようです。


ストライク!

さて、 このページはどうですか 。 TCPDFで使用されるフォントを準備するには、コマンドラインユーティリティとPHPスクリプトを使用してファイルを実行する必要があります。

_$ ttf2ufm -a -F myfont.ttf_

その後:
_$ php -q makefont.php myfont.ttf myfont.ufm_
または
MakeFont(string $fontfile, string $fmfile [, boolean $embedded [, $enc="cp1252" [, $patch=array()]]])

ttf2ufmは、TCPDFと共にTCPDF/fontsディレクトリに配布されます。

3
Mark Storer

以下の行は、urフォントフォルダーに3つのファイルを生成します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);

さて、

次のようなフォントを使用します。

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

-これが何らかの助けになることを願って:)

3
Developer

最初に http://www.xml-convert.com/en/convert-tff-font-to-afm-pfa-fpdf-tcpdf から.php、.afm、.zを作成し、すべてを移動します.ttfファイルを含む同じディレクトリに3つ。それからこれを使用してください:

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

最新のTCPDFはカスタムフォントをサポートしています。

TCPDFでのカスタムフォントの使用に関するドキュメントは、 こちら で読むことができます。

2

AddTTFfontメソッドは少し気味が悪く(おそらく、それほど難しいことではなかったでしょう)、上記のオンラインツールはFPDFで機能しますが、TCPDFが必要とするctg.zファイルが見つかりません。

これは http://fonts.snm-portal.com/ -TCPDFに必要な3つのファイル(.php、.z、.ctg.z)を生成します。 TTFを変換し、3つのファイルをフォントフォルダーにアップロードすると、準備完了です。

2
Craig

私が試されて働いた最良の方法は、TTFフォントをfontsフォルダに入れてから、この定数を使用しますK_PATH_FONTS + FONT NAME

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

フォントをGothamRoundedの標準的な方法で変換できなかったとき、私は別のツールを探していましたが、このツールだけを探していました http://fonts.snm-portal.com/ .

0
revoke

.ttfファイルがない場合、addTTFfont()を使用しても意味がありません。

そして全体のポイントは:NO TTFファイルがある場合、誰かがaddTTFfont()関数を使用するにはどうすればよいですか?

たとえば、font /ディレクトリ(TCPDF 6.0.20)にはcid0csファイルはなく、cid0cs.phpのみがあり、これはフォントファイルではありませんです。

0
Ellery Leung

すべての適切なファイルがあるにもかかわらず、この問題が発生しました。ファイル名をすべて小文字に変更する必要がありました

0
Arindam

Tcpdfの最新リリースでaddTTFFont()を見つけることができませんでした。しかし、自分でカスタムTTFファイルを含めることができました。 tcpdfフォルダー内には、toolsという名前のフォルダーがあり、tcpdf_addfont.phpというPHPファイルが含まれています。

ホームディレクトリにシンボリックリンクし(この手順は省略できます)、次のように実行します:Shell ./addfont.php -b -t TrueTypeUnicode -f 32 -i myfont.ttf

それだけです、これは次のようなものをダンプします: `` `

TCPDF用のフォントの変換:***出力ディレクトリを/Users/pascalraszyk/XXX/XXX/pdf/vendor/tecnick.com/tcpdf/fonts/に設定+++ OK:/ Users/pascalraszyk/XXX/XXX/pdf/myfont myttプロセスとして.ttfが追加されましたプロセスが正常に完了しました! `` `

注:toolsフォルダーには、さまざまなフォントタイプの例がさらにあります。 composerを使用してtcpdfをチェックアウトしました。

フォント定義ファイルをtcpdf/fontsフォルダーに配置する限り、準備は万端です。

ボンネットの下でtcpdfを使用するHTML2PDFを使用しました。

0
Pascal Raszyk