2016-04-22 2 views
2

Я пытаюсь сгенерировать документ (эта часть работает правильно), которая должна иметь логотип в правом верхнем углу (это не работает).TCPDF SVG не отображается

В чем проблема с моим кодом? Я дважды проверял файл и читаем. Пытался переместить вещи, примеры использования в Google, но все же застрял с TCPDF, не отображая изображение.

$generator = new TCPDF('L', PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); 
// set header and footer fonts 
$generator->setPrintHeader(false); 
$generator->setPrintFooter(false); 
// set margins 
$generator->SetMargins(10, 10, 10); 


$generator->AddPage(); 
$generator->SetFont('helvetica', '', 8); 

$generator->writeHTML($html, true, false, false, false, ''); 

$generator->ImageSVG(
    $file = ('path/to/my/file.svg'), 
    $x = 250, 
    $y = -10, 
    $w = '', 
    $h = 50, 
    $link = '', 
    $align = '', 
    $palign = '', 
    $border = 0, 
    $fitonpage = false); 

return $generator->Output('generated.pdf', 'S'); 

ответ

0

Использование Imagick для создания PNG непосредственно из файла SVG и посмотрите, что открывает OK:

$im = new Imagick('path/to/my/file.svg'); 
$im->setImageFormat('PNG24'); 
$im->writeImage('path/to/my/file.png'); 

Если файл отображается в порядке, я не уверен, что проблема есть. Однако, если этот файл не отображается ОК, проблема может быть в основном SVG-файле. Imagick довольно строг при проверке атрибутов и т. Д. Во входящем SVG-файле, поэтому даже что-то довольно маленькое (например, атрибут, который не должен иметь нулевое значение, имеющее нулевое значение), может привести к сбою.