我正在使用 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);
通过手动添加字体并设置字体文件路径并手动上传文件,我能够获得不起作用的现有字体并实际让它们工作。