Я использую tcpdf для создания PDF из HTML. Все работает нормально, и когда я просматриваю PDF файл на своем компьютере, я вижу это просто прекрасно, но по какой-то причине, когда я смотрю на PDF файл на своем iPhone, он отображается пустым. Все, что я вижу, это границы, которые я создал, которые содержат значения в них, но нет значений.
Вот мой код
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 в этот каталог, когда я возьму его позже по электронной почте script и отправит его клиенту.
Изменить: SOLVED
Я обнаружил, что это был шрифт, который я использовал для создания PDF файла. iPhone не может читать dejavusans:) Я изменил его на "времена", и он отлично работает
Изменить: обновить
С этой статьи мне пришлось создать еще много PDF файлов с tcpdf, и пока я не могу объяснить, почему некоторые шрифты не работали, а другие, где я недавно применял некоторые предложения по адресу http://www.tcpdf.org/fonts.php и применяется
$fontname = $pdf->addTTFfont('/path-to-font/DejaVuSans.ttf', 'TrueTypeUnicode', '', 32);
Добавив шрифт вручную и установив путь к файлу шрифта и загрузив файл вручную, я смог получить существующий шрифт, который не работал, и фактически заставить их работать.