mPDF(PHP库)中的SVG

5
在我的php代码中,我使用mPDF库生成PDF。我遇到了将svg插入PDF的问题。我通过POST获取的svg文件:
   $svg = $_POST['structureSVG'];
   $svg_pdf = str_replace('"', '\'', $svg); //change " to '

证明内部内容:

   var_dump($svg_pdf);
    //shows string which contains: 
<svg>...</svg>

在这里,我可以确信SVG被正确捕获。因此,我放置了SVG:

$html = " <div> $svg_pdf </div> ";
$mpdf -> WriteHTML($html);
$mpdf -> Output('pdf/test_svg.pdf', 'I');

很不幸,PDF中未渲染SVG图片。

感谢您的帮助。


你是否阅读了与SVG支持相关的mPDF手册?http://mpdf1.com/manual/index.php?tid=245 没有人能猜测你具体的SVG,你应该阅读所有内容并检查你的SVG,看它是否被支持。 - Kevin Brown
是的,我已经阅读了手册,并为了确保自己已经制作了一个仅包含一个元素<rect>的简单SVG文件。以同样的方式尝试将其插入到我的代码中,但结果却是一样的。 - ZAJDAN
我想在mPDF论坛上交流,但是无法注册账户。有人在mPDF论坛上有账户吗? - ZAJDAN
1个回答

4

您需要像处理常规的<img>标签一样处理SVG。在我看来,最简单的方式是将文件保存到临时目录,然后使用mPDF加载它:

<img src="path/to/the/temp/file.svg">

不幸的是,在版本5.7.4中无法使用数据URI来处理SVG图像。


谢谢您,但我已经停止使用mPDF了,因为存在一个无法解决的问题...当SVG包含几个带有参数'display:none'的图层时,mPDF不会尊重这样的参数。 - ZAJDAN
1
单层SVG在mpdf库中可以正常工作,但是当有多个图层时,它将无法正常工作。最好使用其他库,例如TCPDF、wkhtmltopdf等。 - Keyur Mistry
这节省了我很多时间。谢谢! - peter_the_oak

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接