2014-07-22 53 views
0

我遇到TCPDF問題。使用writeHTML時,我的自定義字體(以及任何其他包含的字體)不起作用。TCPDF SetFont和writeHTML

$tcpdf = tcpdf_get_instance(); 
$fontname = $tcpdf->addTTFfont('/antiquariat/sites/default/files/fonts/tstar-regular-webfont.ttf', 'TrueTypeUnicode', '', 32); 
$tcpdf->SetFont('tstarwebfont', '', 16); 
$tcpdf->writeHTML($html); 

即使使用「helvetica」或任何其他字體,字體也不會更改。 第二件事是,自定義字體根本就沒有生成,但首先我掙扎着,甚至沒有使用任何其他字體。

回答

0

由於沒有人回答我,我沒有得到它想要的,我切換到目前爲止工作得很好的DOMPDF!這不是我正在尋找的解決方案,而是一個工作的解決方案!

0

我有TCPDF 6.2.6。

我發現添加字體是一次性操作,應該使用工具/ tcpdf_addfont.php腳本來完成。字體被轉換並保存到字體目錄中,然後您可以在文檔中按名稱引用字體。

1

這是我做到了使用TCPDF:

  1. 首先,使用此website生成您的PHP文件和.Z文件。
  2. 將這2個文件放在.../tcpdf/fonts文件夾中。
  3. 您將使用PHP名稱文件之一。
  4. 要將字體添加到PDF對象:

    $pdf->AddFont('yourfont1');  //custom font 
    $pdf->AddFont('yourfont2');  //custom font 
    

現在,使用它的WriteHTML內:

$html = ' 
     <style> 
     h1 { 
      font-family: yourfont1; 
      font-size: 40pt; 
      text-align:center; 
     } 

     </style> 


    <h1>Testing FONT</h1> 
    '; 

$pdf->writeHTML($html, true, false, true, false, ''); 
+0

這似乎並不奏效。我仍然需要調用SetFont()來使其工作。請注意,字體確實嵌入了,但CSS根本無法設置字體。 –

+0

我檢查了我的代碼,我注意到我在添加這兩個新的字體後設置了字體,也許你只是需要設置一個默認字體,即使你不打算使用它,例如:'$ pdf-> SetFont('helvetica ','',10);'。 此外,你有沒有遵循我給的每一個步驟?如果您有任何問題,請發佈代碼,以便我可以檢查它。 – Gabriel

+0

我已經試過了。也就是說,TCPDF缺乏功能,所以我切換到wkhtmltopdf。 –