nicht generieren von pdf-Dateien mit tcpdf
auf meiner Website, die ein Benutzer drucken kann (in pdf) die nda nahm er
aus irgendeinem Grund kann ich nicht die Anzeige der pdf -
hier die Logik
ersten rewrite-Regel
.htaccess
RewriteRule ^nda/?$ ndapdf.php?useSessionUser=1 [L]
dann die 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");
bekomme ich:
"TCPDF ERROR: could not include font definition file: AveriaSans-Licht"
ist die Schrift: ll /fonts/
-rw-r--r-- 1 root root 85084 2011-11-02 17:51 AveriaSans-Light.ttf
Dank
InformationsquelleAutor Xin Qian Ch'ang | 2011-11-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, das problem ist, dass die Verzeichnisse
cache
undfonts
des TCPDF (mit Wohnsitz in den Ordner, in dem Pfad gespeichert, der in der KonstanteK_PATH_MAIN
standardmäßig ist dies die TCPDF-Verzeichnis) ist nicht beschreibbar durch den webserver. Verwechseln Sie nicht Ihre eigenenfonts
-Verzeichnis mit der TCPDF intern.Den
fonts
Verzeichnis muss schreibbar sein, weiladdTTFfont
erste konvertiert die TTF-Datei und schreibt die Ausgabe der Konvertierung in derfonts
- Verzeichnis. Wenn später aufSetFont
mit "AveriaSans-Licht" versucht es, diese Dateien und schlägt fehl mit "could not include font definition file", wenn Sie nicht gefunden werden.InformationsquelleAutor vstm
vstm ist richtig, aber vielleicht auch, weil Sie
mit Hauptstadt L und in deinem code ist Kleinbuchstaben l
InformationsquelleAutor Tech4Wilco