【问题标题】:cannot generate pdf with tcpdf无法使用 tcpdf 生成 pdf
【发布时间】:2011-12-27 22:32:38
【问题描述】:

在我的网站上,用户可以打印(以 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/pdf\n");
read("/home/comp/pdf/nda/$currentUser.pdf");

我明白了:

“TCPD 错误:无法包含字体定义文件:AveriaSans-light”

字体为:ll /fonts/

-rw-r--r-- 1 root root  85084 2011-11-02 17:51 AveriaSans-Light.ttf

谢谢

【问题讨论】:

    标签: php pdf tcpdf


    【解决方案1】:

    我认为问题在于,TCPDF 的目录 cachefonts(位于路径存储在常量 K_PATH_MAIN 中的文件夹中,默认情况下这是 TCPDF 目录)不可写入你的网络服务器。不要将您自己的fonts-目录与TCPDF 内部使用的目录混淆。

    fonts 目录必须是可写的,因为addTTFfont 首先转换 TTF 文件并将转换的输出写入fonts 目录。如果稍后SetFont 与“AveriaSans-light”一起使用,它会尝试包含这些文件,如果找不到,则会失败并显示“无法包含字体定义文件”。

    【讨论】:

      【解决方案2】:

      vstm 是对的,但也可能是因为你有

      -rw-r--r-- 1 root root  85084 2011-11-02 17:51 AveriaSans-Light.ttf
      

      使用 大写 L 并且在您的代码中是 小写 l

      【讨论】:

        猜你喜欢
        • 2015-02-26
        • 2016-09-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多