8

tcpdf を使用して PDF を動的に作成し、フォントを PDF に埋め込む Web サイトを作成しました。ユーザーは、Arial、Verdana などのさまざまな標準フォントから選択できます。次に、システムはサーバーから直接 ttf フォントを選択し、以下のコードを使用して埋め込みます。そのフォントのテキストは、ほとんどの PDFiPad/iPhone'sビューアで問題なく表示されますが、ビューアでは表示されませんでした。テストとして、Arial.ttf の新しい (ランダムな) バージョンをダウンロードしました (ファイルの違いはわかりませんが、現在は問題なく表示されているようです。

いくつかのフォントに対してこれを行う必要がありますが、フォントが埋め込まれていない原因がわからないため、少し暗い場所で撮影しています。ttf フォントの何が原因で表示されないのか、誰かが知っていますか? 他のビューアで問題なく表示され、Acrobat ドキュメント プロパティに埋め込まれますか?

ありがとう

$fontname = $pdf->addTTFfont('/tcpdf/fonts/custom/'.$ttfFile.'.ttf', 'TrueTypeUnicode', '', 32);

// フォントを使用

$pdf->SetFont($fontname, '', $fontPoints, '', 'false');
4

1 に答える 1

3

$subset のパラメータが間違っています。「false」に設定します(引用符付き)。ブール値の true である必要があります。

    <?php
          ...
          // Wrong
          $pdf->SetFont($fontname, '', $fontPoints, '', 'false');

          // Right
          $pdf->SetFont($fontname, '', $fontPoints, '', true); 
          ...
    ?>

なぜそれが機能するのですか?

サブセットだけでなく、フォント全体を埋め込むためです。トリックは、メソッド $pdf->SetFont() のパラメーター $subset を true に設定することです。

http://www.tcpdf.org/doc/code/classTCPDF.html#a471562985997be1573d387f0aeae6964

PDFは

iPad (IOS 7)、iPhone (IOS 7)、Windows 7、MACOSX 10.9。

私のPDF作成環境

MAC 10.9、PHP 5.3.x、TCPDF v6.0.078 上の Apache 2

ファイル

サンプル PDF とそれを作成するための PHP スクリプト

于 2014-05-22T16:15:31.877 に答える