【问题标题】:TCPDF SVG does not get displayedTCPDF SVG 不显示
【发布时间】:2016-04-22 10:37:14
【问题描述】:

我正在尝试生成一个必须在右上角有一个徽标的文档(这部分工作正常)(这不起作用)。

我的代码有什么问题?我仔细检查了文件是否存在并且可读。试图四处移动,谷歌搜索使用示例,但仍然卡在 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');

【问题讨论】:

    标签: php tcpdf


    【解决方案1】:

    使用 Imagick 直接从 SVG 文件创建一个 PNG,看看是否打开正常:

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

    如果该文件显示正常,我不确定是什么问题。但是,如果该文件未显示 OK,则问题可能出在底层 SVG 文件中。在检查传入 SVG 文件中的属性等时,Imagick 非常严格,因此即使是非常小的东西(例如,不应允许具有空值的属性具有空值)也可能导致它失败。

    【讨论】:

      猜你喜欢
      • 2012-09-04
      • 2017-10-21
      • 2011-07-15
      • 2013-10-07
      • 2012-11-22
      • 2012-01-14
      • 2012-10-15
      • 1970-01-01
      • 2015-02-24
      相关资源
      最近更新 更多