0

TCPDF ライブラリを使用して、PHP で PDF ファイルを生成しています。カスタム フォントを使用したいので、addTTFfont メソッドを使用してカスタム TrueType フォント ファイルを追加しました。追加しようとしているフォントは、fontsquirrel.com の「Aller」です。

$aller = $pdf->addTTFfont($_SERVER['DOCUMENT_ROOT'].'/includes/fonts/Aller/Aller_Rg.ttf', 'TrueTypeUnicode', '', 32);

これにより、aller_rg.php、aller_rg.ctg.z、および aller_rg.z というファイルが、TCPDF フォント フォルダーに作成されました。K_PATH_FONTS 定数は、このディレクトリを指します。addTTFfont メソッドは、フォントの文字列名を返します。エラーが発生した場合は false を返すため、問題はおそらくここにはありません。

次に、フォントを使用しようとしました

$pdf->SetFont($aller, '', 16); // or $pdf->SetFont('aller_rg', '', 16);
$pdf->Write(0,"abcdefg",'',0,'L',true,0,false,true,0);

pdf はエラーなしで生成されます。ブラウザーのプレビューで表示すると、フォントは明らかに aller ではなく、単なる一般的なサンセリフです。Mac の Preview アプリケーションで PDF を開くと、aller フォントを使用しているセクションは空白です (テキストは表示されません)。

私が間違っていることを知っている人はいますか?

4

2 に答える 2

1

このツールを使用して動作するようになりました

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

.php、.z、および .afm ファイルを生成し、TCPDF フォント ディレクトリに配置します。何が問題だったのかはまだわかりません。addTTFfont() メソッドは .afm ファイルを作成しないので、それだけでしょうか?

于 2013-07-26T21:56:51.587 に答える