2017-08-23 18 views
0

フォントを変更したときにPDFファイルに何が表示されるかに問題があります。PHP、Fpdf解析エラー:AddFont()を使用しているとき

<?php 
session_start(); 
include $_SERVER['DOCUMENT_ROOT'] . "/library/fpdf.php"; 
$pdf = new FPDF('P',"mm",'A4'); 
$pdf->AddPage(); 
$pdf->AddFont('DejaVu','','DejaVuSans-Bold.ttf',true); 
$pdf->SetFont('DejaVu','',14); 
foreach ($_SESSION['settings'] as $settings) { 
    $pdf->Cell(130,5,$settings,1,1); 
} 

$pdf->Output(); 
?> 

は、私は他のファイルとフォントを変更しようと、私は同じようにランダムエラーを得続ける:私はPDFには何も印刷されない場合であっても

Warning: Unexpected character in input:

または

Parse error [my path to the ttf file]

空白のままにしておくと、私はまだAddFontのためにエラーが発生します。

削除すると

$pdf->AddFont('DejaVu','','DejaVuSans-Bold.ttf',true); 
$pdf->SetFont('DejaVu','',14); 

、それが正常に動作します

$pdf->SetFont('Arial','',14); 

と交換してください。

答えて

3

AddFont関数では、フォントファイル自体だけでなく、フォントを使用できる特定のタイプのファイルが必要です。 DejaVuSans-Bold.ttfファイルをアップロードしてhereにアップロードすると、必要な形式に変換されます。

DejaVuSans-Bold.phpDejaVuSans-Bold.zの2つのファイルが生成されます。プロジェクトにこれらの両方をコピーして、次のコードの行を変更:

$pdf->AddFont('DejaVu','','DejaVuSans-Bold.php'); 

following tutorialに新しいフォントを追加する方法の詳細情報があります。

Finally, for TrueType and OpenType fonts, you can also generate the files online instead of doing it manually.

注:あなたが得るかもしれないいくつかの警告それはあなた自身のPCに手動でフォントファイルを生成する方法の詳細を持っている、しかし、あなたのためにそれを行いますオンラインツール(上記のリンク)があります特定の文字が欠落しているとオンラインで変換します。一番下までスクロールすると、変換されたファイルは引き続きダウンロードできますが、PDFに記載されている不足している文字を使用することはできません。

+0

感謝しました。しかし、これの背後にあるアイデアは、私のテキストがUTF-8で動作し、彼らはまだいない...それも私を助けることができますか? – Innervisions

+0

@Innervisions問題はありません:)あなたがUTF-8で動作しないと言っているのは、わかりません。すべての詳細(何が起こると予想されているか、実際に何が起こっているか)と新しい質問を作成する価値があるかもしれませんし、私または他の誰かがそれを手助けすることができます。 – crazyloonybin

+1

私は、私がtfpdf.php(UTF-8用)の言語ではなく、fpdf.phpを使用すると思われる問題を発見しました – Innervisions

関連する問題