私のサイトでは、ユーザーは受け入れたndaを(pdf形式で)印刷できます
何らかの理由で私はPDFを表示することはできません
ここでは論理
最初にルールを書き直す
.htaccess
RewriteRule ^nda/?$ ndapdf.php?useSessionUser=1 [L]
その後、PHP
<?php
$html = file_get_contents("/lib/nda.txt");
$html = str_replace("##user##", $_SESSION["currentUser"]);
$html = str_replace("##date##", date("Y-m-d h:i:s"));
require("/lib/web/tcpdf/config/lang/eng.php");
require("/lib/web/tcpdf/tcpdf.php");
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, "UTF-8", false);
$pdf->SetCreator("mysite");
$pdf->SetAuthor("author_name");
$pdf->SetTitle("NDA");
$pdf->SetSubject("Accepted NDA");
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, "", PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, "", PDF_FONT_SIZE_DATA));
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
$pdf->setLanguageArray(array("w_page" => ""));
$fontname = $p->addTTFfont("/fonts/AveriaSans-light.ttf", "TrueTypeUnicode", "", 32);
$pdf->SetFont("arial", "", 10);
$pdf->AddPage();
$pdf->writeHTML($html, true, false, true, false, "");
$pdf->lastPage();
$pdf->Output("/home/comp/pdf/nda/$currentUser.pdf", "F");
header("Content-Type: application/pdfn");
read("/home/comp/pdf/nda/$currentUser.pdf");
私は得る:
“TCPDFエラー:フォント定義ファイル:AveriaSans-light”を含めることはできませんでした
フォントは次のとおりです。ll/fonts /
-rw-r--r-- 1 root root 85084 2011-11-02 17:51 AveriaSans-Light.ttf
ありがとう
ベストアンサー
問題は、TCPDFのディレクトリ cache
と font
(パスが定数
K_PATH_MAIN
に格納されているフォルダ内にあるデフォルトはTCPDF-ディレクトリです)はあなたのWebサーバによって書き込み可能ではありません。独自の
fonts
ディレクトリをTCPDFで内部的に使用されているものと混同しないでください。
addTTFfont
は最初にTTFファイルを変換し、変換の出力を
fonts
ディレクトリに書き込むため、 fonts
ディレクトリは書き込み可能でなければなりません。後で SetFont
を
“AveriaSans-light”と共に使用すると、これらのファイルをインクルードしようとします。見つからない場合は
“フォント定義ファイルを含めることができませんでした”と失敗します。