Рекомендую попробовать переключиться на библиотеку mPDF . У меня были многочисленные проблемы с библиотекой TCPDF, и большинство из них было решено путем переключения на библиотеку mPDF.
Наилучший способ использовать его, как я обнаружил, - генерировать HTML-документ, включая ваши ресурсы изображений SVG. Он отображает все странные символы Юникода, которые я должен использовать для этого проекта, и не дает мне почти столько же проблем с размещением или рендерингом. Это также активно поддерживается. TCPDF не обновлялся с того, что я могу сказать с 2011 года.
$mPdf = new Mpdf();
Например:
$html .= sprintf('<div id="svgPlot" style="position: fixed; top: %smm;">', $y);
$html .= '<svg> (blob of svg text) </svg>';
$html .= '</div>';
Вы также можете использовать их в HTML-документе следующим образом:
$this->html .= sprintf('<div id="logo" style="left: -9mm; top: %smm; height:45mm; position: fixed;">', strval((int)$y + 1));
$this->html .= sprintf('<img src="%s" alt="LOGO">', $logo); // $logo is resource location on your server for SVG logo file.
$this->html .= '</div>';
Чтобы затем завершить запись, вы должны использовать:
$mPdf->WriteHTML($html);
Тогда:
$mPdf->Output($localFileName, 'D');