在 php 代码中,我使用mPDF库来生成 PDF。我在将 svg 插入 PDF 时遇到问题我通过 POST 捕获的 svg 文件:
$svg = $_POST['structureSVG'];
$svg_pdf = str_replace('"', '\'', $svg); //change " to '
Run Code Online (Sandbox Code Playgroud)
证明里面有什么:
var_dump($svg_pdf);
//shows string which contains:
<svg>...</svg>
Run Code Online (Sandbox Code Playgroud)
在这里我可以确定 SVG 已正确捕获。所以我把SVG:
$html = " <div> $svg_pdf </div> ";
$mpdf -> WriteHTML($html);
$mpdf -> Output('pdf/test_svg.pdf', 'I');
Run Code Online (Sandbox Code Playgroud)
但不幸的是 SVG 图片没有以 PDF 形式呈现
感谢您的任何帮助
您需要将 SVG 作为常规<img>标签来处理。从我的角度来看,最简单的方法是将文件保存到临时目录,然后用 mPDF 加载它:
<img src="path/to/the/temp/file.svg">
不幸的是,您不能将 data uri 用于 SVG 图像(至少在版本 5.7.4 中)。