on my site a user can print (in pdf) the nda he accepted for some reason i cannot display the pdf
here the logic
first rewrite the rule
.htaccess
RewriteRule ^nda/?$ ndapdf.php?useSessionUser=1 [L]
then the 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/pdf\n");
read("/home/comp/pdf/nda/$currentUser.pdf");
i get:
"TCPDF ERROR: Could not include font definition file: AveriaSans-light"
the font is: ll /fonts/
-rw-r--r-- 1 root root 85084 2011-11-02 17:51 AveriaSans-Light.ttf
thanks
I think the problem is, that the directories cache
and fonts
of TCPDF (residing in the folder which path is stored in the constant K_PATH_MAIN
, by default this is the TCPDF-directory) are not writeable by your webserver. Don't confuse your own fonts
-directory with the one used by TCPDF internally.
The fonts
directory has to be writeable because addTTFfont
first converts the TTF-file and writes the output of the conversion in to the fonts
directory. If later on SetFont
is used with "AveriaSans-light" it tries to include those files and fails with "Could not include font definition file" if they are not found.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With