我正在使用tcpdf从HTML生成PDF。一切都运行得很好,当我在我的电脑上查看PDF时,我可以很好地看到它,但由于某种原因,当我在我的iPhone上查看PDF时,它显示为空白。我所能看到的是我创建的包含值的边框,但是没有值显示。
以下是我的代码
require_once('/tcpdf/tcpdf/config/lang/eng.php');
require_once('/tcpdf/tcpdf/tcpdf.php');
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
$pdf->setLanguageArray($l);
$pdf->SetFont('dejavusans', '', 10);
$pdf->AddPage();
$html = file_get_contents('http://www.website.com/invoice.php?invoice_id='.$invoice_id);
$pdf->writeHTML($html, true, false, true, false, '');
$pdf->lastPage();
$pdf->Output('/html/admin/emailattachements/invoice.pdf', 'F');
在最后一行。当我稍后使用电子邮件脚本获取PDF并将其发送给客户时,我会将其复制到该目录中。
编辑:已解决
我发现它就是我用来制作PDF的字体。iPhone不能读取dejavusans :)我把它改成了'times‘,它工作得很好
编辑:更新
自从这篇文章以来,我不得不用tcpdf创建了更多的PDF,虽然我真的不能解释为什么有些字体不能工作,而另一些字体我最近在http://www.tcpdf.org/fonts.php上应用了一些建议并应用了
$fontname = $pdf->addTTFfont('/path-to-font/DejaVuSans.ttf', 'TrueTypeUnicode', '', 32);
通过手动添加字体,设置字体文件路径,并手动上传文件,我能够获得不起作用的现有字体,并实际使它们正常工作。
https://stackoverflow.com/questions/14387379
复制相似问题