2016-04-22 101 views
2

我想生成一個文件(這部分工作正常),必須在右上角有一個標誌(這是行不通的)。TCPDF SVG不顯示

我的代碼在這裏有什麼問題?我仔細檢查了文件存在並且可讀。試圖移動東西,谷歌搜索使用示例,但仍然堅持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直接從SVG文件中創建一個PNG,看看是否能打開OK:

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

如果該文件顯示OK,我不知道是什麼問題。但是,如果該文件不顯示OK,則問題可能在底層SVG文件中。在傳入的SVG文件中檢查屬性等時,Imagick非常嚴格,所以即使是非常小的屬性(例如,不應允許具有空值的空值)的屬性也可能導致其失敗。